You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature] Python 3.15 support: pyarrow cap and duckdb/jsonpath wheels #1111
Is your feature request related to a problem? Please describe.
I would like to run Data Designer on CPython 3.15, and right now I cannot install it there without a full C and Rust toolchain, and even then one piece has no working build.
data-designer-engine 0.9.7 depends on four packages that need a wheel:
Requirement
Pin in 0.9.7
cp315 wheel
duckdb
>=1.5.0,<2
none; 1.5.6 stops at cp314, and 2.0.0 (21 Oct) currently publishes only cp311 and cp312
jsonpath-rust-bindings
>=1.0,<2
none, Rust extension
pyarrow
>=24,<25
none at 24, but 25 and 26 both ship cp315
numpy
>=1.23.5,<3
fine from 2.5 on; 2.4 needs a source build
So uv sync on 3.15 compiles pyarrow, duckdb and a Rust extension, which is several minutes and needs cmake, a C++ toolchain and cargo in every image that embeds a pipeline, and the jsonpath extension has no cp315 build to fall back on even then.
Describe the solution you'd like
Support Python 3.15:
widen the pyarrow cap, ideally >=24,<27, so a version with a cp315 wheel can be resolved. I have not run your test suite against pyarrow 25 or 26, so I cannot say whether the cap is load-bearing; from the outside the other pinned floors allow it.
on the duckdb side, allowing duckdb>=2 would help once 2.0 completes its wheel matrix, since 2.0.0 currently ships only cp311 and cp312.
jsonpath-rust-bindings needs a cp315 wheel from its maintainer, or a pure-Python fallback.
If dropping the pyarrow cap for one minor line is too risky, a marker would be enough for us, for example pyarrow>=24,<25; python_version < "3.15" with pyarrow>=25,<27; python_version >= "3.15".
Describe alternatives you've considered
Staying on CPython 3.14, which is what we do today. We already moved the rest of our platform to 3.15, so Data Designer is the only component left behind, and it brings three source builds into otherwise wheel-only images.
Agent Investigation
Not a codebase investigation: the constraints above were read from the published metadata of data-designer 0.9.7 and data-designer-engine 0.9.7 on PyPI, and the wheel tags from the PyPI file listings for duckdb 1.5.6 and 2.0.0, pyarrow 24/25/26 and jsonpath-rust-bindings 1.1.1. No issue about 3.15 exists in this repository yet.
Additional context
Reproduced with uv on Linux x86_64, CPython 3.15.2, resolving data-designer>=0.9,<0.10 inside a project that also depends on shared internal packages. On 3.14 the same lock installs entirely from wheels.
Activity