Skip to content

fix: copier should not be a dev dependency#364

Open
coretl wants to merge 1 commit into
mainfrom
fix-343-copier-not-dev-dep
Open

fix: copier should not be a dev dependency#364
coretl wants to merge 1 commit into
mainfrom
fix-343-copier-not-dev-dep

Conversation

@coretl

@coretl coretl commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

copier should not be installed as a dev dependency of generated projects — it should be invoked via uvx copier instead. This PR removes it from the template's dev dependency group and updates the docs to recommend uvx copier update.

  • template/pyproject.toml.jinja: removed "copier" from the dev dependency-group list.
  • docs/how-to/update-template.md: changed the two bare copier update invocations to uvx copier update.
  • .github/CONTRIBUTING.md: changed copier update --vcs-ref=<branch_name> to uvx copier update --vcs-ref=<branch_name>.

Deliberately left untouched

  • Root pyproject.toml — this template repo's own test suite imports copier (from copier import run_copy), so it legitimately needs copier as a dev dependency here.
  • tests/test_example.py — its bare copier update call runs in this repo's own dev environment, not inside a generated project.
  • Tutorial docs (docs/tutorials/adopt-existing.md, docs/tutorials/create-new.md) and prose/comment mentions of "copier" — already correct or out of scope.

Testing

  • uv run --locked tox -e pre-commit — passed.
  • uv run --locked tox -e tests — 5 pre-existing failures unrelated to this change (sandbox network proxy blocks a docs-build version-switcher request to diamondlightsource.github.io, and one test has a version-string mismatch from running off an untagged commit rather than a release tag). No failures caused by this change; test_example_repo_updates's actual file-content diff was clean aside from that unrelated version string.

Closes #343


Generated by Claude Code

copier should be invoked via `uvx copier` rather than installed as a
dev dependency of generated projects. Update docs accordingly.

Closes #343

coretl commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Summary

Removed copier from the generated project's dev dependency group (template/pyproject.toml.jinja) and updated the docs (docs/how-to/update-template.md, .github/CONTRIBUTING.md) to recommend uvx copier update instead of a bare copier update.

CI status

All checks passed:

  • lint / run
  • test / run
  • docs / build
  • validate-pr-title
  • example / release — skipped (not applicable to this PR)

Locally, tox -e tests had shown some failures caused by this sandbox's network policy blocking a docs-build request and an untagged-commit version-string mismatch; neither reproduced in the real CI run, confirming they were sandbox-only artifacts unrelated to this change.

Deliberately left untouched

  • Root pyproject.toml — this template repo's own test suite imports copier (from copier import run_copy), so it legitimately needs it as a dev dependency here.
  • tests/test_example.py — its bare copier update call runs in this repo's own dev environment, not inside a generated project.
  • Tutorial docs and prose/code-comment mentions of "copier" — already correct or out of scope.

Closes #343


Generated by Claude Code

@coretl
coretl requested a review from gilesknap July 24, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

copier should not be a dev dependency

2 participants