A cookiecutter template for creating a new Python package.
See https://github.com/sgraaf/cookiecutter-python-package-demo for a demo of this template.
cookiecutter gh:sgraaf/cookiecutter-python-package
- Linting with autofix (i.e. removing unused imports, formatting and Python syntax upgrades) with ruff
- Code formatting with ruff and Prettier
- Static type-checking with mypy
- Checks and fixes before every commit with pre-commit
- Testing with pytest
- Project automation with Nox
- Continuous Integration with GitHub Actions and pre-commit.ci
- Automated version updates for GitHub Actions with Dependabot
- Documentation with Sphinx, MyST, and Read the Docs using the Furo theme
- Automated release builds and uploads to PyPI
This template supports Python 3.8, 3.9, 3.10, 3.11 and 3.12.