Skip to content

[Python] Add support and wheels for Python 3.15 #48172

Closed

Description

@AlenkaF

Describe the enhancement requested

It is still early but we could try adding support for Python 3.15 with the Python 3.15.0 alpha 1. See 3.15.0 schedule

Related issue: #47823 and comment.

Component(s)

Python

Activity

  1. 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
  2. paultiq commented on Nov 19, 2025

    @paultiq
    Contributor

    Is there a way to setup the build so that a 3.15 failure doesn't fail the entire nightly?

  3. AlenkaF commented on Nov 19, 2025

    @AlenkaF
    MemberAuthor

    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.

  4. raulcd commented on Nov 19, 2025

    @raulcd
    Member

    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.

  5. raulcd commented on Nov 19, 2025

    @raulcd
    Member

    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?)

  6. paultiq commented on Nov 19, 2025

    @paultiq
    Contributor

    I was really asking whether a 3.15 failure would 'fail' the entire nightly. If not, great.

  7. paultiq commented on Nov 19, 2025

    @paultiq
    Contributor

    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.

    I didn't build all the extensions, but the ninja-release-python preset built and tested fine: no pytest failures.

  8. raulcd commented on Nov 20, 2025

    @raulcd
    Member

    Thanks @paultiq !
    If you want to submit a PR I am happy to help reviewing and/or guiding if there's something missing.

  9. added this to the 26.0.0 milestone on Jul 8, 2026
  10. added a commit that references this issue on Aug 21, 2026
  11. raulcd commented on Aug 21, 2026

    @raulcd
    Member

    Issue resolved by pull request 48191
    #48191

  12. EwoutH commented on Aug 30, 2026

    @EwoutH

    Cool that 3.15 is now supported!

    When can we expect wheels on PyPI?

  13. edgarrmondragon commented on Aug 30, 2026

    @edgarrmondragon

    When can we expect wheels on PyPI?

    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:

    [tool.uv.sources]
    pyarrow = [
        { index = "scientific-python-nightly-wheels", marker = "python_version >= '3.15'" },
    ]
    
    [[tool.uv.index]]
    name = "scientific-python-nightly-wheels"
    url = "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
    explicit = true
  14. raulcd commented on Sep 7, 2026

    @raulcd
    Member

    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.

  15. EwoutH commented on Oct 5, 2026

    @EwoutH

    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.

  16. raulcd commented on Oct 5, 2026

    @raulcd
    Member

    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.

  17. raulcd commented on Oct 9, 2026

    @raulcd
    Member

    Wheel are available on PyPI now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions