Skip to main content

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 hashes)

Uploaded Source

Built Distribution

shelly_cloud-0.2.0-py3-none-any.whl (17.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page