You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "kosiew (via GitHub)" <gi...@apache.org> on 2026/01/28 08:04:58 UTC
[PR] Draft - Build and publish free-threaded Python wheels (cp313t/cp314t) across CI [datafusion-python]
kosiew opened a new pull request, #1355:
URL: https://github.com/apache/datafusion-python/pull/1355
## Which issue does this PR close?
* Closes #1324.
---
## Rationale for this change
Python’s experimental **free-threaded** builds (currently 3.13t and 3.14t) use a **different ABI** than the standard GIL-enabled CPython builds. Because of that, we can’t rely on a single stable-ABI (`abi3`) wheel to cover these interpreters.
At the same time, we still want to keep the existing `abi3-py310` configuration so we continue producing stable-ABI wheels for the “normal” (GIL-enabled) CPython versions.
This PR updates the release/build pipeline so we can ship:
* stable-ABI wheels for standard CPython (via `abi3-py310`), and
* version-specific wheels for free-threaded CPython (cp313t / cp314t).
---
## What changes are included in this PR?
* **Expanded CI build matrix** for macOS + Windows to build wheels for:
* CPython 3.10–3.14 (standard builds)
* CPython 3.13t + 3.14t (free-threaded builds)
* **Artifact naming improvements** using a suffix (e.g. `-freethreaded`) to avoid collisions and make uploads easier to identify.
* **maturin invocation updated** on macOS/Windows to explicitly target the active interpreter (`--interpreter python`).
* **Manylinux builds split into two groups**:
* standard CPython interpreters (3.10–3.14)
* free-threaded interpreters (3.13t–3.14t)
using `maturin-action`’s `interpreter` parameter.
* **Cargo / PyO3 config adjustment**: removed the generic `abi3` feature while keeping `abi3-py310` enabled, aligning with the intended wheel strategy.
* **Release documentation updated** to clarify that free-threaded CPython ignores `abi3` and requires per-version wheels.
---
## Are these changes tested?
* CI was updated to **build wheels across the expanded interpreter matrix** on:
* macOS (universal / aarch64 and x86_64 job)
* Windows
* manylinux x86_64 and aarch64
These builds act as the primary validation for this change (successful wheel builds + artifact upload for each target).
---
## Are there any user-facing changes?
Yes — users will now see additional wheel files published for free-threaded Python:
* `cp313t` and `cp314t` wheels (per-ABI/per-version)
Standard CPython users (3.10–3.14) continue to get stable-ABI (`abi3`) wheels as before.
No runtime API changes are introduced by this PR.
---
## LLM-generated code disclosure
This PR includes code, comments generated with assistance from LLM. All LLM-generated content has been manually reviewed and tested.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft - Build and publish free-threaded Python wheels (cp313t/cp314t) across CI [datafusion-python]
Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew commented on PR #1355:
URL: https://github.com/apache/datafusion-python/pull/1355#issuecomment-3883228637
@rrad5409
I am mostly just testing randomly in this PR.
Please feel free to take over.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft - Build and publish free-threaded Python wheels (cp313t/cp314t) across CI [datafusion-python]
Posted by "kosiew (via GitHub)" <gi...@apache.org>.
kosiew closed pull request #1355: Draft - Build and publish free-threaded Python wheels (cp313t/cp314t) across CI
URL: https://github.com/apache/datafusion-python/pull/1355
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org
Re: [PR] Draft - Build and publish free-threaded Python wheels (cp313t/cp314t) across CI [datafusion-python]
Posted by "rrad5409 (via GitHub)" <gi...@apache.org>.
rrad5409 commented on PR #1355:
URL: https://github.com/apache/datafusion-python/pull/1355#issuecomment-3830579721
Hey @kosiew really appreciate your help with this. Looks like the artifacts are colliding because the different versions of python aren't included in the name. Was there anything I could do to help?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org