skillfed

pysmartthings

Asynchronous Python client for SmartThings.

pysmartthings v4.0.1 82.8K downloads/30d#14,135 on PyPI154
Permissive license Apache-2.0 Active released

What it is and what it does

pysmartthings is an async-first Python client library for the SmartThings API, designed to let you query and manage SmartThings devices and automations from Python code. It wraps HTTP calls to SmartThings' REST endpoints using aiohttp for non-blocking I/O, making it suitable for integration into async applications, home automation frameworks, and event-driven systems.

The package depends on aiohttp for HTTP transport, mashumaro and orjson for efficient data serialization, and yarl for URL handling. It targets modern Python (3.13+) and is actively maintained with a stable API surface. You would use it when you need programmatic access to SmartThings data in an async context—for example, polling device state, triggering automations, or building a bridge between SmartThings and another system.

Use it for:

  • Fetch current state of SmartThings devices (lights, locks, thermostats) in an async application
  • Build a home automation dashboard that queries SmartThings for real-time device status
  • Integrate SmartThings with another home automation platform or custom orchestration system
  • Monitor device events and trigger external actions based on SmartThings state changes
  • Develop a bot or service that controls SmartThings devices via API calls

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Asynchronous Python client for fetching data from and interacting with SmartThings devices and services via their API.

Yes. The package is actively maintained, has low install friction, carries a permissive license, and fills a clear need for async SmartThings API access in Python. It supports current Python versions and has no known vulnerabilities. Install it if you need to integrate SmartThings into an async Python application.

Install

pysmartthings on PyPI

pip

pip install pysmartthings

uv

uv add pysmartthings

poetry

poetry add pysmartthings

Installing pysmartthings

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained with a release 70 days ago and recent commits; requires Python 3.13 or later.

License in practice

Licensed under Apache-2.0 (permissive), allowing use in most commercial and open-source projects without significant restrictions.

Quickstart

pip install pysmartthings

import aiohttp
from pysmartthings import SmartThings

async with aiohttp.ClientSession() as session:
    api = SmartThings(session, token='your_token')
    devices = await api.devices()

Requires Python 3.13 or later; requires an active SmartThings API token for authentication.

Verify before relying

  • Specific SmartThings API endpoints and device types supported by version 4.0.1
  • Whether rate limiting or throttling is built in or handled by the caller
  • Authentication flow details and token management patterns

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (<4,>=3.13)
Install friction low — pure-Python wheel
Runtime dependencies 4 — aiohttp, mashumaro, orjson, yarl
Maintenance actively maintained — 70 days since the last release
Last repo commit
First released
Downloads 82,772/month — #14,135 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pysmartthings-4.0.1-py3-none-any.whl

Keywords: api, async, client, smartthings

Development Status :: 5 - Production/StableFramework :: AsyncIOIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Home AutomationTopic :: Software Development :: Libraries :: Python Modules

Tags

smartthings api clientasync smartthings pythonsmartthings device controlhome automation smartthingssmartthings integrationasync iot clientsmartthings data fetch
home-automationasync-iosmartthings-api

More Python Modules packages