build(deps): Bump the python group across 1 directory with 16 updates - #296
build(deps): Bump the python group across 1 directory with 16 updates#296dependabot[bot] wants to merge 1 commit into
Conversation
bb536d8 to
b504849
Compare
#296 (dependabot, 16 packages) fails `quality` and all four `tests-and-type-check` legs. The runtime stack is fine — every leg reports 1111 passed before dying on `uv run ty check`. One package is responsible: ty 0.0.18 -> 0.0.65, which emits 16 diagnostics. Reproduced by running `uvx --from ty==0.0.65 ty check` against main. Fifteen were tooling artifacts. One was a real bug. `SVDynamics` declared `name: str` and `has_explicit_level: bool` as mutable protocol members. Mutable members are invariant, so `RandomWalk.name: Literal["random_walk"]` never actually satisfied the protocol, and `SV_DYNAMICS_REGISTRY: dict[str, type[SVDynamics]]` was unassignable. Declaring them read-only properties makes the members covariant and the narrowing legal. `@runtime_checkable` is unaffected: `isinstance` checks attribute presence, which pydantic fields still provide. Note `Mapping[str, type[SVDynamics]]` does *not* fix this — measured, still 16 diagnostics. Container covariance does not change the element check. The remaining 14 were `invalid-assignment` on lines like with pytest.raises(ValidationError): data.endog = np.zeros((100, 3)) where the assignment *is* the assertion. ty >= 0.0.65 models pydantic frozen semantics and rejects them statically. The rule is now ignored for `tests/**` only; `src/` keeps it, which is what surfaced the protocol bug. Four inline `# ty: ignore[invalid-assignment]` comments in test_sv_spec.py and test_volatility.py are now redundant and removed — they were earlier patches for this same pattern. `_check_finite` used `zip(frame.columns, finite, strict=True)`, which ty could not unpack. Rewritten as a boolean mask over the index: shorter, no suppression needed. Dependabot now groups ty/ruff/prek separately from runtime dependencies. Bundled together, one new lint rule blocks everything else in the PR — #296 stalled numpy 2.4.6's fix for `np.linalg.svd(hermitian=True)` returning non-unitary `vh`, which matters for a library factorising covariances. Verified on both halves of the pinned matrix — ty 0.0.18, 0.0.65 and 0.0.67 all clean, `make check` passes, and the suite passes on py3.11/PyMC 5/ArviZ 0 (1111 passed) and py3.12/PyMC 6/ArviZ 1 (1112 passed).
|
Diagnosed: 15 of the 16 Only I verified the fix directly against this branch's @dependabot rebase |
b504849 to
eb233de
Compare
|
Correction on my own Sequence is: merge #299 → rebase this again → green. Verified in advance by overlaying this branch's |
…299) #296 (dependabot, 16 packages) fails `quality` and all four `tests-and-type-check` legs. The runtime stack is fine — every leg reports 1111 passed before dying on `uv run ty check`. One package is responsible: ty 0.0.18 -> 0.0.65, which emits 16 diagnostics. Reproduced by running `uvx --from ty==0.0.65 ty check` against main. Fifteen were tooling artifacts. One was a real bug. `SVDynamics` declared `name: str` and `has_explicit_level: bool` as mutable protocol members. Mutable members are invariant, so `RandomWalk.name: Literal["random_walk"]` never actually satisfied the protocol, and `SV_DYNAMICS_REGISTRY: dict[str, type[SVDynamics]]` was unassignable. Declaring them read-only properties makes the members covariant and the narrowing legal. `@runtime_checkable` is unaffected: `isinstance` checks attribute presence, which pydantic fields still provide. Note `Mapping[str, type[SVDynamics]]` does *not* fix this — measured, still 16 diagnostics. Container covariance does not change the element check. The remaining 14 were `invalid-assignment` on lines like with pytest.raises(ValidationError): data.endog = np.zeros((100, 3)) where the assignment *is* the assertion. ty >= 0.0.65 models pydantic frozen semantics and rejects them statically. The rule is now ignored for `tests/**` only; `src/` keeps it, which is what surfaced the protocol bug. Four inline `# ty: ignore[invalid-assignment]` comments in test_sv_spec.py and test_volatility.py are now redundant and removed — they were earlier patches for this same pattern. `_check_finite` used `zip(frame.columns, finite, strict=True)`, which ty could not unpack. Rewritten as a boolean mask over the index: shorter, no suppression needed. Dependabot now groups ty/ruff/prek separately from runtime dependencies. Bundled together, one new lint rule blocks everything else in the PR — #296 stalled numpy 2.4.6's fix for `np.linalg.svd(hermitian=True)` returning non-unitary `vh`, which matters for a library factorising covariances. Verified on both halves of the pinned matrix — ty 0.0.18, 0.0.65 and 0.0.67 all clean, `make check` passes, and the suite passes on py3.11/PyMC 5/ArviZ 0 (1111 passed) and py3.12/PyMC 6/ArviZ 1 (1112 passed).
|
@dependabot rebase |
Bumps the python group with 16 updates in the / directory: | Package | From | To | | --- | --- | --- | | [numpy](https://github.com/numpy/numpy) | `2.4.2` | `2.4.6` | | [pandas](https://github.com/pandas-dev/pandas) | `3.0.1` | `3.0.5` | | [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` | | [xarray](https://github.com/pydata/xarray) | `2026.2.0` | `2026.7.0` | | [scipy](https://github.com/scipy/scipy) | `1.17.0` | `1.17.1` | | [pytest](https://github.com/pytest-dev/pytest) | `9.0.2` | `9.1.1` | | [prek](https://github.com/j178/prek) | `0.3.4` | `0.4.12` | | [ty](https://github.com/astral-sh/ty) | `0.0.18` | `0.0.66` | | [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.2` | `0.16.1` | | [typing-extensions](https://github.com/python/typing_extensions) | `4.15.0` | `4.16.0` | | [ipython](https://github.com/ipython/ipython) | `9.10.0` | `9.16.1` | | [shibuya](https://github.com/lepture/shibuya) | `2026.7.11` | `2026.7.12` | | [ipykernel](https://github.com/ipython/ipykernel) | `7.2.0` | `7.3.0` | | [jupytext](https://github.com/jupytext/jupytext) | `1.19.4` | `1.19.5` | | [sphinx-codeautolink](https://github.com/felix-hilden/sphinx-codeautolink) | `0.18.1` | `0.19.0` | Updates `numpy` from 2.4.2 to 2.4.6 - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v2.4.2...v2.4.6) Updates `pandas` from 3.0.1 to 3.0.5 - [Release notes](https://github.com/pandas-dev/pandas/releases) - [Commits](pandas-dev/pandas@v3.0.1...v3.0.5) Updates `pydantic` from 2.12.5 to 2.13.4 - [Release notes](https://github.com/pydantic/pydantic/releases) - [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md) - [Commits](pydantic/pydantic@v2.12.5...v2.13.4) Updates `xarray` from 2026.2.0 to 2026.7.0 - [Release notes](https://github.com/pydata/xarray/releases) - [Commits](pydata/xarray@v2026.02.0...v2026.07.0) Updates `scipy` from 1.17.0 to 1.17.1 - [Release notes](https://github.com/scipy/scipy/releases) - [Commits](scipy/scipy@v1.17.0...v1.17.1) Updates `pytest` from 9.0.2 to 9.1.1 - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest@9.0.2...9.1.1) Updates `prek` from 0.3.4 to 0.4.12 - [Release notes](https://github.com/j178/prek/releases) - [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md) - [Commits](j178/prek@v0.3.4...v0.4.12) Updates `ty` from 0.0.18 to 0.0.66 - [Release notes](https://github.com/astral-sh/ty/releases) - [Changelog](https://github.com/astral-sh/ty/blob/main/CHANGELOG.md) - [Commits](astral-sh/ty@0.0.18...0.0.66) Updates `pytest-cov` from 7.0.0 to 7.1.0 - [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst) - [Commits](pytest-dev/pytest-cov@v7.0.0...v7.1.0) Updates `ruff` from 0.15.2 to 0.16.1 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.15.2...0.16.1) Updates `typing-extensions` from 4.15.0 to 4.16.0 - [Release notes](https://github.com/python/typing_extensions/releases) - [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md) - [Commits](python/typing_extensions@4.15.0...4.16.0) Updates `ipython` from 9.10.0 to 9.16.1 - [Release notes](https://github.com/ipython/ipython/releases) - [Commits](ipython/ipython@9.10.0...9.16.1) Updates `shibuya` from 2026.7.11 to 2026.7.12 - [Release notes](https://github.com/lepture/shibuya/releases) - [Changelog](https://github.com/lepture/shibuya/blob/main/docs/changelog.rst) - [Commits](lepture/shibuya@2026.7.11...2026.7.12) Updates `ipykernel` from 7.2.0 to 7.3.0 - [Release notes](https://github.com/ipython/ipykernel/releases) - [Changelog](https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md) - [Commits](ipython/ipykernel@v7.2.0...v7.3.0) Updates `jupytext` from 1.19.4 to 1.19.5 - [Release notes](https://github.com/jupytext/jupytext/releases) - [Changelog](https://github.com/jupytext/jupytext/blob/main/CHANGELOG.md) - [Commits](jupytext/jupytext@v1.19.4...v1.19.5) Updates `sphinx-codeautolink` from 0.18.1 to 0.19.0 - [Release notes](https://github.com/felix-hilden/sphinx-codeautolink/releases) - [Commits](felix-hilden/sphinx-codeautolink@v0.18.1...v0.19.0) --- updated-dependencies: - dependency-name: ipykernel dependency-version: 7.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: ipython dependency-version: 9.16.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: jupytext dependency-version: 1.19.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: python - dependency-name: numpy dependency-version: 2.4.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: python - dependency-name: pandas dependency-version: 3.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: python - dependency-name: prek dependency-version: 0.4.11 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: pydantic dependency-version: 2.13.4 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python - dependency-name: pytest dependency-version: 9.1.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: pytest-cov dependency-version: 7.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: scipy dependency-version: 1.17.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: python - dependency-name: shibuya dependency-version: 2026.7.12 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: python - dependency-name: sphinx-codeautolink dependency-version: 0.19.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: ty dependency-version: 0.0.65 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: python - dependency-name: typing-extensions dependency-version: 4.16.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: python - dependency-name: xarray dependency-version: 2026.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python ... Signed-off-by: dependabot[bot] <support@github.com>
eb233de to
9b47fd8
Compare
|
Looks like these dependencies are updatable in another way, so this is no longer needed. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #296 +/- ##
=====================================
Coverage 96.1% 96.1%
=====================================
Files 55 55
Lines 3548 3548
Branches 441 441
=====================================
Hits 3410 3410
Misses 102 102
Partials 36 36 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bumps the python group with 16 updates in the / directory:
2.4.22.4.63.0.13.0.52.12.52.13.42026.2.02026.7.01.17.01.17.19.0.29.1.10.3.40.4.120.0.180.0.667.0.07.1.00.15.20.16.14.15.04.16.09.10.09.16.12026.7.112026.7.127.2.07.3.01.19.41.19.50.18.10.19.0Updates
numpyfrom 2.4.2 to 2.4.6Release notes
Sourced from numpy's releases.
... (truncated)
Commits
b832a09Merge pull request #31462 from charris/prepare-2.4.657cc147REL: Prepare for the NumPy 2.4.6 release0c72b0bMerge pull request #31459 from charris/backport-313479778d26BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...e0e3876BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...d1bffebBUG:np.linalg.svd(..., hermitian=True)returns non-unitaryvh(#31347)8d8d7e5Merge pull request #31453 from seberg/issue-31452bddaab7BUG: Fix regression inarr.conj()37a1eccMerge pull request #31444 from charris/begin-2.4.63c0e043MAINT: Prepare 2.4.x for further developmentUpdates
pandasfrom 3.0.1 to 3.0.5Release notes
Sourced from pandas's releases.
... (truncated)
Commits
e68db09RLS: 3.0.50697623Backport PR #66428: DOC: update whatsnew for 3.0.5 (#66430)5d846d0Backport PR #66090 on branch 3.0.x (BLD: exclude numpy 2.5.0 when building wh...bef7a2bBackport PR #66169 on branch 3.0.x (CI: Fix pyarrow-nightly job (stale nightl...8188eb1RLS: 3.0.4 (#66079)bd35f15[3.0.x] BUG: fix CoW issue in eval() (#66072)6195872[backport 3.0.x] BUG: anchor whole alternation in Series.str.match for PyArro...70313beBackport PR #66051 on branch 3.0.x (BUG: fix regression in DataFrame setitem ...57ed3e2[backport 3.0.x] Bump pypa/cibuildwheel from 3.4.1 to 4.1.0 (#65934) (#66026)f9693fc[backport 3.0.x] BUG(pandas 3.0 regression): drop(index=...) doesn't accept N...Updates
pydanticfrom 2.12.5 to 2.13.4Release notes
Sourced from pydantic's releases.
... (truncated)
Changelog
Sourced from pydantic's changelog.
... (truncated)
Commits
cf67d4bFix lintingf0d8a21Prepare release v2.13.45e3fe1dCheck for pydantic tag pattern in CI7f9edccDocument tagging conventionsb46a0c9Adaptpydantic-corelinker flags on macOS50629c8Update to PyPy 7.3.228522ebbPreserveRootModelcore metadataa37f3afAdaptMISSINGsentinel test to work with unreleasedtyping_extensionsver...909259aRemove Logfire example in documentation2c4174cBump libc from 0.2.155 to 0.2.185Updates
xarrayfrom 2026.2.0 to 2026.7.0Release notes
Sourced from xarray's releases.
... (truncated)
Commits
0238035Release notes for v2026.07.0 (#11445)02cd481resolve the sparse errors (#11439)be61a82zarr deprecation: enums becoming string literals (#11438)1e1973bopen an issue even with a missing log file (#11436)718ee3dDOC fix parameter name in CoordinateTransform.reverse docstring (#11433)030c929Adapt test_dataset_math_errors for coming NumPy changes (#11435)b8141f6Address coming pd.infer_freq behavior change (#11434)66e7d83MAINT: remove pandas 2.2 compat (incl. infer_freq) (#11430)1cecceeBump the actions group with 5 updates (#11428)71138a7Fix incorrect parameter name in cumulative() docstrings (#11425)Updates
scipyfrom 1.17.0 to 1.17.1Release notes
Sourced from scipy's releases.
Commits
527eb7fREL: 1.17.1 release commit [wheel build]f11663bMerge pull request #24584 from tylerjereddy/treddy_prep_1.17.12c49e68DOC: PR 24584 revisions400fa15safely convert index dtypes to intc for csgraph and superLU8c70404MAINT: PR 24584 revisions [wheel build]6dda8c1BUG: PR 24584 revisions4a187e5DOC: PR 24584 revisions463ee9fENH: linalg/inv: re-enable overwrite_a for 2D inputs (#24442)df746eeBUG: linalg: restore dtypes in inv, solve, det246bfeeMAINT:optimize: Enable multi-phase init to DIRECTUpdates
pytestfrom 9.0.2 to 9.1.1Release notes
Sourced from pytest's releases.
... (truncated)
Commits
cf470ecPrepare release version 9.1.1e0c8ce6Merge pull request #14625 from pytest-dev/patchback/backports/9.1.x/a07c31a97...1b82d16Merge pull request #14624 from pytest-dev/patchback/backports/9.1.x/b375b79ec...501c4bcMerge pull request #14596 from bluetech/doc-classmethodb61f588Merge pull request #14622 from chrisburr/fix-14608-initial-conftest-test-subdir9a567e0[automated] Update plugin list (#14617) (#14618)ef8b299Merge pull request #14620 from pytest-dev/patchback/backports/9.1.x/680f9f3ed...66abd07Merge pull request #14220 from bysiber/fix-stale-iexp-raisesgroup79fbf93Merge pull request #14612 from pytest-dev/patchback/backports/9.1.x/974ed48b6...0d312ebMerge pull request #14611 from bluetech/parametrize-argvalues-typingUpdates
prekfrom 0.3.4 to 0.4.12Release notes
Sourced from prek's releases.
... (truncated)
Changelog
Sourced from prek's changelog.
... (truncated)
Commits
728238cBump version to 0.4.12 (#2473)e5403caAdd--require-groupfor hook group intersections (#2472)370fc41Use ssl-certs to load custom certificates (#2470)7cc64caRewrite benchmark documentation (#2469)6a81c10Update ubuntu Docker tag to v26 (#2466)500a9d4Run Conda tests sequentially (#2468)ebc1c38Run .NET tests sequentially on Unix (#2467)88fec17Update Rust crate tokio-util to v0.7.19 (#2463)9d9c9f5Use full object IDs in diff snapshots (#2448)0c7fc84Update Rust crate tokio to v1.53.1 (#2462)Updates
tyfrom 0.0.18 to 0.0.66Release notes
Sourced from ty's releases.
... (truncated)
Changelog
Sourced from ty's changelog.
... (truncated)
Commits
3e28e58Bump version to 0.0.66 (#4166)87de836Bump version to 0.0.65 (#4113)d784badREADME: Add link to Stable milestone (#4112)b4c1978Update actions/setup-python action to v7 (#4110)8d216a3Update actions/checkout action to v7.0.1 (#4107)06f44e9Update dependency prek to v0.4.10 (#4108)b3665fdUpdate prek dependencies (#4109)5e64a13Bump version to 0.0.64 (#4097)46f4915Bump version to 0.0.63 (#4071)df75992Bump version to 0.0.62 (#4057)Updates
pytest-covfrom 7.0.0 to 7.1.0Changelog
Sourced from pytest-cov's changelog.
Commits
66c8a52Bump version: 7.0.0 → 7.1.0f707662Make the examples use pypy 3.11.6049a78Make context test use the old ctracer (seems the new sysmon tracer behaves di...8ebf20bUpdate changelog.861d30eRemove the backup context manager - shouldn't be needed since coverage 5.0, ...fd4c956Pass the precision on the nulled total (seems that there's some caching goion...78c9c4eOnly run the 3.9 on older deps.4849a92Punctuation.197c35eUpdate changelog and hopefully I don't forget to publish release again :))14dc1c9Update examples to use 3.11 and make the adhoc layout example look a bit more...Updates
rufffrom 0.15.2 to 0.16.1Release notes
Sourced from ruff's releases.