Repository navigation
chore: Update copier template to v0.6.0 - #72
Pavel Zwerschke (pavelzw) wants to merge 3 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #72 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 13 13
Lines 1140 1140
=========================================
Hits 1140 1140 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
One or more custom setup steps configured for this repository failed during this Copilot code review run: Setup steps run before each review. If the review above is missing context, or no review was posted at all, the failing step above may be the cause. See the workflow run for failure details, fix your setup steps configuration, and re-request a review. Note You can configure setup steps for Copilot code review separately from Copilot cloud agent with a |
There was a problem hiding this comment.
🟡 Changes recommended
The setup workflow requests a removed environment, and parallel lint jobs can overwrite each other’s edits.
2 open issues
What changed in this PR
Updates Diffly to Copier template v0.6.0 to restore scheduled template updates, while retaining hatch-vcs packaging and repository-specific tooling.
Changes:
- Replaces pre-commit with lefthook and moves lint dependencies into the default environment.
- Adds Python 3.15 coverage and refreshes CI actions.
- Updates template metadata, development instructions, and configuration files.
| File | Description |
|---|---|
pyproject.toml |
Adds Python 3.15 classification and Tombi configuration. |
pixi.toml |
Migrates lint tooling and adds the Python 3.15 environment. |
diffly/__init__.py |
Makes version-lookup imports private aliases. |
AGENTS.md |
Documents the new lint command. |
.pre-commit-config.yaml |
Removes the previous hook configuration. |
.lefthook.yaml |
Defines replacement lint and fixture-generation hooks. |
.gitignore |
Simplifies exclusions while retaining repository-specific entries. |
.github/workflows/scorecard.yml |
Updates actions and disables checkout credential persistence. |
.github/workflows/nightly.yml |
Updates setup-pixi. |
.github/workflows/copilot-setup-steps.yml |
Updates setup-pixi for environment preparation. |
.github/workflows/ci.yml |
Switches lint commands and adds Python 3.15 testing. |
.github/workflows/build.yml |
Updates setup and artifact actions without changing packaging. |
.envrc |
Uses layout pixi while retaining optional .env loading. |
.copier-answers.yml |
Records template v0.6.0 and adds update instructions. |
Review effort: Balanced
| - name: generate-fixture | ||
| run: pixi {run} test-coverage -m generate | ||
| - group: | ||
| parallel: true |

Manual copier update to v0.6.0. The scheduled quant-ranger copier updater skipped this repository because
_commitwas not a tag (v0.4.1-60-g881f631). With_commit: v0.6.0, future scheduled updates will work again.The main template change is the switch from pre-commit to lefthook. After pulling, run
pixi run pre-commit-installto install the new Git hook, and usepixi run lintinstead ofpixi run pre-commit-run.Conflict resolutions worth reviewing
diffly = { path = "." }) and a static0.0.0version thatbuild.ymlreplaces from the tag on release, as in the template. hatch-vcs,pipand thepostinstalltask (plus its CI, Copilot, nightly and docs references) are removed; thebuildfeature is part of thedefaultenvironment andbuild.ymlmatches the template, so publishing now triggers on tag pushes instead ofrelease: published.D) is not enabled: the template turns on ruff'sDrules with the Google convention and drops docformatter. In diffly that flags 26D205docstrings, so I kept docformatter and leftDoff. Enabling it can be a follow-up..lefthook.yaml: fixture generation (test-coverage -m generate), insert-license with the BSD-3-Clause header, docformatter, and the fixture/.rstexcludes for trailing-whitespace, end-of-file and check-merge-conflict. ruff now runs only on the staged.py/.pyifiles, as pre-commit did. The template's project-wide run would also reformat markdown code blocks and notebooks.lintfeature is now part ofdefault(lefthook runs tools in the default env) and the separatelintenv is gone. I added apy315env and CI matrix entry and keptno-optional-dependencies..envrcnow useslayout pixiand keepsdotenv_if_exists .env..gitattributes,.gitignore,dependabot.yml,README.md,AGENTS.mdand thediffly/__init__.pylicense header keep their repo-specific content.AGENTS.mdcommands now point topixi run lint.pixi run lintis clean.pixi run testpasses on py314 (default) and py315: 422 passed.