Repository navigation
chore: repo refresh (2026-10) - #275
Merged
Merged
Conversation
- validate-pyproject: v0.25 -> 0.26 - ruff-pre-commit: v0.15.4 -> v0.16.10 - mirrors-mypy: v1.19.1 -> v2.4.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ruff 0.16 now formats Python code blocks in Markdown (README.md, docs/v2-migration.md). Moved one trailing comment above its line so the formatter doesn't split a short call over three lines. - mypy 2.4: the `no-any-return` ignore in _point_visiting.py is unused with recent numpy stubs but still needed with older ones (depends on what the hook env resolves), so add `unused-ignore` to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- actions/checkout: v6 -> v7 (ci.yml, docs.yml) - pyvista/setup-headless-display-action: v4 -> v5 - softprops/action-gh-release: v2 -> v3 (Node 24 runtime) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Python 3.10 reached end-of-life on 2026-10-01: requires-python >=3.11, classifier removed, ruff target-version py311. - CI main matrix [3.10, 3.12, 3.14] -> [3.11, 3.12, 3.14] (min/middle/max across all OSes; 3.12 kept as middle, 3.13 is still covered by include rows). lowest-direct row on ubuntu moves from 3.10 to 3.11. - Python 3.15 is in its RC phase (final planned within 30 days): add one ubuntu-latest row with a plain "3.15" (setup-uv resolves the pre-release without a flag; numpy, pydantic-core and shapely already publish cp315 wheels) and the 3.15 classifier. - No dependency environment markers became always-true/false at 3.11. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ruff (UP rules, target py311): - import Self / Required from typing instead of typing_extensions (UP035) - Axis(str, Enum) -> Axis(StrEnum) (UP042). Axis already overrides __str__ to return the value, so str()/format()/repr() are unchanged. typing_extensions remains a dependency (deprecated, TypedDict). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #275 +/- ##
==========================================
- Coverage 93.62% 93.62% -0.01%
==========================================
Files 33 33
Lines 2590 2589 -1
==========================================
- Hits 2425 2424 -1
Misses 165 165 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- axis_key: subclasses narrow the base `str` field to `Literal[Axis.X]`. Pyright rejects narrowing a mutable attribute, but these fields are frozen, so ignore reportIncompatibleVariableOverride on those lines. - AutoFocusTransform: use `getattr(val, "z", val)` instead of a hasattr/attribute access that pyright can't narrow on `float` (same runtime behavior). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
setup-uv no longer publishes floating major tags (since v8), so pin the v10.2.0 commit SHA with a version comment. Breaking changes don't affect this repo: custom manifest-file format (unused), prune-cache default now false (v9), and enable-cache: auto disabled for pull_request_target / workflow_run / release (v10; we set enable-cache: true and don't use those). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Routine tooling refresh. One commit per step, so they can be reviewed, reverted or cherry-picked independently.
ci: autoupdate pre-commit hooksv0.25→0.26(upstream dropped thevprefix)v0.15.4→v0.16.10v1.19.1→v2.4.0style: fix lint errors from hook updatesREADME.mdanddocs/v2-migration.mdare reformatted (quote style, blank lines, line wrapping). This is the same diff as ci(pre-commit.ci): autoupdate #271. In one place a trailing comment forcedv2.ZRangeAround(range=4, step=1.0)onto three lines, so I moved that comment above the line.# type: ignore[no-any-return]in_point_visiting._distance_matrixis unused with recent numpy stubs but still needed with older ones. The mypy hook env resolves a different numpy under prek than under pre-commit-uv. I changed it to[no-any-return, unused-ignore]so it passes either way.ci: bump GitHub Actionsactions/checkoutv6 → v7. v7 refuses to check out fork PRs underpull_request_target/workflow_run, which this repo doesn't use.pyvista/setup-headless-display-actionv4 → v5. The new Wayland/weston option is opt-in and Linux-only, and the job runs on macOS; theqtinput is unchanged.softprops/action-gh-releasev2 → v3. The runtime moves to Node 24; the inputs used here are unchanged.astral-sh/setup-uvv7 → v10.2.0, as a commit-SHA pin with a# v10.2.0comment, in its own commit. setup-uv stopped publishing floating major tags after v7. None of the v8–v10 breaking changes affect this repo: the oldmanifest-fileformat isn't used,prune-cachenow defaults tofalse, andenable-cache: autonow disables caching onpull_request_target/workflow_run/release, but the workflows here setenable-cache: trueand don't use those events.chore: drop Python 3.10, add 3.15requires-python = ">=3.11", 3.10 classifier removed, 3.15 classifier added, rufftarget-version = "py311".["3.10", "3.12", "3.14"]→["3.11", "3.12", "3.14"](min/middle/max on all three OSes). I kept 3.12 as the middle because theincluderows already cover 3.13. Thelowest-directubuntu row moves from 3.10 to 3.11.ubuntu-latest/"3.15"row. setup-uv resolves the pre-release without a flag, and numpy, pydantic-core and shapely already publish cp315 wheels.>= 3.12.refactor: modernize syntax for Python >= 3.11Ruff
UPfixes for the py311 target:SelfandRequiredare now imported fromtyping(UP035).Axis(str, Enum)→Axis(StrEnum)(UP042).Axisalready defines__str__returning.value, sostr(), f-strings andrepr()give the same output.typing_extensionsremains a dependency becausedeprecatedandTypedDictstill come from it.The test suite passes locally on 3.11 (378 passed, 2 xfailed).
Decisions
Superseded PRs
Closes #273
Closes #271
Branch protection
Updated the classic branch protection on
main(required status checks;strict: trueand app IDs unchanged), because the matrix change renames two required jobs:macos-latest py3.10→macos-latest py3.11ubuntu-latest py3.10 lowest-direct→ubuntu-latest py3.11 lowest-directpre-commit.ci - pr,windows-latest py3.12andubuntu-latest py3.14are unchanged.Needs attention
main. They are fixed infix: resolve pyright errors in useq.v2, which adds 5# pyright: ignore[reportIncompatibleVariableOverride]comments on frozenaxis_key: Literal[...]overrides and replaces onehasattrcheck withgetattr(val, "z", val).🤖 Generated with Claude Code