Pysmartthings
A python library for interacting with the SmartThings cloud API build with asyncio and aiohttp.
[![GitHub Release][releases-shield]][releases] [![Python Versions][python-versions-shield]][pypi] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield] [ The project is written primarily in Python, distributed under the Apache License 2.0 license, first published in 2018. Key topics include: home-automation, internet-of-things, iot, python, smartthings.
Python: SmartThings
Asynchronous Python client for SmartThings.
About
This package allows you to fetch data from SmartThings.
Installation
bashpip install pysmartthings
Changelog & Releases
This repository keeps a change log using GitHub's releases
functionality. The format of the log is based on
Keep a Changelog.
Releases are based on Semantic Versioning, and use the format
of MAJOR.MINOR.PATCH. In a nutshell, the version will be incremented
based on the following:
MAJOR: Incompatible or major changes.MINOR: Backwards-compatible new features and enhancements.PATCH: Backwards-compatible bugfixes and package updates.
Contributing
This is an active open-source project. We are always open to people who want to
use the code or contribute to it.
We've set up a separate document for our
contribution guidelines.
Thank you for being involved! :heart_eyes:
Community
For community support and discussions, join the SmartThings Integrations community on Discord.
Setting up development environment
This Python project is fully managed using the uv dependency manager. But also relies on the use of NodeJS for certain checks during development.
You need at least:
- Python 3.13+
- uv
- NodeJS 12+ (including NPM)
To install all packages, including all development requirements:
bashnpm install uv sync --all-groups
As this repository uses the pre-commit framework, all changes
are linted and tested with each commit. You can run all checks and tests
manually, using the following command:
bashuv run pre-commit run --all-files
To run just the Python tests:
bashuv run pytest
Authors & contributors
For a full list of all authors and contributors,
check the contributor's page.
License
Licensed under the Apache License, Version 2.0, as found in the LICENSE file.
Contributors
Showing top 12 contributors by commit count.
