- Python 3.11+; create a virtualenv and install dev deps:
pip install -e .[dev].
- Run
ruff format .thenruff check .before sending changes. - Run
mypy --ignore-missing-imports .for type checks. - Run
reuse lintafter adding or modifying files to keep licensing headers intact. - Prefer small, focused PRs with CLI help text updated when flags/commands change.
- Use
pytest; mock USB devices/libusb interactions rather than touching hardware. - Avoid running privileged USB operations (
sudo) in tests or automation.