Hypermodern Python Cookiecutter#

Status Python Version CalVer License
Read the documentation Tests Codecov
pre-commit enabled Black codestyle Contributor Covenant

Cookiecutter template for a Python package based on the Hypermodern Python article series.

Usage#

$ cookiecutter gh:cjolowicz/cookiecutter-hypermodern-python \
  --checkout="2022.6.3"

Features#

The template supports Python 3.7, 3.8, 3.9, and 3.10.

FAQ#

What is this project about?#

The mission of this project is to enable current best practices through modern Python tooling.

What makes this project different from other Python templates?#

This is a general-purpose template for Python libraries and applications.

Our goals are:

  • Focus on simplicity and minimalism

  • Promote code quality through automation

  • Provide reliable and repeatable processes

The project template is centered around the following tools:

  • Poetry for packaging and dependency management

  • Nox for automation of checks and other development tasks

  • GitHub Actions for continuous integration and delivery

Why is this Python template called “hypermodern”?#

Hypermodernism is a school of chess that dates back to more than a century ago. If this setup ever goes out of fashion, I can pretend it was my secret plan from the start. All images on the associated blog show past visions of the future.