This is a template for a python project with the following features:
- Pre-commit hooks for formatting, linting, style checking and commit messages checking. Check the
.pre-commit-config.yamlfile for all the hooks and their configurations. - Unit tests with pytest and coverage report with pytest-cov support. We recommend you to add your tests under the
testsfolder for each module you write to make your code more robust. - Auto-generated semantic version tags and the changelog file based on commit messages. This feature requires all the commit messages to follow the conventional commit style. Check the version, tag and release document on how to use this feature.
- Auto-build and release leveraging hatch-vcs to automatically generate semantic version tags and package versions. Remember to change the package name before you want to release it.
- Pre-written docs for installation and contribution, with readthedocs support. Check the installation and contribution documents in the
docs/get_startedfolder and the.readthedocs.yamlfile for more details. We recommend you to write your own usage document under thedocs/usagefolder and also replace thedocs/index.mdfile with your own readme document to introduce your project. Check the document building section on how to leverage the readthedocs to build your documentation site. - Github action support for all the above features including checking pre-commit hooks, unit tests and auto-releasing. Only the pre-commit hooks checker and unit tests are enabled by default, you can enable the auto-releasing github action by moving the
.github/examples/release.ymlto the.github/workflowsfolder.
Check the User installation document for how to install the project and all required packages, if you only want to use this project without developing or contributing to it.
Check the Development Installation document for how to install the project and all required packages, if you want to develop based on this project or contribute to it.
Check the Usage document for how to use the project template.
See contribution docs for details.