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
[Python] Add support and wheels for Python 3.15 #48172
changed the title [-][Python] Use PyWeakref_GetRef instead of PyWeakref_GET_OBJECT (Python 3.15)[/-][+][Python] Add support and wheels for Python 3.15[/+]on Nov 19, 2025
Good question.
Looking at python_wheel_xlinux_build.sh, for example, the wheels seem to be built on PyArrow main and that should have the PyWeakref_GET_OBJECT fix (if that is what you had in mind with 3.15 failure). @raulcd please correct me if I am wrong.
Is there a way to setup the build so that a 3.15 failure doesn't fail the entire nightly?
I am not sure I understand the question. The different jobs for the nightlies are isolated. One job failing does not affect the others. If a Python 3.15 job would fail the rest of our Python CI nightly jobs won't be impacted. If the question wasn't about other jobs but for the specific Python 3.15 job if a test fails to continue this will depend on the failure, if the failure is a segfault when running a test or a build we won't be able to continue if it's a normal test failure we still keep running the rest of the tests.
By the way, I think is a good idea and we could try to have a job with this, probably start with a minimal one as we might have issues with building other Python dependencies (pandas? numpy?)
If I'm looking at this right, the changes needed are fairly modest.
* I assumed more work would be needed on the test cases, but it looks like the appropriate logic is in place to tolerate (skipif) missing CFFI and/or Pandas.
python/requirements-wheel-build.txt: numpy 2.3.5 doesn't have a 3.15 wheel, but built from source fine (nothing special needed, just pip installed it), so no changes are needed.
I don't speak for the maintainers, but according to the GitHub milestone, 26.0.0 is scheduled for September 30th, so right before the final 3.15 release.
In the meantime you can use the nightly index. For example, with uv:
30th of September is just a placeholder for the feature freeze date for our next major release. Due to the Apache Software Foundation release process the release take some days to verify and vote. We plan to upload 3.15 wheels as part of the 26.0.0 release, in the meantime as @edgarrmondragon suggested you can use the nightlies to test.
once the release vote is successful, expected in ~72 hours if no blockers are found, I will upload the wheels to PyPI. We don't upload unreleased assets to PyPI.
Activity
[-][Python] Use PyWeakref_GetRef instead of PyWeakref_GET_OBJECT (Python 3.15)[/-][+][Python] Add support and wheels for Python 3.15[/+]paultiq commentedon Nov 19, 2025
Is there a way to setup the build so that a 3.15 failure doesn't fail the entire nightly?
AlenkaF commentedon Nov 19, 2025
Good question.
Looking at python_wheel_xlinux_build.sh, for example, the wheels seem to be built on PyArrow main and that should have the
PyWeakref_GET_OBJECTfix (if that is what you had in mind with 3.15 failure). @raulcd please correct me if I am wrong.raulcd commentedon Nov 19, 2025
I am not sure I understand the question. The different jobs for the nightlies are isolated. One job failing does not affect the others. If a Python 3.15 job would fail the rest of our Python CI nightly jobs won't be impacted. If the question wasn't about other jobs but for the specific Python 3.15 job if a test fails to continue this will depend on the failure, if the failure is a segfault when running a test or a build we won't be able to continue if it's a normal test failure we still keep running the rest of the tests.
raulcd commentedon Nov 19, 2025
By the way, I think is a good idea and we could try to have a job with this, probably start with a minimal one as we might have issues with building other Python dependencies (pandas? numpy?)
paultiq commentedon Nov 19, 2025
I was really asking whether a 3.15 failure would 'fail' the entire nightly. If not, great.
paultiq commentedon Nov 19, 2025
If I'm looking at this right, the changes needed are fairly modest.
* I assumed more work would be needed on the test cases, but it looks like the appropriate logic is in place to tolerate (skipif) missing CFFI and/or Pandas.
; python_version < "3.15"I didn't build all the extensions, but the
ninja-release-pythonpreset built and tested fine: no pytest failures.raulcd commentedon Nov 20, 2025
Thanks @paultiq !
If you want to submit a PR I am happy to help reviewing and/or guiding if there's something missing.
GH-48172: [Python] Add cp315 to build (#48191)
raulcd commentedon Aug 21, 2026
Issue resolved by pull request 48191
#48191
EwoutH commentedon Aug 30, 2026
Cool that 3.15 is now supported!
When can we expect wheels on PyPI?
edgarrmondragon commentedon Aug 30, 2026
I don't speak for the maintainers, but according to the GitHub milestone, 26.0.0 is scheduled for September 30th, so right before the final 3.15 release.
In the meantime you can use the nightly index. For example, with uv:
feat: Support Python 3.15 (meltano#3726)
raulcd commentedon Sep 7, 2026
30th of September is just a placeholder for the feature freeze date for our next major release. Due to the Apache Software Foundation release process the release take some days to verify and vote. We plan to upload 3.15 wheels as part of the 26.0.0 release, in the meantime as @edgarrmondragon suggested you can use the nightlies to test.
EwoutH commentedon Oct 5, 2026
Will wheels for pyarrow be published on PyPI for the Apache Arrow 26.0.0 RC0 release? That would enable us to start testing with
pip install --pre.raulcd commentedon Oct 5, 2026
once the release vote is successful, expected in ~72 hours if no blockers are found, I will upload the wheels to PyPI. We don't upload unreleased assets to PyPI.
raulcd commentedon Oct 9, 2026
Wheel are available on PyPI now.