freebox-api
===========
|PyPI| |GitHub Release| |Python Version| |License|
|Read the Docs| |Tests| |Codecov| |GitHub Activity|
|pre-commit| |Black|
.. |PyPI| image:: https://img.shields.io/pypi/v/freebox-api.svg
:target: https://pypi.org/project/freebox-api/
:alt: PyPI
.. |GitHub Release| image:: https://img.shields.io/github/release/hacf-fr/freebox-api.svg
:target: https://github.com/hacf-fr/freebox-api/releases
:alt: GitHub Release
.. |Python Version| image:: https://img.shields.io/pypi/pyversions/freebox-api
:target: https://pypi.org/project/freebox-api
:alt: Python Version
.. |License| image:: https://img.shields.io/pypi/l/freebox-api
:target: https://opensource.org/licenses/GPL-3.0
:alt: License
.. |Read the Docs| image:: https://img.shields.io/readthedocs/freebox-api/latest.svg?label=Read%20the%20Docs
:target: https://freebox-api.readthedocs.io/
:alt: Read the documentation at https://freebox-api.readthedocs.io/
.. |Tests| image:: https://github.com/hacf-fr/freebox-api/workflows/Tests/badge.svg
:target: https://github.com/hacf-fr/freebox-api/actions?workflow=Tests
:alt: Tests
.. |Codecov| image:: https://codecov.io/gh/hacf-fr/freebox-api/branch/master/graph/badge.svg
:target: https://codecov.io/gh/hacf-fr/freebox-api
:alt: Codecov
.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
:target: https://github.com/pre-commit/pre-commit
:alt: pre-commit
.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Black
.. |GitHub Activity| image:: https://img.shields.io/github/commit-activity/y/hacf-fr/freebox-api.svg
:target: https://github.com/hacf-fr/freebox-api/commits/master
:alt: GitHub Activity
Features
--------
Easily manage your freebox in Python using the Freebox OS API.
Check your calls, manage your contacts, configure your dhcp, disable your wifi, monitor your LAN activity and many others, on LAN or remotely.
freebox-api is a python library implementing the freebox OS API. It handles the authentication process and provides a raw access to the freebox API in an asynchronous manner.
This project is based on fstercq/freepybox, which provides the same features as freebox-api in a synchronous manner.
Requirements
------------
* TODO
Installation
------------
You can install *freebox-api* via pip_ from PyPI_:
.. code:: console
$ pip install freebox-api
Or manually download the last version from github and install it with Poetry_
.. code:: console
$ git clone https://github.com/hacf-fr/freebox-api.git
$ python poetry install
.. _Poetry: https://python-poetry.org/
Usage
-----
.. code:: python
# Import the freebox-api package.
from freebox_api import Freepybox
async def reboot()
# Instantiate the Freepybox class using default options.
fbx = Freepybox()
# Connect to the freebox with default options.
# Be ready to authorize the application on the Freebox.
await fbx.open('192.168.0.254')
# Do something useful, rebooting your freebox for example.
await fbx.system.reboot()
# Properly close the session.
await fbx.close()
Have a look at the example.py_ for a more complete overview.
.. _example.py: tests/example.py
Notes on HTTPS
--------------
When you access a Freebox with its default-assigned domain (ending in ``fbxos.fr``), the library verifies its
certificate by automatically trusting the Freebox certificate authority. If you want to avoid this, you can
`setup a custom domain name`_ which will be associated with a Let's Encrypt certificate.
.. _setup a custom domain name: https://www.freenews.fr/freenews-edition-nationale-299/freebox-9/lacces-distant-a-freebox-os-sameliore-https
Resources
---------
Freebox OS API documentation : http://dev.freebox.fr/sdk/os/
Contributing
------------
Contributions are very welcome.
To learn more, see the `Contributor Guide`_.
License
-------
Distributed under the terms of the `GNU GPL v3`_ license,
*freebox-api* is free and open source software.
Issues
------
If you encounter any problems,
please `file an issue`_ along with a detailed description.
Credits
-------
This project was generated from `@cjolowicz`_'s `Hypermodern Python Cookiecutter`_ template.
.. _@cjolowicz: https://github.com/cjolowicz
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _GNU GPL v3: https://opensource.org/licenses/GPL-3.0
.. _PyPI: https://pypi.org/
.. _Hypermodern Python Cookiecutter: https://github.com/cjolowicz/cookiecutter-hypermodern-python
.. _file an issue: https://github.com/hacf-fr/freebox-api/issues
.. _pip: https://pip.pypa.io/
.. github-only
.. _Contributor Guide: CONTRIBUTING.rst
Raw data
{
"_id": null,
"home_page": "https://github.com/hacf-fr/freebox-api",
"name": "freebox-api",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0.0,>=3.8.18",
"maintainer_email": null,
"keywords": "freebox",
"author": "stilllman",
"author_email": "luc_touraille@yahoo.fr",
"download_url": "https://files.pythonhosted.org/packages/92/f3/5be18ac9cc4e1064b5184c78cf7ceb73b7e9ae4e811b9686caff1b98967a/freebox_api-1.2.0.tar.gz",
"platform": null,
"description": "freebox-api\n===========\n\n|PyPI| |GitHub Release| |Python Version| |License|\n\n|Read the Docs| |Tests| |Codecov| |GitHub Activity|\n\n|pre-commit| |Black|\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/freebox-api.svg\n :target: https://pypi.org/project/freebox-api/\n :alt: PyPI\n.. |GitHub Release| image:: https://img.shields.io/github/release/hacf-fr/freebox-api.svg\n :target: https://github.com/hacf-fr/freebox-api/releases\n :alt: GitHub Release\n.. |Python Version| image:: https://img.shields.io/pypi/pyversions/freebox-api\n :target: https://pypi.org/project/freebox-api\n :alt: Python Version\n.. |License| image:: https://img.shields.io/pypi/l/freebox-api\n :target: https://opensource.org/licenses/GPL-3.0\n :alt: License\n.. |Read the Docs| image:: https://img.shields.io/readthedocs/freebox-api/latest.svg?label=Read%20the%20Docs\n :target: https://freebox-api.readthedocs.io/\n :alt: Read the documentation at https://freebox-api.readthedocs.io/\n.. |Tests| image:: https://github.com/hacf-fr/freebox-api/workflows/Tests/badge.svg\n :target: https://github.com/hacf-fr/freebox-api/actions?workflow=Tests\n :alt: Tests\n.. |Codecov| image:: https://codecov.io/gh/hacf-fr/freebox-api/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/hacf-fr/freebox-api\n :alt: Codecov\n.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white\n :target: https://github.com/pre-commit/pre-commit\n :alt: pre-commit\n.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/psf/black\n :alt: Black\n.. |GitHub Activity| image:: https://img.shields.io/github/commit-activity/y/hacf-fr/freebox-api.svg\n :target: https://github.com/hacf-fr/freebox-api/commits/master\n :alt: GitHub Activity\n\n\nFeatures\n--------\n\nEasily manage your freebox in Python using the Freebox OS API.\nCheck your calls, manage your contacts, configure your dhcp, disable your wifi, monitor your LAN activity and many others, on LAN or remotely.\n\nfreebox-api is a python library implementing the freebox OS API. It handles the authentication process and provides a raw access to the freebox API in an asynchronous manner.\n\nThis project is based on fstercq/freepybox, which provides the same features as freebox-api in a synchronous manner.\n\n\nRequirements\n------------\n\n* TODO\n\n\nInstallation\n------------\n\nYou can install *freebox-api* via pip_ from PyPI_:\n\n.. code:: console\n\n $ pip install freebox-api\n\nOr manually download the last version from github and install it with Poetry_\n\n.. code:: console\n\n $ git clone https://github.com/hacf-fr/freebox-api.git\n $ python poetry install\n\n.. _Poetry: https://python-poetry.org/\n\n\n\nUsage\n-----\n\n.. code:: python\n\n # Import the freebox-api package.\n from freebox_api import Freepybox\n\n async def reboot()\n # Instantiate the Freepybox class using default options.\n fbx = Freepybox()\n\n # Connect to the freebox with default options.\n # Be ready to authorize the application on the Freebox.\n await fbx.open('192.168.0.254')\n\n # Do something useful, rebooting your freebox for example.\n await fbx.system.reboot()\n\n # Properly close the session.\n await fbx.close()\n\nHave a look at the example.py_ for a more complete overview.\n\n.. _example.py: tests/example.py\n\nNotes on HTTPS\n--------------\n\nWhen you access a Freebox with its default-assigned domain (ending in ``fbxos.fr``), the library verifies its\ncertificate by automatically trusting the Freebox certificate authority. If you want to avoid this, you can\n`setup a custom domain name`_ which will be associated with a Let's Encrypt certificate.\n\n.. _setup a custom domain name: https://www.freenews.fr/freenews-edition-nationale-299/freebox-9/lacces-distant-a-freebox-os-sameliore-https\n\n\nResources\n---------\n\nFreebox OS API documentation : http://dev.freebox.fr/sdk/os/\n\n\nContributing\n------------\n\nContributions are very welcome.\nTo learn more, see the `Contributor Guide`_.\n\n\nLicense\n-------\n\nDistributed under the terms of the `GNU GPL v3`_ license,\n*freebox-api* is free and open source software.\n\n\nIssues\n------\n\nIf you encounter any problems,\nplease `file an issue`_ along with a detailed description.\n\n\nCredits\n-------\n\nThis project was generated from `@cjolowicz`_'s `Hypermodern Python Cookiecutter`_ template.\n\n\n.. _@cjolowicz: https://github.com/cjolowicz\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _GNU GPL v3: https://opensource.org/licenses/GPL-3.0\n.. _PyPI: https://pypi.org/\n.. _Hypermodern Python Cookiecutter: https://github.com/cjolowicz/cookiecutter-hypermodern-python\n.. _file an issue: https://github.com/hacf-fr/freebox-api/issues\n.. _pip: https://pip.pypa.io/\n.. github-only\n.. _Contributor Guide: CONTRIBUTING.rst\n\n",
"bugtrack_url": null,
"license": "GNU GPL v3",
"summary": "Provides asynchronous authentication and access to Freebox servers",
"version": "1.2.0",
"project_urls": {
"Changelog": "https://github.com/hacf-fr/freebox-api/releases",
"Documentation": "https://freebox-api.readthedocs.io",
"Homepage": "https://github.com/hacf-fr/freebox-api",
"Repository": "https://github.com/hacf-fr/freebox-api"
},
"split_keywords": [
"freebox"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d49d20ca4b416880a793c817083b1f69e6612bc97e135f2a0a74c6c6324f75c6",
"md5": "75ce6b194c5f0dfa879df743b4eaab05",
"sha256": "f3aded737ea96e286b42a8ed3922ad2e369ac5386ed226234ea94ca24c19dead"
},
"downloads": -1,
"filename": "freebox_api-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "75ce6b194c5f0dfa879df743b4eaab05",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.8.18",
"size": 48483,
"upload_time": "2024-12-17T20:43:24",
"upload_time_iso_8601": "2024-12-17T20:43:24.728420Z",
"url": "https://files.pythonhosted.org/packages/d4/9d/20ca4b416880a793c817083b1f69e6612bc97e135f2a0a74c6c6324f75c6/freebox_api-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "92f35be18ac9cc4e1064b5184c78cf7ceb73b7e9ae4e811b9686caff1b98967a",
"md5": "982cba5732be3b42022aca9eefe50220",
"sha256": "31b1c677e55afddcd9642d0aa481fc4daf19db7851ce23abe09c0f96ce32c1cc"
},
"downloads": -1,
"filename": "freebox_api-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "982cba5732be3b42022aca9eefe50220",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.8.18",
"size": 39849,
"upload_time": "2024-12-17T20:43:27",
"upload_time_iso_8601": "2024-12-17T20:43:27.234276Z",
"url": "https://files.pythonhosted.org/packages/92/f3/5be18ac9cc4e1064b5184c78cf7ceb73b7e9ae4e811b9686caff1b98967a/freebox_api-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-17 20:43:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hacf-fr",
"github_project": "freebox-api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "freebox-api"
}