brunt
Unofficial python SDK for Brunt, this package allows you to control your Brunt devices from code.
What it is and what it does
Brunt is an unofficial Python wrapper around the Brunt smart blind API, ported from the original NPM version. It provides both synchronous (BruntClient) and asynchronous (BruntClientAsync) interfaces to authenticate with Brunt accounts, enumerate registered devices, query their current state, and command position changes. The package handles the HTTP communication and JSON parsing needed to interact with Brunt's cloud service.
The library is designed for developers who own Brunt motorized blinds and want to automate or integrate them into Python-based home automation systems. It abstracts away API details like authentication tokens and device URIs, letting you work with device names and position values directly. The async variant uses aiohttp for non-blocking I/O, suitable for event-driven applications.
Use it for:
- Automate blind position changes based on time of day or sunrise/sunset in a home automation script.
- Query blind positions periodically and log them for energy or comfort analysis.
- Integrate Brunt blinds into a larger Python home automation framework using async I/O.
- Build a web dashboard or mobile app backend that controls blinds on demand.
- Trigger blind adjustments in response to sensor data from other systems.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python SDK for controlling Brunt motorized blinds and shades via their API, with both synchronous and asynchronous client support.
No. The package is abandoned (last commit 2022-02-17, no activity for 1639 days), and there is no indication that Brunt's API or devices remain actively supported. Without ongoing maintenance, compatibility with current Python versions and aiohttp releases is at risk, and any API changes on Brunt's side would break the library silently. Only install if you have a legacy Brunt setup and are willing to fork and maintain the code yourself.
Install
brunt on PyPI
pip
pip install bruntuv
uv add bruntpoetry
poetry add bruntInstalling brunt
Before you install
Low install friction with a pure-Python wheel, but the package is abandoned—last release was 2022-02-17 with no commits since. Relies on aiohttp and importlib-metadata, both stable dependencies.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it safe to adopt from a licensing perspective.
Quickstart
from brunt import BruntClient
bapi = BruntClient()
bapi.login('username', 'password')
things = bapi.get_things()['things']
state = bapi.get_state(thing='Blind')['thing']
bapi.change_request_position(90, thing='Blind')
Verify before relying
- Whether Brunt's API remains functional and unchanged since the last release in 2022.
- Compatibility with current versions of aiohttp and whether the package works with modern Python versions.
- Whether Brunt devices are still actively sold or supported by the manufacturer.
Package facts
| License | mit (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — aiohttp, importlib-metadata |
| Maintenance | abandoned — 1,639 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,695/month — #14,947 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: brunt-1.2.0-py2.py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
aiopvapiAsync Python API client for PowerView motorized…
permissive · top 15,000 on PyPI
motionblindsControls Motion Blinds and compatible motorized…
permissive · top 15,000 on PyPI
aiopulseAsynchronous Python library for controlling…
permissive · top 15,000 on PyPI
aiohueAsynchronous Python library for controlling…
permissive · top 15,000 on PyPI
pyswitchbeeA Python library for controlling SwitchBee…
permissive · top 15,000 on PyPI
seamOfficial Python SDK for the Seam API that…
permissive · top 15,000 on PyPI
mistralaiPython client SDK for the Mistral AI API,…
unclear · top 1,000 on PyPI
switchbot-apiAn async Python library for controlling…
permissive · top 15,000 on PyPI
whirlpool-sixth-senseProvides an unofficial API client for…
permissive · top 15,000 on PyPI
aiotractiveAsynchronous Python client for the Tractive pet…
permissive · top 15,000 on PyPI