Maintain the Template#
This guide separates two different maintenance flows that are easy to mix up:
maintaining a project generated from the template,
maintaining the template package itself.
Maintain a generated project#
Inside an existing generated project, update from the latest template:
uvx --with=copier-template-extensions copier update . --trust
If you prefer the package wrapper behavior (copy vs update autodetected), run uvx python-package-copier-template . from the project directory as shown in Getting Started.
The generated project also includes an optional scheduled workflow (template-update.yml) that opens PRs with template refreshes.
Maintain this repository (the template package)#
When editing python-package-copier-template itself, use local checks:
make qa
For docs-only work:
make docs
make docs-open
For a full smoke flow against a generated project:
make smoke
That runs Copier from current HEAD, then executes QA in the generated project.
Maintain the demo release flow#
Releases of this repository publish to PyPI and then refresh mgaitan/yet-another-demo from the newly released template.
That automation depends on the GitHub Actions secret DEMO_REPO_TOKEN.
Notes on GitHub authentication#
For non-interactive gh operations in scripts, use GH_TOKEN.
Within GitHub Actions workflows, use GITHUB_TOKEN with explicit permissions.