Every project you generate from Cookiecutter PyPackage now ships with a documentation site, cross-version test coverage, and a release workflow that handles tagging, GitHub Releases, and PyPI publishing in a single command.
uv tool upgrade cookiecutter-pypackageWhat's new
-
Documentation built in. Generated projects include a Zensical docs site with Material theme, light/dark toggle, API autodoc from docstrings, and a GitHub Actions workflow that deploys to GitHub Pages on push to main. Preview locally with
just docs-serve. (#903) -
Coverage across Python versions. CI now runs tests on Python 3.12, 3.13, and 3.14, collects branch coverage from each, and combines it into a single report posted to the workflow summary. Generated projects ship with sensible
[tool.coverage]config in pyproject.toml: branch coverage, parallel mode,fail_under = 50, and exclusions for typing-only code. (#904) -
One-command releases.
just releasereads the version from pyproject.toml, pulls notes fromCHANGELOG/<version>.md, creates an annotated tag, pushes it, and creates a GitHub Release. Three steps instead of five. (#911) -
Structured issue forms. Bug reports collect version, Python version, and OS through validated fields. Feature requests require a motivation. Every PR prompts contributors to declare AI tool usage. (#909)
-
CodeQL and zizmor security scanning. Generated projects get CodeQL static analysis with security-extended queries and zizmor GitHub Actions auditing. Cache-poisoning prevention and a 7-day Dependabot cooldown protect the supply chain. (#902)
-
Dependabot reaches into the template. Inner template workflows use per-expression Jinja escaping instead of
{% raw %}blocks, so Dependabot can parse them as valid YAML and propose action updates. (#905)
What's better
-
Changelog files named by version, not git tag.
CHANGELOG/0.5.0.mdinstead ofCHANGELOG/v0.5.0.md, matching pyproject.toml as the source of truth. (#910) -
Justfile groups and aliases.
just --listshows recipes organized by purpose, and common tasks have short aliases (just tfor test,just dfor docs). Thanks @npikall! (#906) -
Dev watcher picks up cookiecutter.json changes. The
dev.pyfile watcher now regenerates the project when you editcookiecutter.json, not just template files. -
Default author website set to
https://audrey.feldroy.com/so the generated README shows a real example instead of a blank field.
Contributors
@audreyfeldroy (Audrey M. Roy Greenfeld) designed and built this release: the docs system, coverage setup, security scanning, structured issue forms, one-command releases, and the dev watcher improvements.
Thanks to @pydanny (Daniel Roy Greenfeld) for reviewing and merging the release script, and to @npikall (Niko Pikall) for organizing justfile recipes with groups and aliases.