Repository navigation
Track Python 3.15 full-environment compatibility: Databento dependency blocker #37
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.