Skip to main content

recsrmesh

A Python library for the CSRMesh Bluetooth mesh protocol. Provides MASP association, MCP mesh commands, and BLE transport over GATT.

Features

  • Device discovery -- find unprovisioned CSRMesh devices via a bridge
  • Association -- full MASP handshake (ECDH key exchange, device ID and network key distribution)
  • Mesh commands -- send and receive MCP packets (AES-OFB encrypted)
  • Disassociate -- remove devices from the mesh
  • Async API -- built on bleak for cross-platform BLE

Usage

from bleak import BleakClient
from recsrmesh import CSRMesh

async with BleakClient(bridge_mac) as client:
    async with CSRMesh(client, passphrase) as mesh:
        # Discover unprovisioned devices
        devices = await mesh.discover_unassociated(timeout=5.0)

        # Associate a device into the mesh
        device_id = await mesh.associate(devices[0]["uuid_hash"], device_id=100)

        # Send a mesh command
        await mesh.send(dest_id=100, opcode=0x73, payload=b"\x01\x80")

        # Receive responses
        responses = await mesh.receive(timeout=3.0)

        # Remove a device from the mesh
        await mesh.disassociate(device_id=100)

Installation

pip install recsrmesh

Requires Python 3.11+.

License

LGPL-3.0-or-later

Metadata

Release files for recsrmesh 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for recsrmesh 0.3.0
File Size Uploaded
recsrmesh-0.3.0.tar.gz 20.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for recsrmesh 0.3.0
File Interpreter ABI Platform
recsrmesh-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.9 kB

Release files / recsrmesh-0.3.0.tar.gz

Download URL recsrmesh-0.3.0.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f73bb257780dadb5438619d6440d5119a828aa8d9353967c3da0b95d406d4109
BLAKE2b-256 checksum
How to use checksums
cfed942eb637133cb38a2b9b24fe49707037346feb54e9e3feba70ffd9d1e065
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2026.

Transparency log

Release files / recsrmesh-0.3.0-py3-none-any.whl

Download URL recsrmesh-0.3.0-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
546658625b361dfce35589a4ad6f184cd3cf6db006680bbe9ce13545ae6172c9
BLAKE2b-256 checksum
How to use checksums
a44538c6c0c840697a7655fab77d5e3db05dc051952b630e42fec6af1a4ebb5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page