A template for new Python libraries.
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
pyproject.tomlfor managing dependencies and package metadata
Makefilefor automating common development tasks:
poetry
isortand
black
pylint
mypy
pydocstyle
pytest
mkdocs
poetry
If you are instead looking for a Python application template, check out one of the sibling projects:
Here are a few sample projects based on this template:
Install
cookiecutterand 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.
If you still need to use legacy Python or
noseas the test runner, older versions of this template are available on branches:
$ cookiecutter gh:jacebrowning/template-python -f --checkout=python2$ cookiecutter gh:jacebrowning/template-python -f --checkout=nose
Run the update tool, which is generated inside each project:
$ bin/update