Contributing
Pull requests are welcome, but please read these contributing guidelines first.
Setup
This project uses poetry. Have it installed and setup first.
To install dev-dependencies and tools:
poetry install
Code style
This project uses PEP8 Style Guide for Python Code. This project loves sorted imports. Get it all applied via:
poetry run isort .
poetry run flake8 cyclonedx/ tests/ typings/
Documentation
This project uses Sphinx to generate documentation which is automatically published to readthedocs.io.
Source for documentation is stored in the docs
folder in RST format.
You can generate the documentation locally by running:
cd docs
pip install -r requirements.txt
make html
Testing
Run all tests in dedicated environments, via:
poetry run tox
Sign your commits
Please sign your commits, to show that you agree to publish your changes under the current terms and licenses of the project. We can’t accept contributions, however great, if you do not sign your commits.
git commit --signed-off ...
Pre-commit hooks
If you like to take advantage of pre-commit hooks, you can do so to cover most of the topics on this page when contributing.
pre-commit install
All our pre-commit checks will run locally before you can commit!