seam
SDK for the Seam API written in Python.
What it is and what it does
Seam is the official Python SDK for the Seam API, a platform for integrating IoT devices—primarily smart locks and access control systems—into applications. The SDK provides a fully typed, auto-generated client that mirrors the Seam API's structure, ensuring method signatures, request shapes, and response types stay synchronized with the live API. It handles authentication via API key or personal access token, manages pagination across list endpoints, and includes built-in support for tracking asynchronous operations (action attempts) with configurable polling and timeout behavior.
The SDK is designed for server-side use and abstracts away HTTP details by wrapping httpx and svix dependencies. It supports common workflows like listing devices, unlocking doors, and retrieving device state, while also providing lower-level access for advanced use cases. The library includes explicit null handling to distinguish between omitted and explicitly unset parameters, and offers options to configure request timeouts, retry behavior, and the underlying HTTP client.
Use it for:
- List and query smart locks or other IoT devices in a workspace to display their current state in an application.
- Unlock a door or trigger other device actions and wait for the operation to complete with automatic polling and error handling.
- Manage device metadata and configuration by updating device properties with explicit null support to unset values.
- Paginate through large lists of devices or access logs without manually handling cursor management.
- Authenticate as a Seam Console user with a personal access token to perform multi-workspace operations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Official Python SDK for the Seam API that integrates IoT devices with applications through a fully typed, generated client with built-in support for asynchronous action tracking and pagination.
Yes. The SDK is actively maintained, has no known vulnerabilities, requires only standard HTTP dependencies, and is MIT-licensed. Install it if you need to integrate Seam IoT devices into a Python application. The main constraint is a Python 3.11+ requirement; if your project targets an older version, you cannot use this package.
Install
seam on PyPI
pip
pip install seamuv
uv add seampoetry
poetry add seamInstalling seam
Before you install
Low friction installation with a pure Python wheel. Actively maintained with a release on 2026-08-14. Requires Python 3.11 or later. Three runtime dependencies (httpx, httpx-retries, svix) are standard HTTP and API client libraries.
License in practice
MIT license permits commercial and private use with minimal restrictions. You may use, modify, and distribute the package freely provided you include the license notice.
Quickstart
pip install seam
from seam import Seam
seam = Seam(api_key="your-api-key")
devices = seam.devices.list()
lock = seam.locks.get(name="Front Door")
seam.locks.unlock_door(device_id=lock.device_id)
Requires Python 3.11 or later. Seam API credentials (API key or personal access token) must be provided or set in environment variables (SEAM_API_KEY or SEAM_PERSONAL_ACCESS_TOKEN).
Verify before relying
- Whether the SDK supports all current Seam API endpoints or if some features require direct API calls.
- Performance characteristics when polling action attempts with high timeout or low polling_interval values.
- Compatibility with async/await patterns or if the SDK is synchronous-only.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — httpx, httpx-retries, svix |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 117,914/month — #12,143 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: seam-3.2.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
bond-asyncAsynchronous Python wrapper for the Bond Local…
permissive · top 15,000 on PyPI
meross-iotA Python library for controlling Meross IoT…
permissive · top 15,000 on PyPI
jaraco.abodeA Python library that interfaces with the Abode…
permissive · top 15,000 on PyPI
switchbot-apiAn async Python library for controlling…
permissive · top 15,000 on PyPI
pyschlagepyschlage is a Python library for…
permissive · top 15,000 on PyPI
tinytuyaControls and monitors Tuya WiFi smart devices…
permissive · top 15,000 on PyPI
py-unifi-accessAsync Python client for UniFi Access local API…
permissive · top 15,000 on PyPI
govee-bleProvides Python bindings to discover, connect…
permissive · top 15,000 on PyPI
bruntPython SDK for controlling Brunt motorized…
permissive · top 15,000 on PyPI
atprotoPython SDK for the AT Protocol that provides…
permissive · top 5,000 on PyPI