A full-featured Bluetooth stack written entirely in Python for apps, emulation, testing, and experimentation.
Bumble is a full-featured Bluetooth stack written entirely in Python that supports both Bluetooth Low Energy (BLE) and Bluetooth Classic (BR/EDR) protocols. It provides implementations of common Bluetooth profiles and protocols, enabling developers to build, test, and experiment with Bluetooth applications without relying on native platform stacks.
Developers and researchers working on Bluetooth applications, embedded systems testing, wireless protocol experimentation, or educational projects who need a flexible, Python-based Bluetooth stack.
Bumble offers a pure Python implementation of Bluetooth protocols, making it highly accessible and extensible compared to lower-level C/C++ stacks. Its support for both physical and virtual radio interfaces provides unique flexibility for testing and emulation scenarios.
Bumble is a comprehensive Bluetooth stack implemented entirely in Python, supporting both Bluetooth Low Energy (BLE) and Bluetooth Classic (BR/EDR) protocols. It enables developers to build Bluetooth applications, perform testing, and conduct experiments without relying on platform-specific native stacks.
Bumble aims to provide a flexible, open-source Bluetooth stack that prioritizes experimentation and prototyping, enabling developers to explore Bluetooth capabilities without production constraints.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements GAP, L2CAP, ATT, GATT, SMP, SDP, RFCOMM, HFP, HID, and A2DP, providing a comprehensive Bluetooth stack for both BLE and Classic protocols in one package.
Written entirely in Python, it allows developers to easily modify, extend, and experiment with Bluetooth code without dealing with lower-level languages like C or C++.
Works with physical radios via USB/UART and virtual radios like the Android emulator's Bluetooth, enabling diverse testing and emulation scenarios as highlighted in the documentation.
Includes a wide range of example scripts and tools that demonstrate functionality and accelerate development, detailed in the Examples Documentation.
The library is in alpha with frequent breaking changes and bugs, explicitly not recommended for production use, as stated in the disclaimer.
As a Python implementation, it may not match the performance or efficiency of native Bluetooth stacks like BlueZ, especially for resource-constrained or latency-sensitive applications.
Easiest use requires a dedicated USB dongle, as internal Bluetooth interfaces are often locked down by the OS, adding setup complexity compared to integrated solutions.