Cookiecutter template for a Python package based on the Hypermodern Python article series.
✨📚✨ Read the full documentation
This fork is largely the same as the upstream but with some small differences:
- Linting is done with
ruff
rather thanflake8
. - Poetry dependencies are organised using the new recommended
group
pattern.
cookiecutter gh:dbatten5/cookiecutter-hypermodern-python
- Packaging and dependency management with Poetry
- Test automation with Nox
- Linting with pre-commit and ruff
- Continuous integration with GitHub Actions
- Documentation with Sphinx, MyST, and Read the Docs using the furo theme
- Automated uploads to PyPI and TestPyPI
- Automated release notes with Release Drafter
- Automated dependency updates with Dependabot
- Code formatting with Black and Prettier
- Testing with pytest
- Code coverage with Coverage.py
- Coverage reporting with Codecov
- Command-line interface with Click
- Static type-checking with mypy
- Runtime type-checking with Typeguard
- Automated Python syntax upgrades with pyupgrade
- Security audit with Bandit and Safety
- Check documentation examples with xdoctest
- Generate API documentation with autodoc and napoleon
- Generate command-line reference with sphinx-click
- Manage project labels with GitHub Labeler
The template supports Python 3.7, 3.8, 3.9, and 3.10.