Repository navigation
ci: add uv.lock and unblock the matrix - #6
Merged
Merged
Conversation
- Generate uv.lock so setup-uv cache step succeeds in CI. - Add `method="interpolate"` to scipy.stats.anderson; SciPy 1.17 made this a required argument and `filterwarnings=error` turned the FutureWarning into a test failure. - Fix ruff PD011/E501 issues (`.values` -> `.to_numpy()`, wrap long lines), drop the removed PD901 ignore, suppress PD010 on the only legitimate `.pivot` call. - Add `pandas` to mypy `ignore_missing_imports` (matches existing treatment of numpy/scipy/sklearn) and type `_rolling_kwargs` via a TypedDict to satisfy strict mode.
macOS adds wall-time but no coverage for a numpy-pure package — tests now run on ubuntu-latest only across 3.10 / 3.11 / 3.12. CHANGELOG documents the uv.lock addition, the macOS drop, the SciPy anderson fix, and the mypy/pandas import handling.
3 tasks
Passing method="interpolate" to scipy.stats.anderson breaks on the SciPy versions resolved for Python 3.10 (kwarg added in 1.15). Switch to a warnings.catch_warnings block: works across the whole declared scipy floor (>=1.11) without raising the floor and risking 3.10 support.
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.
Summary
Gets the CI matrix from all-red to green and supersedes #5.
The root cause of every failing job was the missing
uv.lock:astral-sh/setup-uv@v3is configured withenable-cache: true, which hard-errors when there's no lockfile to glob. #5 cleaned up adjacent lint/type/test issues but never added the lockfile, so it would still fail on merge.Changes
uv.lock(84 packages, resolved on 3.12). Fixes the cache step.macos-latestfrom the test matrix (carried over from ci: drop macOS from matrix; clean up checks for green CI #5). For a numpy-pure package the macOS runner doubles wall time without adding coverage.scipy.stats.anderson(..., method="interpolate")— SciPy 1.17 mademethodeffectively required; the resultingFutureWarningwas being promoted to an error by pytest'sfilterwarnings = ["error"]..values→.to_numpy()(PD011), wrap long lines (E501), drop the removedPD901ignore, suppressPD010on the one intentional.pivotcall.pandastoignore_missing_imports(matches existing numpy/scipy/sklearn treatment); replace_rolling_kwargs: dict[str, object]with a TypedDict so**unpacktypechecks.Verified locally
Relationship to #5
Same goal, different approach in two places:
uv.lockstrict = true, ignores pandas importspandas-stubs>=1.17Recommend closing #5 in favour of this one.
Test plan
🤖 Generated with Claude Code