- pipenv or poetry: dependency and virtual environment management
- Coding style
- Test thought pytest with the following supports
- pytest-cov: generate test coverage repo
- pytest-mock: mocking
- commitizen:
- regulate git commit convention
- bump project version
- generate changelog automatically
- mkdocs: generate documentation
- invoke: organize the tools above
- pre-commit: git-hook to run the above tools automatically
- GitHub
- GitHub Actions workflows for checking style, testing, publishing package to PyPI and pushing documentation to GitHub pages
- GitHub issue templates, pull request template
- General Python project Dockerfile
- Consolidate most of the tool configurations in
pyproject.toml
cruft create https://github.com/Lee-W/cookiecutter-python-template
- Add required secrets to your GitHub repository secrets
PERSONAL_ACCESS_TOKEN
: GitHub personal access token- Refer to Creating a personal access token to generate one
pypi_password
: PyPI API token- required only if you set "build_pypi_package" to "y" during project creation
- Refer to How can I use API tokens to authenticate with PyPI? to generate one. Note that username
__token__
has been setup in the project