Bluetooth mesh network layer library for Python provides cryptographic operations, network PDU encoding/decoding and provisioning support as defined in Bluetooth SIG specifications.
This library implements the network layer of Bluetooth Mesh protocol, including security and provisioning mechanisms.
https://www.bluetooth.com/specifications/mesh-specifications
Supported features include:
- Cryptography: AES-CCM encryption/decryption, AES-CMAC, AES-ECB, salt and key derivation helpers (s1, k1, k2, k3, k4), and key wrappers for application, device, and network keys
- Mesh message handling: network PDU packing/unpacking for access, control, proxy configuration, and proxy solicitation messages, plus nonce helpers and segmented access message packing
- Beacons: unprovisioned device, secure network, and private mesh beacon parsing/packing
- Provisioning: provisioning PDU parsing/building, provisioning bearer control and generic provisioning transaction handling, and provisioning encryption/decryption helpers
This project requires Python 3.14.
You can install "bluetooth-mesh-network" via pip from PyPI:
$ pip install bluetooth-mesh-network
You can also add it to a Poetry-managed project:
$ poetry add bluetooth-mesh-network
If you want to work on this repository locally, install the project and development dependencies with Poetry:
$ poetry install
Contributions are very welcome. Tests can be run with pytest, please ensure the coverage at least stays the same before you submit a pull request.
Distributed under the terms of the GPL-2.0 license, "bluetooth-mesh-network" is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.