Contributing
A web-friendly version of the current contribution guidance.
Code of Conduct
Please read and follow the Code of Conduct.
How you can contribute
Report bugs
- Use the GitHub issue tracker.
- Include a clear title and the exact steps to reproduce the problem.
- Add OS, Python version, DBC Utility version, and any sample DBC files or screenshots that help.
Suggest enhancements
- Explain the problem the feature solves.
- Describe the proposed behavior clearly.
- Add examples or mockups if they reduce ambiguity.
Pull requests
- Fork the repository and create a focused branch.
- Keep changes scoped and update docs when behavior changes.
- Add tests when the change touches core logic.
Development setup
Prerequisites
- Python 3.9 or later
- Git
- UV package manager for the recommended setup
Install and run
git clone https://github.com/busaudit/dbcUtility.git
cd dbcUtility
pip install uv
uv sync
uv run dbcUtility
Alternative pip-based setup
git clone https://github.com/busaudit/dbcUtility.git
cd dbcUtility
pip install -r requirements.txt
python main.py
Coding standards
- Follow PEP 8.
- Use descriptive names and add docstrings for public functions and classes.
- Keep UI logic and business logic separated where practical.
- Handle Qt signals, slots, and cleanup carefully.
- Keep documentation and screenshots up to date when user-facing behavior changes.
Pull request expectations
- Branch from
main. - Implement the change and test it manually.
- Update docs or release notes if the behavior changed.
- Submit a PR with a clear summary and screenshots when UI changed.
Commit messages
Use conventional commit style when possible:
feat: new featurefix: bug fixdocs: documentation changesrefactor: internal restructuringtest: test additions or updateschore: maintenance work
Testing guidance
Before opening a PR, verify the parts you touched:
- Application starts cleanly
- DBC files load and save
- Compare, edit, or visualization flows touched by the change still work
- No new console errors or warnings were introduced
License
By contributing, you agree that your contributions will be distributed under GPL v3. See License.