The ultimate fully-fledged cross-platform library and bindings for Bluetooth Low Energy (BLE).
The SimpleBLE project aims to provide fully cross-platform BLE libraries and bindings for Python, Rust and C++, designed for simplicity and ease of use with a licencing scheme chosen to be friendly towards commercial use. All specific operating system quirks are handled internally to provide a consistent behavior across all platforms. The libraries also provide first-class support for vendorization of all third-party dependencies, allowing for easy integration into existing projects.
This repository offers the source code for the following related libraries:
- SimpleBLE: C++ cross-platform BLE library.
- SimplePyBLE: Python bindings for SimpleBLE. See the SimplePyBLE PyPI page for more details.
- SimpleRsBLE: Rust bindings for SimpleBLE. See the SimpleRsBLE Crates.io page for more details.
- SimpleBluez: C++ abstraction layer for BlueZ over DBus. (Linux only)
- SimpleDBus: C++ wrapper for libdbus-1 with convenience classes to handle DBus object hierarchies effectively. (Linux only)
If you want to use SimpleBLE and need help. Please do not hesitate to reach out!
- Visit our ReadTheDocs page.
- Join our Discord server.
- Contact me:
kevin at dewald dot me
(Dedicated consulting services available)
Are you using SimpleBLE on your own project and would like to see it featured here? Reach out and I'll add a link to it below!
Windows | Linux | MacOS | iOS |
---|---|---|---|
Windows 10+ | Ubuntu 20.04+ | 10.15+ (except 12.0, 12.1 and 12.2) | 15.0+ |
NOTE: WSL does not support Bluetooth.
Don't forget to check out the following projects using SimpleBLE:
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
All components within this project that have not been bundled from external creators, are licensed under the terms of the MIT Licence.