GitPedia

Pysmartthings

A python library for interacting with the SmartThings cloud API build with asyncio and aiohttp.

From pySmartThings·Updated June 28, 2026·View on GitHub·

[![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.

Latest release: v4.0.1
June 5, 2026View Changelog →

Python: SmartThings

GitHub Release
Python Versions
Project Stage
Project Maintenance
License

Build Status
Code Coverage
Code Smells

Asynchronous Python client for SmartThings.

About

This package allows you to fetch data from SmartThings.

Installation

bash
pip 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:

bash
npm 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:

bash
uv run pre-commit run --all-files

To run just the Python tests:

bash
uv 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.

View all contributors on GitHub →

This article is auto-generated from pySmartThings/pysmartthings via the GitHub API.Last fetched: 6/28/2026