build(deps): bump pyarrow from 24.0.0 to 25.0.0 - #14
Conversation
005dfcb to
f15fa40
Compare
Bumps [pyarrow](https://github.com/apache/arrow) from 24.0.0 to 25.0.0. - [Release notes](https://github.com/apache/arrow/releases) - [Commits](apache/arrow@apache-arrow-24.0.0...apache-arrow-25.0.0) --- updated-dependencies: - dependency-name: pyarrow dependency-version: 25.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
f15fa40 to
6c8abad
Compare
gcalpay
left a comment
There was a problem hiding this comment.
Requesting changes before this dependency update is merged.
I reviewed the PR diff, the current Verify/CodeQL/dependency-audit results, the strict-mypy failures, and the relevant Apache Arrow 25.0.0 typing notes.
1. Do not raise the declared minimum PyArrow version without a compatibility reason
This PR changes Carnopy's public runtime requirement from pyarrow>=16 to pyarrow>=25.0.0, in addition to resolving the lockfile from PyArrow 24.0.0 to 25.0.0. The existing >=16 constraint already permits installation of PyArrow 25. Raising the lower bound therefore contracts Carnopy's declared compatibility range and should only be done if Carnopy actually requires an API/behavior introduced after PyArrow 16. I found no such justification in this dependency-only PR.
Please preserve the existing lower bound unless a source-level compatibility review demonstrates that older supported PyArrow versions must be dropped.
2. The PR currently fails Carnopy's strict type checks
Runtime tests pass on Python 3.11, 3.12, 3.13 and 3.14, and the installed QML smoke tests pass on Windows, Ubuntu and macOS. Dependency review, dependency audit and CodeQL also pass. However, Verify is red because both strict-mypy jobs fail:
src/carnopy/inspection.py:503: unusedtype: ignore[no-untyped-call]src/carnopy/app/table_preview.py:49: unusedtype: ignore[no-untyped-call]src/carnopy/app/table_preview.py:66: unusedtype: ignore[no-untyped-call]
These should not simply be interpreted as "PyArrow 25 has better typing". Apache Arrow 25.0.0 explicitly notes that Python annotations are being withheld from wheels until they are complete, following upstream type-checker problems with the incomplete PyArrow stubs (apache/arrow#49831). That upstream change can make existing suppressions become unused while simultaneously reducing what mypy can check.
Relevant upstream context:
Before merging, please choose an intentional typing strategy rather than deleting suppressions solely to make CI green. In particular, verify how the chosen fix behaves across Carnopy's declared PyArrow support range and rerun the full strict-mypy and test suites.
Recommendation
The PyArrow 25 runtime update itself looks promising from the passing test matrix, but this PR should not be merged as-is. First resolve the typing regression/behavior intentionally, decide whether the >=16 compatibility floor remains valid, and get Verify fully green.
Bumps pyarrow from 24.0.0 to 25.0.0.
Release notes
Sourced from pyarrow's releases.
Commits
59bea6eMINOR: [Release] Update versions for 25.0.0381fab6MINOR: [Release] Update .deb/.rpm changelogs for 25.0.07f72d5bMINOR: [Release] Update CHANGELOG.md for 25.0.0fe2f85cGH-50336: [Release][Archery] Fix archery GitHub integration for release scrip...c658548GH-50293: [CI] Run check-labels for all triggers to avoid cancelling further ...f83c8caGH-50330: [C++][R][Parquet] Add missing typename in RleBitPackedDecoderGetRun...35e0f63GH-50318: [R][CI] Install missing libpng-dev for test-r-linux-as-cran (#50328)61ca7a9GH-50295: [C++][R] #include <ranges> in vector_select_k.cc breaks macOS CRAN ...1b6edb8GH-50291: [Python][Packaging] Stop using nightly build dependencies for build...e183ea9MINOR: [Docs] Add Timestamp With Offset to canonical extension types status (...