Developer Notes⚓︎
Local Development⚓︎
git clone https://github.com/kyleking/copier-template-tester.git
cd copier-template-tester
uv sync --all-extras
# See the available tasks
uv run calcipy
# Or use a local 'run' file (so that 'calcipy' can be extended)
./run
# Run the default task list (lint, auto-format, test coverage, etc.)
./run main
# Make code changes and run specific tasks as needed:
./run lint.fix test
Maintenance⚓︎
Dependency upgrades can be accomplished with:
uv lock --upgrade
uv sync --all-extras
Publishing⚓︎
Publishing is automated via GitHub Actions using PyPI Trusted Publishing. Tag creation triggers automated publishing.
./run release # Bumps version, creates tag, pushes → triggers publish
./run release --suffix=rc # For pre-releases
Initial Setup⚓︎
One-time setup to enable PyPI Trusted Publishing:
Configure GitHub Environments
Repository Settings → Environments:
- Create testpypi environment (no protection rules)
- Create pypi environment with “Required reviewers” enabled
Register Trusted Publishers
PyPI: https://pypi.org/manage/project/copier_template_tester/settings/publishing/
- Owner: kyleking
- Repository: copier_template_tester
- Workflow: publish.yml
- Environment: pypi
- Or environment testpypi (for TestPyPI)
Manual Publishing⚓︎
For emergency manual publish:
export UV_PUBLISH_TOKEN=pypi-...
uv build
uv publish
Current Status⚓︎
| File | Statements | Missing | Excluded | Coverage |
|---|---|---|---|---|
copier_template_tester/__init__.py |
4 | 0 | 0 | 100.0% |
copier_template_tester/_config.py |
15 | 0 | 3 | 100.0% |
copier_template_tester/_output_reporter.py |
37 | 0 | 0 | 100.0% |
copier_template_tester/_pre_commit_support.py |
13 | 0 | 0 | 93.3% |
copier_template_tester/_runtime_type_check_setup.py |
13 | 0 | 37 | 100.0% |
copier_template_tester/_write_output.py |
84 | 0 | 30 | 100.0% |
copier_template_tester/main.py |
61 | 1 | 22 | 97.2% |
| Totals | 227 | 1 | 92 | 98.9% |
Generated on: 2026-03-24