Core Python tooling for Dawn.
Main Dawn project: railab/dawn.
dawnpy owns:
- repository and build helpers
- descriptor parsing, validation, and generation
- object ID decoding
- shared device/runtime helpers used by other Dawn Python packages
Transport clients and the project QA runner are split into separate packages:
dawnpy-serialdawnpy-candawnpy-udpdawnpy-modbusdawnpy-tests
cd tools/dawnpy
pip install -e .Show help:
python -m dawnpy --helpValidate a descriptor config:
python -m dawnpy desc-valid boards/sim/sim/sim/configs/nsh_testsGenerate descriptor C++ from YAML:
python -m dawnpy desc-gen descriptor.yamlBuild a board/config:
python -m dawnpy build sim/sim/sim:nsh_testsBuild a batch of configs:
python -m dawnpy batch tools/config-build-all.txtRun the core package QA locally:
cd tools/dawnpy
tox -e py
tox -e format
tox -e flake8
tox -e typeUnit tests must be runnable from the standalone dawnpy repository without
the Dawn source tree checked out. Tests that exercise source-backed behavior
should heavily mock Dawn source discovery and header loading, or build minimal
fake Dawn source/header layouts inside temporary directories, instead of
reading real Dawn sources.
See Dawn Python tooling for the full Dawn Python tooling documentation.