--- id: bumble version: "0.0.233" license: Apache-2.0 license_treatment: permissive maintenance: active --- # bumble — Bluetooth Stack for Apps, Emulation, Test and Experimentation License: permissive · Maintenance: active · Downloads: 109.4K/mo ## What it is and what it does Bumble is a Bluetooth stack implementation written entirely in Python that provides both protocol-level support and higher-level abstractions for Bluetooth Low Energy (BLE) and Bluetooth Classic (BR/EDR) communication. It implements core protocols including GAP, L2CAP, ATT, GATT, SMP, SDP, RFCOMM, HFP, HID, and A2DP, and can interface with physical Bluetooth radios via USB, UART, or Linux VHCI, as well as virtual radios including the Android emulator's virtual Bluetooth support. The package is designed for applications, emulation, testing, and experimentation rather than production deployment. It depends on cryptography for security operations, websockets and aiohttp for network communication, pyserial and pyusb for hardware transport, and several UI/CLI tools like click, prompt_toolkit, and prettytable. The library is maintained by Google but explicitly disclaimed as not an official product and remains in alpha with breaking changes expected. Use it for: - Build Bluetooth-enabled applications and prototypes that communicate with BLE or Classic devices without relying on OS-level Bluetooth APIs - Test and validate Bluetooth device behavior by emulating devices and profiles in a controlled Python environment - Experiment with Bluetooth protocols and develop custom protocol implementations using the stack's modular architecture - Debug Bluetooth communication by capturing and analyzing HCI traffic over USB dongles or UART connections - Simulate Bluetooth interactions in the Android emulator or other virtual environments for development and CI/CD testing ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Bumble is a full-featured Bluetooth stack written in Python that supports BLE and Bluetooth Classic protocols, profiles, and transports including USB, UART, and Linux VHCI. Yes, if you need a Python-native Bluetooth stack for prototyping, testing, or experimentation with BLE or Classic devices. The active maintenance, permissive license, and low install friction make it accessible. However, the alpha status and explicit production disclaimer mean it is not suitable for production deployments—use for research, development, and testing only. ## Install pip install bumble uv add bumble poetry add bumble ## Installing bumble Before you install: Low friction install as a pure Python wheel. Active maintenance with a release 30 days ago and commits through late July 2026. Requires Python 3.10 or later and pulls in 15 runtime dependencies including cryptography, websockets, and USB libraries. License in practice: Licensed under Apache 2.0 (permissive), allowing use in commercial and private projects with minimal restrictions beyond attribution and liability disclaimers. Quickstart: pip install bumble import bumble.device import bumble.hci # Create and configure a Bluetooth device device = bumble.device.Device(name='MyDevice') Requires Python 3.10 or later. Physical radio use requires a USB Bluetooth dongle or UART/VHCI transport; internal OS Bluetooth interfaces are typically locked down. Verify before relying: - Whether all 15 runtime dependencies are required for basic usage or if subsets suffice for specific use cases - Current stability and production-readiness status beyond the alpha disclaimer in the description ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 109.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags bluetooth stack python, BLE bluetooth low energy, bluetooth classic BR/EDR, bluetooth emulation testing, bluetooth HCI USB UART, GATT GAP L2CAP ATT, bluetooth protocol implementation, bluetooth-stack, ble-classic, protocol-testing [View on SkillFed](https://skillfed.io/packages/bumble) · [View on PyPI](https://pypi.org/project/bumble/)