Skip to content

railab/dawnpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dawnpy

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-serial
  • dawnpy-can
  • dawnpy-udp
  • dawnpy-modbus
  • dawnpy-tests

Install

cd tools/dawnpy
pip install -e .

Core Commands

Show help:

python -m dawnpy --help

Validate a descriptor config:

python -m dawnpy desc-valid boards/sim/sim/sim/configs/nsh_tests

Generate descriptor C++ from YAML:

python -m dawnpy desc-gen descriptor.yaml

Build a board/config:

python -m dawnpy build sim/sim/sim:nsh_tests

Build a batch of configs:

python -m dawnpy batch tools/config-build-all.txt

Development

Run the core package QA locally:

cd tools/dawnpy
tox -e py
tox -e format
tox -e flake8
tox -e type

Unit 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.

Documentation

See Dawn Python tooling for the full Dawn Python tooling documentation.

About

Core Python tooling for building and managing Dawn projects

Resources

Stars

Watchers

Forks

Contributors

Languages