Cookiecutter template for a Python package based on the Hypermodern Python article series.
✨📚✨ Read the full documentation
This is a fork of https://github.com/cjolowicz/cookiecutter-hypermodern-python
- It removes integrations with public services ReadTheDocs and codecov.io, making it more suitable for private projects
- Replaces Release Drafter & Labeler with python-semantic-release
- Enforces Conventional Commits style using gitlint
- Replaces click with typer
- Adds coloredlogs for logging
Check out the aws-specific
branch
for more features for AWS - such as deploying to AWS CodeArtifact, preparing lambda deployment bundles and so on.
$ cookiecutter gh:schubergphilis/cookiecutter-hypermodern-python
- Packaging and dependency management with Poetry
- Test automation with Nox
- Linting with pre-commit and Flake8
- Continuous integration with GitHub Actions
- Documentation with Sphinx and MyST 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
- 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.