jacebrowning/template-python

My template for new Python libraries.

Python

667

997 commits

updated Sep 28, 2026

See the code

README

Jace's Python Template

This is a cookiecutter template for a typical Python library following modern packaging conventions. It utilizes popular libraries alongside Make and Graphviz to fully automate all development and deployment tasks. Check out the live demo: jacebrowning/template-python-demo

Build Status

Features

  • Preconfigured setup for CI, coverage, and analysis services
  • pyproject.toml for managing dependencies and package metadata
  • Makefile for automating common development tasks:
    • Installing dependencies with poetry
    • Automatic formatting with isort and black
    • Static analysis with pylint
    • Type checking with mypy
    • Docstring styling with pydocstyle
    • Running tests with pytest
    • Building documentation with mkdocs
    • Publishing to PyPI using poetry
  • Tooling to launch an IPython session with automatic reloading enabled

If you are instead looking for a Python application template, check out one of the sibling projects:

Examples

Here are a few sample projects based on this template:

Usage

Install cookiecutter and generate a project:

$ pip install cookiecutter
$ cookiecutter gh:jacebrowning/template-python -f

Cookiecutter will ask you for some basic info (your name, project name, python package name, etc.) and generate a base Python project for you. Once created, run the code formatter to updates files based on your chosen names:

$ cd <github_repo>
$ make format

Finally, commit all files generated by this template.

Updates

Run the update tool, which is generated inside each project:

$ bin/update
cookiecutter
hacktoberfest
makefile
poetry
project-creation
python
template

jacebrowning/template-python

My template for new Python libraries.

Python

667

997 commits

updated Sep 28, 2026

See the code

README

Jace's Python Template

This is a cookiecutter template for a typical Python library following modern packaging conventions. It utilizes popular libraries alongside Make and Graphviz to fully automate all development and deployment tasks. Check out the live demo: jacebrowning/template-python-demo

Build Status

Features

  • Preconfigured setup for CI, coverage, and analysis services
  • pyproject.toml for managing dependencies and package metadata
  • Makefile for automating common development tasks:
    • Installing dependencies with poetry
    • Automatic formatting with isort and black
    • Static analysis with pylint
    • Type checking with mypy
    • Docstring styling with pydocstyle
    • Running tests with pytest
    • Building documentation with mkdocs
    • Publishing to PyPI using poetry
  • Tooling to launch an IPython session with automatic reloading enabled

If you are instead looking for a Python application template, check out one of the sibling projects:

Examples

Here are a few sample projects based on this template:

Usage

Install cookiecutter and generate a project:

$ pip install cookiecutter
$ cookiecutter gh:jacebrowning/template-python -f

Cookiecutter will ask you for some basic info (your name, project name, python package name, etc.) and generate a base Python project for you. Once created, run the code formatter to updates files based on your chosen names:

$ cd <github_repo>
$ make format

Finally, commit all files generated by this template.

Updates

Run the update tool, which is generated inside each project:

$ bin/update
cookiecutter
hacktoberfest
makefile
poetry
project-creation
python
template

Project health

Overall

3.1/10

Maintained

0/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

M Bussonnier

1,437 followers · starred Oct 2014

Joseph T. Lyons

433 followers · starred Aug 2021

Panagiotis "Ivory" Vasilopoulos

113 followers · starred May 2020

Jamie Bliss

72 followers · starred Dec 2014