Metadata-Version: 2.1
Name: fritzconnection
Version: 1.11.0
Summary: Communicate with the AVM FRITZ!Box
Home-page: https://github.com/kbr/fritzconnection
Author: Klaus Bremer
Author-email: bremer@bremer-media.com
License: MIT
Keywords: AVM FRITZ!Box fritzbox fritz
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >= 3.6
Provides-Extra: qr
License-File: LICENSE.txt


===============
fritzconnection
===============


.. image::
    https://img.shields.io/pypi/pyversions/fritzconnection.svg
    :alt: Python versions
    :target: https://pypi.org/project/fritzconnection/

.. image::
    https://img.shields.io/pypi/l/fritzconnection.svg
    :target: https://pypi.org/project/fritzconnection/


Python-Tool to communicate with the AVM Fritz!Box.
Uses the TR-064 protocol over UPnP.

Installation:
-------------

For installation use pip ::

    $ pip install fritzconnection
      or
    $ pip install fritzconnection[qr]

The latter will install the dependency to enable QR-code creation for wifi login.

Quickstart:
-----------

Using fritzconnection is as easy as: ::

    from fritzconnection import FritzConnection

    fc = FritzConnection(address='192.168.178.1')
    fc.reconnect()  # get a new external ip from the provider
    print(fc)  # print router model informations

Here the *fc.reconnect()* is a shortcut. The basic method FritzConnection provides to access the FritzOS-API is the *call_action()* method. A reconnection by means of *call_action()* would look like this: ::

    fc = FritzConnection(address='192.168.178.1')
    fc.call_action("WANIPConn1", "ForceTermination")

The method *call_action()* expects a service- and an action-name (and optional arguments). In general FritzConnection can execute every service and action provided by the (model-specific) API as documented by AVM. For i.e. this can be network settings, status informations, access to home automation devices and much more. In case a call to the FritzOS-API provides information the *call_action()* method returns a dictionary with the results.

The package comes with some library-modules as examples how to implement applications on top of FritzConnection.


Documentation
-------------

The full documentation and release notes are at https://fritzconnection.readthedocs.org


