• v0.2.0 7a9e67ac1c

    feat!: v0.2.0 — module split, Rust parity, PyPI-ready
    CI / lint (push) Canceled after 0s
    CI / test (3.10) (push) Canceled after 0s
    CI / test (3.11) (push) Canceled after 0s
    CI / test (3.12) (push) Canceled after 0s
    CI / test (3.13) (push) Canceled after 0s
    CI / publish (push) Canceled after 0s

    swaits released this 2026-04-08 13:33:37 -06:00 | 6 commits to main since this release

    Split monolithic __init__.py into six modules matching the Rust client
    structure: protocol.py, codec.py, discovery.py, transport.py, connect.py,
    client.py. All symbols re-exported from top-level for backwards compat.

    New features:

    • Ping-on-connect validation (200ms handshake, matches Rust v0.2.0)
    • try_connect(), connect_default(), connect_mux_auto(), validate()
    • connect() commits to mux when socket exists (no USB fall-through)
    • Bandwidth/ErrorCode IntEnums, RadioConfig TypedDict, py.typed marker
    • MAX_PAYLOAD, RADIO_CONFIG_SIZE, tag/error constants
    • Payload size validation on Transmit
    • 46 pytest tests ported from Rust (protocol, codec, client, firmware compat)
    • GitHub Actions CI (ruff + pytest on 3.10-3.13 + PyPI publish)
    • Strict ruff linting (E, W, F, I, UP, B, C4, ARG, SIM, RUF)

    Breaking: package renamed back to donglora (from donglora-python).

    Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

    Downloads