Development

Project structure, local setup, and testing notes for contributors.

Project structure (high level)

main.py
src/
  DBCUtility.py
  dbc_editor.py
  dbc_editor_ui.py
  search_module.py
  home_screen.py
scripts/
  build_exe.py
  build_linux.py
  release.py
  release_linux.py
docs/
tests/

Run from source

pip install uv
uv sync
uv run dbcUtility

Development notes

  • UI framework: PyQt5.
  • DBC parsing: cantools.
  • Resources: icons are loaded via a resource helper for PyInstaller compatibility.
  • Change tracking: editor keeps an original copy + modified copy.

Testing

The tests/ folder contains utilities and checks for parsing, saving, and UI behavior. Run what's relevant for your change.

Contributing

Before opening a PR, read Contributing.