bleak_bumble
September 4, 2025 ยท View on GitHub
bleak_bumble provides a Bumble backend for Bleak that enables:
- Hardware-independent Bluetooth LE support: Use HCI Controllers (e.g. serial/USB) that are not supported natively by your OS
- Virtual Bluetooth testing: Perform Bluetooth functional tests without physical hardware using virtual Bluetooth stacks like Android Emulator and Zephyr RTOS
- Cross-network connections: Connect HCI Controllers that are not in the same radio network (virtual or physical)
Installation
pip install -e git+https://github.com/vChavezB/bleak-bumble.git
Quick Start
from bleak import BleakScanner, BleakClient
from bleak_bumble import BumbleTransportCfg, TransportScheme
from bleak_bumble.scanner import BleakScannerBumble
from bleak_bumble.client import BleakClientBumble
# Create transport configuration
cfg = BumbleTransportCfg(TransportScheme.TCP_SERVER, "127.0.0.1:1000")
# Create scanner with Bumble backend
scanner = BleakScanner(backend=BleakScannerBumble, cfg=cfg)
# Scan for devices
async for device, advertisement_data in scanner.advertisement_data():
client = BleakClient(device, backend=BleakClientBumble, cfg=cfg)
await client.connect()
# ... work with device
await client.disconnect()
Documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.