Cookiecutter Python Template
Features
- Dependency and virtual environment management (one of the following based on user choice)
- Coding style
- ruff: check coding style and format it
- mypy: check static typing
- Test thought pytest with the following plugins
- commitizen:
- regulate git commit convention
- bump project version
- generate changelog automatically
- Security check through
- mkdocs: generate documentation
- pre-commit: git-hook to run the above tools automatically
- invoke: organize the tools above (like Makefile in PYthon)
- CI/CD
- GitHub Actions workflows for
- checking coding style
- testing
- publishing package to PyPI
- pushing documentation to GitHub pages
- GitHub issue templates, pull request template
- General Python project Dockerfile
- Consolidate most of the tool configurations in
pyproject.toml
Getting Started
Prerequisites
Usage
cruft create https://github.com/Lee-W/cookiecutter-python-template
Setup secrets for GitHub Actions
- Required GitHub repository secrets
PERSONAL_ACCESS_TOKEN
: GitHub personal access token used to bump project version automatically
- (optional)
pypi_password
: PyPI API token
Authors
Lee-W