swaitsandClaude Opus 4.6 43f9115ca8 feat!: v0.2.0 — PyPI-ready, interception tests, strict linting
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>
2026-04-08 13:33:49 -06:00
2026-04-03 10:28:38 -06:00
2026-04-03 10:28:38 -06:00

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 donglora client library (protocol encoding, device discovery)
S
Description
No description provided
Readme
96 KiB
0 Stars 1 Watchers 0 Forks
Languages
Python 98.9%
Just 1.1%