Repository navigation
Description
Data supports Python 3.12 through 3.14 and declares Requires-Python: >=3.12,<3.15. Keep the upper bound until the complete supported environment qualifies on Python 3.15 across Linux, macOS, and Windows.
Recheck on 2026-10-17 at source 55b86e2:
- Python 3.15.0 final shipped on October 9 and Polars 2.0.0 shipped on October 6.
- A fresh isolated core-dependency probe on CPython 3.15.0 final selected Polars 2.0.0 and Pydantic 2.14.1. All 66 tests in
tests/test_core_abstractions.py,tests/test_storage_paths.py, andtests/test_aqr_provider.pypassed in 2.89 seconds. The earlier Polars/Pydantic failure is no longer reproduced. - The complete all-extras environment fails dependency resolution before test collection. Released Databento versions through 0.87.0 require databento-dbn versions without CPython 3.15 wheels. Databento-dbn 0.72.0 now publishes cp315 wheels, but no released Databento version accepts it yet.
- This probe used fresh current PyPI resolution, not the supported-version lock. Databento 0.87.0 still requires databento-dbn>=0.70.0,<0.71.0; the resolver rejects this set for the cp315 ABI. The failure occurs before all-extras tests can collect. No requirement or Python upper bound was weakened.
External blocker: a released Databento dependency set compatible with CPython 3.15. Recheck after a Databento release accepting databento-dbn 0.72.0 or newer. Then run the complete all-extras suite, package build, isolated wheel and source installs, and public workflows on Python 3.15 final across all three operating systems before changing package metadata.
Continue the visible monthly core-dependency canary. Its 2026-10-01 run predates the new dependencies and had a failed core job despite an overall successful workflow conclusion because the job uses continue-on-error.
This compatibility issue does not block an otherwise qualified Python 3.12-3.14 patch release. Shared compatibility policy and its exception remain owned by ml4t/ecosystem; this issue records Data's runtime evidence.
Activity
stefan-jansen commentedon Aug 12, 2026
Maintainer update for 2026-08-11:
python-315-polarsexception withRequires-Python >=3.12,<3.15.Next review: 2026-08-18, or immediately after a Polars release containing the upstream fix. Acceptance still requires the complete Python 3.15 matrix to pass on all three operating systems before removing the exception.
stefan-jansen commentedon Sep 19, 2026
Maintainer recheck on 2026-09-19:
AttributeError: 'NoneType' object has no attribute '_s'signature.This stays open. Recheck immediately after a Polars release containing pola-rs/polars#28750, or by 2026-09-26 ahead of the 2026-09-30 exception expiry. Closure still requires the complete Python 3.15 matrix on Linux, macOS, and Windows.
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 Data 0.1 release line.
Data owns the runtime evidence. Recheck when Python 3.15 final ships or when Polars publishes a
release after 1.44.2. Until the complete suite passes on Linux, macOS, and Windows, Data 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.
stefan-jansen commentedon Sep 21, 2026
Fresh closure-audit evidence on 2026-09-20:
AttributeError: NoneType object has no attribute _sduring DataFrame construction.pydantic-core==2.46.5, which has no CPython 3.15 wheel.The issue remains open. Recheck on Python 3.15 final or after a stable Polars release newer than 1.44.2, then run the full Linux, macOS, and Windows qualification before changing
Requires-Python.[-]Track Python 3.15 prerelease Polars runtime compatibility[/-][+]Track Python 3.15 full-environment compatibility: Databento dependency blocker[/+]stefan-jansen commentedon Oct 18, 2026
Rechecked on 2026-10-18 against current published dependencies using CPython 3.15.0 final. A fresh isolated core environment passes all 66 core/storage-path/AQR tests in 3.66s. Full all-extras resolution still fails before collection: latest Databento 0.87.0 requires databento-dbn>=0.70.0,<0.71.0, while the released cp315 wheels are in databento-dbn0.72.0 outside that constraint. No package bound or gate was weakened. Retain this tracker with the exact external release blocker; recheck when Databento accepts a cp315-compatible dbn release, then qualify the complete matrix before closing. This does not block supported Python3.12-3.14 maintenance.
stefan-jansen commentedon Oct 23, 2026
Rechecked on October 23 against current published dependencies with CPython 3.15.0 final. Fresh isolated core installation succeeds and all 66 core/storage-path/AQR tests pass in 2.59 seconds. The complete all-extras installation still fails before collection: Databento 0.88.0 requires databento-dbn~=0.70.0, which does not provide the required supported cp315 dependency set. The resolver considered the released Databento versions from the project's minimum through 0.88.0 and found none installable. No bound was weakened and no prerelease dependency was substituted.
Keep this tracker open for the external Databento release blocker. Recheck when a released Databento dependency set supports CPython 3.15, then qualify the complete environment, distributions and all three operating systems before removing the upper bound. Python 3.12-3.14 maintenance remains supported.
A separate current maintenance gate also needs a shared-policy decision: the immutable ecosystem snapshot used by Data approves python-315-polars only for versions >=0.1.2,<0.3. It now correctly rejects post-0.3.0 development versions. This failed gate is retained, not skipped or represented as passing; a Data-specific bounded 0.3.x renewal has been requested with the current dependency evidence. It is not a new Polars runtime failure.