bluetooth-adapters
Tools to enumerate and find Bluetooth Adapters
What it is and what it does
Bluetooth-adapters is a library for discovering and enumerating Bluetooth adapters available on a system. It abstracts over platform-specific hardware detection by wrapping multiple backend libraries (dbus-fast for D-Bus systems, uart-devices and usb-devices for direct hardware access) into a unified async interface.
The package is in pre-alpha development but actively maintained, with support for Python 3.10 through 3.14. It's designed for applications that need to detect what Bluetooth hardware is present before attempting connections, making it useful in IoT, device management, and Bluetooth-centric applications. The async design integrates with modern Python concurrency patterns.
Use it for:
- Detect available Bluetooth adapters before initiating device scanning or connections in a Bluetooth application
- Build a system utility that reports installed Bluetooth hardware and its capabilities
- Enumerate adapters in a multi-adapter environment to select which one to use for a specific operation
- Validate Bluetooth hardware availability as part of application startup or health checks
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Enumerates and locates Bluetooth adapters on a system, providing tools to discover available Bluetooth hardware across different platforms and connection types.
Yes, if you need to discover Bluetooth adapters programmatically. The package is actively maintained, has no known vulnerabilities, and low install friction. The pre-alpha status and small community (14 stars) mean the API may change, but for straightforward adapter enumeration it's a reasonable choice. Verify platform support matches your target systems before committing.
Install
bluetooth-adapters on PyPI
pip
pip install bluetooth-adaptersuv
uv add bluetooth-adapterspoetry
poetry add bluetooth-adaptersInstalling bluetooth-adapters
Before you install
Low friction installation with a pure Python wheel. Active maintenance with a recent release 80 days ago. Depends on platform-specific libraries (dbus-fast, uart-devices, usb-devices) which may require system packages on Linux, but the package itself installs cleanly.
License in practice
Apache-2.0 permissive license allows use in commercial and private projects with minimal restrictions; you must retain license notices but are free to modify and distribute.
Quickstart
pip install bluetooth-adapters
import asyncio
from bluetooth_adapters import get_adapters
async def main():
adapters = await get_adapters()
for adapter in adapters:
print(adapter)
asyncio.run(main())
Requires Python 3.10 or later. On Linux, dbus-fast and related system libraries may need to be installed separately; on other platforms, adapter support depends on available hardware interfaces.
Verify before relying
- Whether the package provides filtering or search capabilities beyond simple enumeration
- What adapter metadata (name, address, capabilities) is returned by the discovery functions
- Whether adapter enumeration works on Windows, macOS, and other non-Linux platforms
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — aiooui, async-timeout, bleak, dbus-fast, uart-devices, usb-devices |
| Maintenance | actively maintained — 80 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 746,532/month — #5,169 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bluetooth_adapters-2.4.0-py3-none-any.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
unifi-discoveryDiscovers Unifi devices on a network using…
permissive · top 15,000 on PyPI
usb-devicesMaps, describes, and resets USB devices on a…
permissive · top 15,000 on PyPI
uart-devicesProvides a Python interface to interact with…
permissive · top 15,000 on PyPI
btsocketA Python library for controlling BlueZ…
permissive · top 15,000 on PyPI
habluetoothProvides high-availability Bluetooth…
permissive · top 5,000 on PyPI
ibeacon-bleParses and decodes iBeacon BLE (Bluetooth Low…
permissive · top 15,000 on PyPI
bluetooth-sensor-state-dataProvides data models for parsing, storing, and…
permissive · top 15,000 on PyPI
govee-bleProvides Python bindings to discover, connect…
permissive · top 15,000 on PyPI
bluezooBlueZoo is a mock BlueZ D-Bus API service that…
copyleft · top 15,000 on PyPI