Hypermodern Python Cookiecutter

Project Status Python Version License Black pre-commit Dependabot CalVer Tests Read the Docs Codecov

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

Usage

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

Features

The template supports Python 3.6, 3.7, and 3.8.

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.