vilfo-api-client


Namevilfo-api-client JSON
Version 0.5.0 PyPI version JSON
download
home_pagehttps://github.com/mannew/vilfo-api-client-python
SummarySimple wrapper client for the Vilfo router API
upload_time2024-03-23 19:58:31
maintainerNone
docs_urlNone
authorEmanuel Winblad
requires_pythonNone
licenseMIT License
keywords vilfo router
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # vilfo-api-client-python

This is the initial version of a python module and API client for the Vilfo router. The module is targeted towards compatibility with Python3.

Currently, the client is quite limited but will be extended with support for additional endpoints over time.

See `vilfo/client.py` for additional information about available methods. A short usage example is available in this README as well.

## Legal Disclaimer

Please note that this software is not affiliated with Vilfo AB, is not an official client for the Vilfo router API and the developers take no legal responsibility for the functionality or security of your Vilfo router. Support is only offered on a community basis.

## Information about the Vilfo router and API

You can find more information about the Vilfo router on [www.vilfo.com](https://www.vilfo.com/).

From there you can also find information about the API in the form of the official API documentation: https://www.vilfo.com/apidocs/

## Installation

The preferred installation method is by using `pip`:

`pip install vilfo-api-client`

## Usage

The API client is available through the class `vilfo.Client`. To establish a connection and make the API calls, you will need the **hostname or IP of your router** (`admin.vilfo.com` is the default one) as well as an **API access token**.

### Obtaining an access token

Information about how to get an access token is described in the official API documentation: https://www.vilfo.com/apidocs/#header-authorization

**Note:** In version 1.0.13 of the Vilfo firmware, access tokens are invalidated when a new login to the web UI is made. To prevent web UI logins from interfering with the API calls, you can create a separate user solely for API purposes and use its access token.

### Creating the client and making calls

This is a basic sample of how you can use the `vilfo-api-client`.

```python
import vilfo

client = vilfo.Client(
    host='admin.vilfo.com',
    token='YOUR_ACCESS_TOKEN'
)

# Ping to check if router is online
result = client.ping()
print(result)

try:
    # Get the last reported load
    result = client.get_load()
    print(result)

    # Get a list of all devices
    result = client.get_devices()
    print(result)

    # Get a boolean indicating if a device is online or not
    result = client.is_device_online(
        mac_address='08:00:27:8e:ac:31'
    )
    print(result)

    # Get detailed information about a specific device
    result = client.get_device(
        mac_address='08:00:27:8e:ac:31'
    )
    print(result)

except vilfo.exceptions.AuthenticationException:
    print("Authentication Exception")
```

### Exceptions and error handling

The `vilfo-api-client` library defines a set of exceptions that can be used to handle errors. These exception classes are located under `vilfo.exceptions`.

*Additional information about the exceptions will be added and exception and error handling will be improved further.*

## Changelog

### Version 0.3.1

Minor adjustment in Client constructor to allow for better mocking during testing.

### Version 0.3

Initial stable release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mannew/vilfo-api-client-python",
    "name": "vilfo-api-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "vilfo, router",
    "author": "Emanuel Winblad",
    "author_email": "winblad@protonmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e9/56/201d04ef265a0fd267169863192b2f431de6d33a154272779aac312429d6/vilfo-api-client-0.5.0.tar.gz",
    "platform": null,
    "description": "# vilfo-api-client-python\n\nThis is the initial version of a python module and API client for the Vilfo router. The module is targeted towards compatibility with Python3.\n\nCurrently, the client is quite limited but will be extended with support for additional endpoints over time.\n\nSee `vilfo/client.py` for additional information about available methods. A short usage example is available in this README as well.\n\n## Legal Disclaimer\n\nPlease note that this software is not affiliated with Vilfo AB, is not an official client for the Vilfo router API and the developers take no legal responsibility for the functionality or security of your Vilfo router. Support is only offered on a community basis.\n\n## Information about the Vilfo router and API\n\nYou can find more information about the Vilfo router on [www.vilfo.com](https://www.vilfo.com/).\n\nFrom there you can also find information about the API in the form of the official API documentation: https://www.vilfo.com/apidocs/\n\n## Installation\n\nThe preferred installation method is by using `pip`:\n\n`pip install vilfo-api-client`\n\n## Usage\n\nThe API client is available through the class `vilfo.Client`. To establish a connection and make the API calls, you will need the **hostname or IP of your router** (`admin.vilfo.com` is the default one) as well as an **API access token**.\n\n### Obtaining an access token\n\nInformation about how to get an access token is described in the official API documentation: https://www.vilfo.com/apidocs/#header-authorization\n\n**Note:** In version 1.0.13 of the Vilfo firmware, access tokens are invalidated when a new login to the web UI is made. To prevent web UI logins from interfering with the API calls, you can create a separate user solely for API purposes and use its access token.\n\n### Creating the client and making calls\n\nThis is a basic sample of how you can use the `vilfo-api-client`.\n\n```python\nimport vilfo\n\nclient = vilfo.Client(\n    host='admin.vilfo.com',\n    token='YOUR_ACCESS_TOKEN'\n)\n\n# Ping to check if router is online\nresult = client.ping()\nprint(result)\n\ntry:\n    # Get the last reported load\n    result = client.get_load()\n    print(result)\n\n    # Get a list of all devices\n    result = client.get_devices()\n    print(result)\n\n    # Get a boolean indicating if a device is online or not\n    result = client.is_device_online(\n        mac_address='08:00:27:8e:ac:31'\n    )\n    print(result)\n\n    # Get detailed information about a specific device\n    result = client.get_device(\n        mac_address='08:00:27:8e:ac:31'\n    )\n    print(result)\n\nexcept vilfo.exceptions.AuthenticationException:\n    print(\"Authentication Exception\")\n```\n\n### Exceptions and error handling\n\nThe `vilfo-api-client` library defines a set of exceptions that can be used to handle errors. These exception classes are located under `vilfo.exceptions`.\n\n*Additional information about the exceptions will be added and exception and error handling will be improved further.*\n\n## Changelog\n\n### Version 0.3.1\n\nMinor adjustment in Client constructor to allow for better mocking during testing.\n\n### Version 0.3\n\nInitial stable release.\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Simple wrapper client for the Vilfo router API",
    "version": "0.5.0",
    "project_urls": {
        "Homepage": "https://github.com/mannew/vilfo-api-client-python"
    },
    "split_keywords": [
        "vilfo",
        " router"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a045c22d9c0262b27473dc887d1fe2183e5e45205c1b5bf1d0258357903068e",
                "md5": "3d7d1d00e8ab6976a8f5d446e6db1628",
                "sha256": "c1c551559c9015700dcb8021adac907f7990fb468daa8797feb9f643e0dbbedd"
            },
            "downloads": -1,
            "filename": "vilfo_api_client-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3d7d1d00e8ab6976a8f5d446e6db1628",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 6575,
            "upload_time": "2024-03-23T19:58:30",
            "upload_time_iso_8601": "2024-03-23T19:58:30.078266Z",
            "url": "https://files.pythonhosted.org/packages/2a/04/5c22d9c0262b27473dc887d1fe2183e5e45205c1b5bf1d0258357903068e/vilfo_api_client-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e956201d04ef265a0fd267169863192b2f431de6d33a154272779aac312429d6",
                "md5": "4cc3e958b46800e3ed448865468bf436",
                "sha256": "9bae7c4385ac894e20b171f5f96a602f0dc4d00d8c0528347fa1d5401c40e54a"
            },
            "downloads": -1,
            "filename": "vilfo-api-client-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "4cc3e958b46800e3ed448865468bf436",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14870,
            "upload_time": "2024-03-23T19:58:31",
            "upload_time_iso_8601": "2024-03-23T19:58:31.814065Z",
            "url": "https://files.pythonhosted.org/packages/e9/56/201d04ef265a0fd267169863192b2f431de6d33a154272779aac312429d6/vilfo-api-client-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-23 19:58:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mannew",
    "github_project": "vilfo-api-client-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "vilfo-api-client"
}
        
Elapsed time: 0.21090s