A Python API for accessing the Shelly devices.
Project description
shelly-cloud
A python library to access the Shelly cloud API. Refer also to the Shelly API Docs. This repo provides functionality for:
- Getting devices status
- Getting the status of a single device
- Getting a list of device IDs
Installing the library locally
Python 3 is recommended for this project.
python -m pip install -e .
This is needed for the first time when working with the library/examples/tests.
Example usage
SHELLY_API_URL="https://HOST:PORT" SHELLY_API_TOKEN="REPLACE_ME" python3 examples/simple.py
or
from shellyapi.shellyapi import ShellyApi
shelly = ShellyApi('provide_api_url', 'provide_api_token')
# or you can define additional optional parameters
# shelly = ShellyApi('provide_api_url', 'provide_api_token', timeout=10)
print(shelly.get_device_ids())
Development
Installing required pip packages
python pip install -r requirenments.txt
pre-commit install -t pre-push
Linting
pylint shellyapi/*.py tests/*.py examples/*.py
Unit testing
pytest tests/*.py
# show logs
pytest -o log_cli=true
# code coverage
pytest --durations=10 --cov-report term-missing --cov=shellyapi tests
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shelly-cloud-0.2.0.tar.gz
(16.8 kB
view details)
Built Distribution
File details
Details for the file shelly-cloud-0.2.0.tar.gz
.
File metadata
- Download URL: shelly-cloud-0.2.0.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eea9e2dcdf358dcc43dbed80ed5ef72c2170da357570ab9537aa70fc0173215e |
|
MD5 | 2d55bc984a9ef65d507fe69375d5a98c |
|
BLAKE2b-256 | df41054f8df8d2b2b2fda1c7e92ee53245f65823a740d75716c3552a96aa7694 |
File details
Details for the file shelly_cloud-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: shelly_cloud-0.2.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8346e787ecc686727467b0c192b2cc1cd7ac6e521016715ec39be40bdcf1ba0a |
|
MD5 | c1c950bcd503ede39947df14f05f2483 |
|
BLAKE2b-256 | 7aa7489233038d06785c30b522fc339b9729ccb3d9806d3d3dea36f264bc08ef |