Repository navigation
Track Python 3.15 dependency wheel compatibility #45
Description
Current state
PyArrow is no longer the external wheel blocker. On 2026-10-17, PyPI lists PyArrow 26.0.0 CPython 3.15 wheels for Linux, macOS and Windows, including x86-64 and ARM platforms where applicable. The published wheel filenames and SHA256 digests were inspected directly; this is distribution evidence, not an executed Diagnostic compatibility result.
Diagnostic still declares Requires-Python >=3.12,<3.15. Reviewed source 7525a8c retains PyArrow 25.0.0 in its frozen lock and the configured Python 3.15 qualification exception. No Python 3.15 installation or supported-platform test qualification has been established by this update. The issue remains open for actual compatibility work, not waiting for an already-published wheel.
Historical reproduction
The original published ml4t-diagnostic==0.1.2 dependency set failed installation on CPython 3.15.0rc1 when its PyArrow release had no compatible wheel and a source build lacked Arrow C++ development libraries. The subsequent PyArrow 25.0.1 wheel inspection likewise found no cp315 artifacts. Retain that evidence as historical; it does not describe current PyArrow 26.0.0 availability.
Acceptance
- Refresh the qualification dependency set to a compatible published PyArrow release and resolve all remaining supported-install constraints.
- Execute core installation and the complete non-hardware-dependent Diagnostic suite on Python 3.15 across Linux, macOS and Windows, including relevant installed-wheel public workflows and real failure/timeout/empty-collection detection.
- Keep the current truthful Python upper bound and exception until the proposed support change passes its actual gates. Remove them together only after qualification, preserving existing Python 3.12-3.14 support.
- Verify published-package support before closing the tracking issue; a source-only passing candidate is not a published replacement.
The earlier measurement hold is no longer current. Decision 0013 keeps Python 3.12-3.14 qualification blocking and permits a truthful <3.15 bound on the 0.1 release line. It requires current owning-issue evidence and a visible monthly canary. The dependency review triggers have occurred; full Python 3.15 installation/import/suite qualification is still outstanding. A validated exception job is not a Python 3.15 test run. This issue remains open; the approved wait does not block an otherwise qualified supported-platform patch release.
Tracked across libraries by ml4t/ecosystem#2.
AI assistance
Codex inspected the current PyPI metadata, Diagnostic dependency declarations and existing issue evidence, and drafted this update. The owner retains responsibility for source review and executed qualification; none is inferred from wheel availability.
Activity
stefan-jansen commentedon Sep 3, 2026
Maintainer status: still blocked. PyPI currently reports PyArrow 25.0.1, which has no CPython 3.15 wheels. The next review is 2026-09-15, or earlier when PyArrow 26.0.0 is published. Closure still requires Linux, macOS, and Windows Python 3.15 qualification plus published-package verification.
[-]Track Python 3.15 PyArrow wheel compatibility[/-][+]Track Python 3.15 dependency wheel compatibility[/+]stefan-jansen commentedon Sep 3, 2026
Fresh candidate evidence on 2026-09-03 adds a second dependency-stack blocker. Installing current main c1a7830 on CPython 3.15.0rc1 resolves Pydantic 2.13.5 to pydantic-core 2.46.5; that version has no cp315 wheel and its maturin source build fails before import. PyPI currently shows 30 cp315 files for pydantic-core 2.48.0, but Pydantic 2.13.5 pins 2.46.5. PyArrow 25.0.1 still has zero cp315 files. The issue now tracks both blockers; closure still requires an end-to-end install and full three-platform qualification, so resolving either package alone is insufficient.
stefan-jansen commentedon Sep 5, 2026
Dependency recheck on 2026-09-05: PyPI still reports PyArrow 25.0.1 with zero CPython 3.15 wheels. Pydantic 2.13.5 still pins pydantic-core 2.46.5, while the CPython 3.15 wheels are in pydantic-core 2.48.0. The issue remains blocked; no source change can satisfy the three-platform acceptance criteria yet.
stefan-jansen commentedon Sep 19, 2026
Maintainer recheck on 2026-09-19:
This stays open. Recheck immediately when PyArrow 26.0.0 or stable Pydantic 2.14 is published, otherwise on 2026-09-26. Closure still requires the complete non-hardware suite on Python 3.15 across Linux, macOS, and Windows, followed by the Requires-Python change and published-package verification.
stefan-jansen commentedon Sep 21, 2026
Decision 0013 in ecosystem pull request ml4t/ecosystem#41 replaces the September 30 expiry with a
version-scoped prerelease wait for the Diagnostic 0.1 release line.
Diagnostic owns the dependency and suite evidence. Recheck when Python 3.15 final ships or when
PyArrow 26 ships. Until the complete suite passes on Linux, macOS, and Windows, Diagnostic keeps its
truthful
<3.15upper bound and runs a visible non-blocking canary at least monthly. Python 3.12through 3.14 qualification remains blocking; Python 3.15 readiness does not block an otherwise
qualified patch release.
Pydantic-core 2.49.0 now publishes CPython 3.15 wheels, so it is no longer a current blocker.
stefan-jansen commentedon Oct 14, 2026
Fresh upstream recheck on 2026-10-14: PyArrow 26.0.0 now publishes CPython 3.15 wheels for Linux, macOS (arm64 and x86_64), and Windows amd64. Stable Pydantic 2.14.1 pins pydantic-core 2.50.1, which also publishes those CPython 3.15 wheels. SciPy 1.18.1 has the corresponding wheels too.
Verified through the actual PyPI JSON metadata for pyarrow, pydantic, pydantic-core/2.50.1 and scipy. The September missing-wheel explanation is no longer current.
This is dependency availability evidence, not Diagnostic qualification. Current main 76a56fe keeps Requires-Python >=3.12,<3.15; its lock still uses PyArrow 25.0.0 and platform-specific older Pydantic selections. No final Python 3.15 install/import/full-suite matrix has been executed in this recheck. Keep this issue open under the user's existing deferral. The next compatibility task is dependency/lock reconciliation and real Python 3.15 qualification on Linux, macOS and Windows before widening support and verifying a published package. The approved version-scoped wait does not block an otherwise qualified Python 3.12-3.14 patch release.
Primary metadata: https://pypi.org/pypi/pyarrow/json, https://pypi.org/pypi/pydantic/json, https://pypi.org/pypi/pydantic-core/2.50.1/json, https://pypi.org/pypi/scipy/json.
AI assistance: Codex retrieved and checked the upstream metadata and prepared this maintainer status update. No Python 3.15 support or release is being claimed.