This template generator creates the basic structure for a Python project.
- Python 3.10+ (configurable)
- Poetry based dependency management
- Development tasks registered in a
Makefile
for easy access and management - Custom Mercurial/Git hooks for
pre-commit
andpre-push
events - Linting based on flake8 (and plugins), blue, mypy, isort and others
- Tests based on pytest
Install cookiecutter using pipx:
$ pipx install cookiecutter
Or, if you prefer, use pip instead:
$ pip install --user cookiecutter
Next, run the following command:
$ cookiecutter gh:andredias/perfect_python_project
Answer a few questions:
author []: Fulano de Tal
email []: fulano@email.com
project_name [Project]: Project X
project_slug [project_x]:
python_version [3.10]:
line_length [79]: 100
Select version_control:
1 - hg
2 - git
Choose from 1, 2 [1]: 1
github_respository_url []:
That's it!
- How to Set up a Perfect Python Project. It describes all the design decisions used in this template.