python-otbr-api
API to interact with an OTBR via its REST API
What it is and what it does
python-otbr-api is a client library for communicating with an OpenThread Border Router (OTBR) device over its REST API. It abstracts the HTTP layer and provides Python objects and methods to query device state, manage Thread network settings, and control border router behavior programmatically.
The package is built on aiohttp for async HTTP communication and includes cryptographic utilities (via cryptography and bitstruct) for handling Thread network data. It's designed for integration into larger systems that need to monitor or control Thread networks through a border router. The library requires Python >= 3.11.0 and assumes an OTBR instance is already deployed and accessible over the network.
Use it for:
- Monitor Thread network topology and device status from a Python application or automation system.
- Programmatically configure Thread network parameters on an OTBR instance.
- Integrate Thread device control into home automation platforms.
- Query OTBR diagnostics and statistics for network health monitoring or logging.
- Build custom management tools that aggregate data from Thread networks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python client to interact with an OpenThread Border Router (OTBR) via its REST API, enabling programmatic control and monitoring of Thread network devices.
Yes, if you need to control or monitor an OpenThread Border Router from Python. The package is actively maintained, has low install friction, carries a permissive MIT license, and has no known vulnerabilities. It is narrowly focused on OTBR REST API interaction, so install only if you have an OTBR instance to communicate with; it is not a standalone Thread implementation.
Install
python-otbr-api on PyPI
pip
pip install python-otbr-apiuv
uv add python-otbr-apipoetry
poetry add python-otbr-apiInstalling python-otbr-api
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with recent commits and a stable release cadence; last release was 109 days ago with repository activity as recent as 2026-07-29.
License in practice
MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.
Quickstart
pip install python-otbr-api
import aiohttp
from python_otbr_api import OTBRData
# Requires an OTBR instance running with REST API enabled
async with aiohttp.ClientSession() as session:
otbr = OTBRData(session, "http://otbr-host:port")
# Interact with OTBR via REST API
Requires Python >= 3.11.0 and a running OpenThread Border Router instance with REST API enabled at a known network address.
Verify before relying
- Whether the package supports Thread network discovery or only control of an already-configured OTBR instance
- Specific Thread protocol version or OpenThread version compatibility requirements
- Whether async operations are required or optional for typical use cases
- The default or expected network address and port for OTBR REST API communication
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — aiohttp, bitstruct, cryptography, typing_extensions, voluptuous |
| Maintenance | actively maintained — 109 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 111,427/month — #12,416 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_otbr_api-2.10.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
pynetgearpyNetgear provides a Python API to communicate…
permissive · top 15,000 on PyPI
fritzconnectionCommunicate with AVM FRITZ!Box routers via…
permissive · top 15,000 on PyPI
tesla-fleet-apiProvides Python bindings to Tesla's Fleet API…
permissive · top 15,000 on PyPI
aiovodafoneAsync Python library for controlling and…
permissive · top 15,000 on PyPI
asusrouterAsynchronous API wrapper for querying and…
permissive · top 15,000 on PyPI
python-fullykioskProvides a Python interface to the Fully Kiosk…
permissive · top 15,000 on PyPI
aiopnsenseAn async Python client library that wraps…
permissive · top 15,000 on PyPI
sfrbox-apiProvides an async Python client for interacting…
permissive · top 15,000 on PyPI
librouteroslibrouteros is a Python client library for the…
copyleft · top 15,000 on PyPI
opentelemetry-instrumentation-threadingEnsures OpenTelemetry context is propagated…
permissive · top 1,000 on PyPI