Skip to content

Contributing Guide

Welcome! If you'd like to contribute to monz, you came to right place. Hopefully, everything noteworthy is mentioned, but if you still have some questions after reading it all, don't hesitate to open up a new issue.

Please also note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Tools used

Language: Python 3.8+
CI: GitHub Actions
Docs: mkdocs, mkdocs-material, mkdocstrings, Read The Docs
Testing: pytest, nox
Coverage: Coverage.py, Codecov
Type checks: mypy
Code style: black, isort, ruff, interrogate
Other: Makefile

Code style

All code is formatted with the amazing black, isort and ruff tools via make format helper command.

Tests

Tests are written with help of pytest and run via nox (alongside other checks). To run the test suite yourself, all you need to do is run:

$ # Install nox
$ python -m pip install nox
$ # Run nox
$ make test

Makefile

Available make commands:

$ make help
install                                   Install package in editable mode
format                                    Format code
test                                      Run the test suite
docs-build                                Build docs
docs-serve                                Serve docs
build                                     Build package
publish                                   Publish package
clean                                     Clean dev artifacts
help                                      Show help message