habluetooth
High availability Bluetooth
What it is and what it does
habluetooth is a Python library that layers reliability and recovery logic on top of lower-level Bluetooth communication libraries. It depends on bleak (cross-platform Bluetooth Low Energy), dbus-fast (for Linux D-Bus integration), and several Bluetooth-specific helpers (bluetooth-adapters, bluetooth-auto-recovery, bluetooth-data-tools, btsocket, async-interrupt, bleak-retry-connector) to provide a unified interface for connecting to and communicating with Bluetooth devices while automatically handling disconnections, adapter failures, and other transient faults.
The package is in Pre-Alpha development but actively maintained, with wheels built for Python 3.11–3.14 across macOS (ARM64), Linux (x86_64, aarch64, armv7l, musl), and Windows (32/64-bit). It is designed for developers building applications that require robust Bluetooth device discovery and communication without manual retry logic or error recovery.
Use it for:
- Building IoT applications that connect to multiple Bluetooth devices and need automatic reconnection on adapter or device failure.
- Creating home automation integrations that maintain persistent Bluetooth links to sensors or actuators across network disruptions.
- Developing cross-platform Bluetooth client libraries that abstract away OS-specific D-Bus, CoreBluetooth, and Windows Bluetooth APIs.
- Implementing device discovery and pairing workflows that tolerate transient Bluetooth adapter unavailability.
- Prototyping Bluetooth-based services where connection resilience is more important than manual error handling.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides high-availability Bluetooth connectivity by wrapping lower-level Bluetooth libraries with resilience and recovery mechanisms for reliable device communication.
Yes, with conditions. The package is actively maintained, permissively licensed, and solves a real problem (Bluetooth reliability) with a focused dependency stack. However, it is Pre-Alpha, so API stability is not guaranteed and production use should be evaluated carefully. Install if you need high-availability Bluetooth and can tolerate potential breaking changes; avoid if you require a stable, mature API.
Install
habluetooth on PyPI
pip
pip install habluetoothuv
uv add habluetoothpoetry
poetry add habluetoothInstalling habluetooth
Before you install
Medium install friction due to 8 runtime dependencies including bleak, dbus-fast, and bluetooth-specific libraries. Active maintenance with recent releases; marked Pre-Alpha but supports current Python versions (3.11–3.14) across multiple platforms via pre-built wheels.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; attribution required but no copyleft obligations.
Quickstart
pip install habluetooth
import habluetooth
# Instantiate and use high-availability Bluetooth connectivity
# via the package's main API (exact usage depends on exported classes/functions)
Requires Python >=3.11; on Linux may require dbus and system Bluetooth libraries; on Windows/macOS requires native Bluetooth stack access.
Verify before relying
- Specific API surface and primary entry points (classes, async functions) not detailed in excerpt.
- Whether the package is intended for end-user applications or as a building block for other libraries.
- Scope of 'high availability' guarantees—e.g., failover strategy, reconnection behavior, timeout tuning.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 8 — async-interrupt, bleak, bleak-retry-connector, bluetooth-adapters, bluetooth-auto-recovery, bluetooth-data-tools, btsocket, dbus-fast |
| Maintenance | actively maintained — 41 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 11,758,161/month — #1,365 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: habluetooth-6.26.5-cp311-cp311-macosx_11_0_arm64.whl; habluetooth-6.26.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; habluetooth-6.26.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl; habluetooth-6.26.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; habluetooth-6.26.5-cp311-cp311-musllinux_1_2_aarch64.whl; habluetooth-6.26.5-cp311-cp311-musllinux_1_2_armv7l.whl; habluetooth-6.26.5-cp311-cp311-musllinux_1_2_x86_64.whl; habluetooth-6.26.5-cp311-cp311-win32.whl; habluetooth-6.26.5-cp311-cp311-win_amd64.whl; habluetooth-6.26.5-cp312-cp312-macosx_11_0_arm64.whl; habluetooth-6.26.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; habluetooth-6.26.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl; habluetooth-6.26.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; habluetooth-6.26.5-cp312-cp312-musllinux_1_2_aarch64.whl; habluetooth-6.26.5-cp312-cp312-musllinux_1_2_armv7l.whl; habluetooth-6.26.5-cp312-cp312-musllinux_1_2_x86_64.whl; habluetooth-6.26.5-cp312-cp312-win32.whl; habluetooth-6.26.5-cp312-cp312-win_amd64.whl; habluetooth-6.26.5-cp313-cp313-macosx_11_0_arm64.whl; habluetooth-6.26.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Tags
More Libraries 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
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
bluetooth-auto-recoveryDetects and recovers Bluetooth adapters that…
permissive · top 15,000 on PyPI
bleak-retry-connectorWraps Bleak's Bluetooth client with automatic…
permissive · top 5,000 on PyPI
bluetooth-adaptersEnumerates and locates Bluetooth adapters on a…
permissive · top 15,000 on PyPI
bleak-esphomeProvides a Bleak backend that proxies Bluetooth…
permissive · top 15,000 on PyPI
aioouiPerforms asynchronous lookups of…
permissive · top 15,000 on PyPI
uart-devicesProvides a Python interface to interact with…
permissive · top 15,000 on PyPI
aiohappyeyeballsImplements Happy Eyeballs (RFC 8305) connection…
permissive · top 100 on PyPI
bluetooth-sensor-state-dataProvides data models for parsing, storing, and…
permissive · top 15,000 on PyPI
idasen-haProvides a Home Assistant helper library for…
permissive · top 15,000 on PyPI
bluezooBlueZoo is a mock BlueZ D-Bus API service that…
copyleft · top 15,000 on PyPI