A Cookiecutter template for eggplants’ Python projects.
# uvx
uvx cookiecutter gh:eggplants/cookiecutter-python -o path/to/dir
# mise
mise use -g cookiecutter
cookiecutter gh:eggplants/cookiecutter-python -o path/to/dir
| Prompt | Default | __prompts__ |
|---|---|---|
project_name |
My Python Project |
Human-readable title, used in the README heading |
project_slug |
derived | PyPI and repository name, e.g. my-python-project |
package_name |
derived | Importable module, e.g. my_python_project |
command_name |
derived | Console script name, CLI projects only |
project_description |
A Python project. |
One line, reused in the README and the --help text |
author_name |
eggplants |
|
author_email |
||
github_username |
eggplants |
Owner in the repository, badge and image URLs |
year |
the current year | Copyright year in LICENSE.txt |
python_version |
3.11 |
The floor; classifiers are emitted up to 3.14 |
project_type |
cli |
cli adds cli.py, __main__.py and a console script; library does not |
use_docker |
yes |
Dockerfile plus the multi-arch GHCR jobs in release.yml |
use_distroless |
no |
Runs the image on a distroless base instead of python:*-slim |
use_pyinstaller |
no |
packaging/ plus build-binaries.yml for standalone binaries |
min_age |
7 |
Days a release must age before it is used: mise installs, Dependabot cooldowns and mise run pinup |
create_github_repo |
no |
yes makes the post-generation hook gh repo create the private repository, push the first commit, restrict merges to merge commits and turn immutable releases on |