Skip to content

Latest commit

 

History

History
80 lines (56 loc) · 2.52 KB

File metadata and controls

80 lines (56 loc) · 2.52 KB

bluetooth-mesh-network

PyPI version Python versions

Bluetooth mesh network layer library for Python provides cryptographic operations, network PDU encoding/decoding and provisioning support as defined in Bluetooth SIG specifications.

What is this thing?

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

Installation

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

Contributing

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.

License

Distributed under the terms of the GPL-2.0 license, "bluetooth-mesh-network" is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.