Cookiecutter template for a Python package based on the Hypermodern Python article series.
✨📚✨ Read the full documentation
brew install pipx
pipx ensurepath
pipx install cookiecutter
pipx install poetry
pipx install nox
pipx inject nox nox-poetry
Keep everything up to date:
pipx upgrade cookiecutter
pipx upgrade --include-injected nox
poetry self update
cookiecutter gh:welworx/cookiecutter-hypermodern-python
cookiecutter gh:welworx/cookiecutter-hypermodern-python --checkout=2022.6.3
- Packaging and dependency management with Poetry
- Test automation with Nox
- Linting with pre-commit and Flake8
- 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
- Import sorting with isort
- 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.9, 3.10, 3.11 and 3.12.