43f9115ca8e9ffa9a77f9036f122188234d7bd1b
PyPI-ready metadata (donglora-mux), full classifiers, URLs. Fixed dependency path to client-py. Added 11 interception tests ported from the Rust mux (SetConfig locking, StartRx/StopRx refcounting). GitHub Actions CI. Strict ruff linting. Applied contextlib.suppress per SIM105, collapsed nested ifs per SIM102. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
DongLoRa Mux (Python)
USB multiplexer daemon — lets multiple applications share one DongLoRa dongle simultaneously.
What It Does
- Owns the USB serial connection exclusively
- Exposes a Unix domain socket (and optional TCP) speaking the same COBS-framed protocol
- RxPacket frames broadcast to all connected clients
- StartRx/StopRx reference-counted across clients
- SetConfig locked once set (single client can change freely)
Running
just run # start the mux daemon
just verbose # start with verbose logging
just run --tcp 5741 --port /dev/ttyACM0 # with options
Depends On
- clients/python — the
dongloraclient library (protocol encoding, device discovery)
Languages
Python
98.9%
Just
1.1%