Skip to content

Conversation

AlenkaF
Copy link
Member

@AlenkaF AlenkaF commented Sep 22, 2025

Rationale for this change

Python 3.14 is currently in a prerelease status and is expected to have a final release in October this year (https://peps.python.org/pep-0745/).

We should ensure we are fully ready to support Python 3.14 for the PyArrow 22 release.

What changes are included in this PR?

This PR updates wheels for Python 3.14.

Are these changes tested?

Tested in the CI and with extended builds.

Are there any user-facing changes?

No, but users will be able to use PyArrow with Python 3.14.


Todo:

Follow-ups:

@AlenkaF
Copy link
Member Author

AlenkaF commented Sep 22, 2025

@github-actions crossbow submit cp314

Copy link

Unable to match any tasks for `cp314`
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/17912140076

@AlenkaF
Copy link
Member Author

AlenkaF commented Sep 22, 2025

@github-actions crossbow submit -g wheel

Copy link

Revision: 4d579d3f87c8b32b8c8d5c2c6e6b34b8cfa9ad1d

Submitted crossbow builds: ursacomputing/crossbow @ actions-7c2f27054b

Task Status
python-sdist GitHub Actions
wheel-macos-monterey-cp310-cp310-amd64 GitHub Actions
wheel-macos-monterey-cp310-cp310-arm64 GitHub Actions
wheel-macos-monterey-cp311-cp311-amd64 GitHub Actions
wheel-macos-monterey-cp311-cp311-arm64 GitHub Actions
wheel-macos-monterey-cp312-cp312-amd64 GitHub Actions
wheel-macos-monterey-cp312-cp312-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-arm64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-arm64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-amd64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-arm64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-amd64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-arm64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-amd64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-arm64 GitHub Actions
wheel-windows-cp310-cp310-amd64 GitHub Actions
wheel-windows-cp311-cp311-amd64 GitHub Actions
wheel-windows-cp312-cp312-amd64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp313-cp313t-amd64 GitHub Actions
wheel-windows-cp314-cp314-amd64 GitHub Actions
wheel-windows-cp314-cp314t-amd64 GitHub Actions

@AlenkaF
Copy link
Member Author

AlenkaF commented Sep 23, 2025

@github-actions crossbow submit cp314

Copy link

Revision: b610f02b4cfd11c08a29804689a2c3f80434bd24

Submitted crossbow builds: ursacomputing/crossbow @ actions-254712ded5

Task Status
wheel-macos-monterey-cp314-cp314-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-arm64 GitHub Actions
wheel-windows-cp314-cp314-amd64 GitHub Actions

@AlenkaF
Copy link
Member Author

AlenkaF commented Sep 25, 2025

@github-actions crossbow submit wheel-manylinux-2-28-cp314-cp314-arm64

Copy link

Revision: ba5bb8a49c6d8989a8bfa9870810ef5f43ba130f

Submitted crossbow builds: ursacomputing/crossbow @ actions-1fc62abec5

Task Status
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions

@AlenkaF
Copy link
Member Author

AlenkaF commented Sep 26, 2025

@github-actions crossbow submit wheel-manylinux-2-28-cp314-cp314-arm64

Copy link

Revision: caa904ab722c70ca5c7c8f6b9366babec0782d9a

Submitted crossbow builds: ursacomputing/crossbow @ actions-ee8c32d46b

Task Status
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions

@AlenkaF
Copy link
Member Author

AlenkaF commented Sep 26, 2025

@github-actions crossbow submit wheel-manylinux-2-28-cp314-cp314-arm64

Copy link

Revision: 5c4330d6497d54257988b19cd69a444cc957d236

Submitted crossbow builds: ursacomputing/crossbow @ actions-a34b2c22d4

Task Status
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions

@EwoutH
Copy link

EwoutH commented Oct 2, 2025

conda-forge/pyarrow-feedstock#156 is merged!

@AlenkaF AlenkaF force-pushed the gh-47438-python-314 branch from 5c4330d to 767e2c4 Compare October 3, 2025 08:59
@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 3, 2025

@github-actions crossbow submit cp314-cp314

Copy link

github-actions bot commented Oct 3, 2025

Revision: 767e2c4

Submitted crossbow builds: ursacomputing/crossbow @ actions-1d7807353f

Task Status
wheel-macos-monterey-cp314-cp314-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-arm64 GitHub Actions
wheel-windows-cp314-cp314-amd64 GitHub Actions

@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 3, 2025

@github-actions crossbow submit wheel-macos-monterey-cp314-cp314-amd64

Copy link
Member

@pitrou pitrou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine in general to me, I posted a few comments.

@kou kou changed the title GH-47438: Set up wheel building for Python 3.14 GH-47438: [Python][Packaging] Set up wheel building for Python 3.14 Oct 13, 2025
@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 13, 2025

@github-actions crossbow submit -g wheel

Copy link

Revision: ed83b6e

Submitted crossbow builds: ursacomputing/crossbow @ actions-929a4e6e1f

Task Status
python-sdist GitHub Actions
wheel-macos-monterey-cp310-cp310-amd64 GitHub Actions
wheel-macos-monterey-cp310-cp310-arm64 GitHub Actions
wheel-macos-monterey-cp311-cp311-amd64 GitHub Actions
wheel-macos-monterey-cp311-cp311-arm64 GitHub Actions
wheel-macos-monterey-cp312-cp312-amd64 GitHub Actions
wheel-macos-monterey-cp312-cp312-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-arm64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-arm64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-amd64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-arm64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-amd64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-arm64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-amd64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-arm64 GitHub Actions
wheel-windows-cp310-cp310-amd64 GitHub Actions
wheel-windows-cp311-cp311-amd64 GitHub Actions
wheel-windows-cp312-cp312-amd64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp313-cp313t-amd64 GitHub Actions
wheel-windows-cp314-cp314-amd64 GitHub Actions
wheel-windows-cp314-cp314t-amd64 GitHub Actions

Copy link
Member

@raulcd raulcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! Thanks @AlenkaF ! Happy to merge this once CI finishes and all wheels are green.

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Oct 13, 2025
@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 13, 2025

I need to add back the (COPY) line that has been removed: https://github.com/ursacomputing/crossbow/actions/runs/18461390652/job/52593469380#step:9:559

@pitrou
Copy link
Member

pitrou commented Oct 13, 2025

I need to add back the (COPY) line that has been removed: https://github.com/ursacomputing/crossbow/actions/runs/18461390652/job/52593469380#step:9:559

Ah, sorry! I'm surprised because the filename doesn't always match the one being used in the pip install command that follows. Do you know why that works?

@raulcd
Copy link
Member

raulcd commented Oct 13, 2025

Ah, sorry! I'm surprised because the filename doesn't always match the one being used in the pip install command that follows. Do you know why that works?

From what I understand we always copy both and then pip installing C:/arrow/python/%REQUIREMENTS_FILE% based on:

    if "%python%"=="3.13" ( \
        setx REQUIREMENTS_FILE "requirements-wheel-test-3.13t.txt" \
    ) else ( \
        setx REQUIREMENTS_FILE "requirements-wheel-test.txt" \
    )

@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 13, 2025

Ah, sorry! I'm surprised because the filename doesn't always match the one being used in the pip install command that follows. Do you know why that works?

No problem! I wanted to try, in case we do not need to copy, anyways :)

@pitrou
Copy link
Member

pitrou commented Oct 13, 2025

From what I understand we always copy both

Oh, yes, you're right. My bad 🤦

@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 13, 2025

@github-actions crossbow submit -g wheel

Copy link

Revision: 26a7f72

Submitted crossbow builds: ursacomputing/crossbow @ actions-c310d57cb6

Task Status
python-sdist GitHub Actions
wheel-macos-monterey-cp310-cp310-amd64 GitHub Actions
wheel-macos-monterey-cp310-cp310-arm64 GitHub Actions
wheel-macos-monterey-cp311-cp311-amd64 GitHub Actions
wheel-macos-monterey-cp311-cp311-arm64 GitHub Actions
wheel-macos-monterey-cp312-cp312-amd64 GitHub Actions
wheel-macos-monterey-cp312-cp312-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-arm64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-arm64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-amd64 GitHub Actions
wheel-musllinux-1-2-cp310-cp310-arm64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-amd64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-arm64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-amd64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-arm64 GitHub Actions
wheel-windows-cp310-cp310-amd64 GitHub Actions
wheel-windows-cp311-cp311-amd64 GitHub Actions
wheel-windows-cp312-cp312-amd64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp313-cp313t-amd64 GitHub Actions
wheel-windows-cp314-cp314-amd64 GitHub Actions
wheel-windows-cp314-cp314t-amd64 GitHub Actions

@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 14, 2025

Everything green, yay.
There is one approval so I will go ahead and merge, @raulcd can then continue with the release.

@AlenkaF
Copy link
Member Author

AlenkaF commented Oct 14, 2025

From what I understand we always copy both

I have put back as it was though it would be nicer to just copy one file, as per REQUIREMENTS_FILE. Will correct in the follow-up PR just so we do not need to wait for the builds again.

@AlenkaF AlenkaF merged commit f268c43 into apache:main Oct 14, 2025
39 checks passed
@AlenkaF AlenkaF removed the awaiting merge Awaiting merge label Oct 14, 2025
@AlenkaF AlenkaF deleted the gh-47438-python-314 branch October 14, 2025 04:17
@EwoutH
Copy link

EwoutH commented Oct 14, 2025

Awesome!

What’s now the plan and timeline to get wheels on PyPI?

raulcd pushed a commit that referenced this pull request Oct 14, 2025
…47616)

### Rationale for this change

Python 3.14 is currently in a prerelease status and is expected to have a final release in October this year (https://peps.python.org/pep-0745/).

We should ensure we are fully ready to support Python 3.14 for the PyArrow 22 release.

### What changes are included in this PR?

This PR  updates wheels for Python 3.14.

### Are these changes tested?

Tested in the CI and with extended builds.

### Are there any user-facing changes?

No, but users will be able to use PyArrow with Python 3.14.

* GitHub Issue: #47438

---

Todo:

- Update the image revision name in `.env`
- Add 3.14 conda build ([arrow/dev/tasks/tasks.yml](https://github.com/apache/arrow/blob/d803afcc43f5d132506318fd9e162d33b2c3d4cd/dev/tasks/tasks.yml#L809)) when conda-forge/pyarrow-feedstock#156 is merged 

Follow-ups:

- #47437

Authored-by: AlenkaF <[email protected]>
Signed-off-by: AlenkaF <[email protected]>
Copy link

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit f268c43.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 1 possible false positive for unstable benchmarks that are known to sometimes produce them.

zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Oct 15, 2025
…3.14 (apache#47616)

### Rationale for this change

Python 3.14 is currently in a prerelease status and is expected to have a final release in October this year (https://peps.python.org/pep-0745/).

We should ensure we are fully ready to support Python 3.14 for the PyArrow 22 release.

### What changes are included in this PR?

This PR  updates wheels for Python 3.14.

### Are these changes tested?

Tested in the CI and with extended builds.

### Are there any user-facing changes?

No, but users will be able to use PyArrow with Python 3.14.

* GitHub Issue: apache#47438

---

Todo:

- Update the image revision name in `.env`
- Add 3.14 conda build ([arrow/dev/tasks/tasks.yml](https://github.com/apache/arrow/blob/d803afcc43f5d132506318fd9e162d33b2c3d4cd/dev/tasks/tasks.yml#L809)) when conda-forge/pyarrow-feedstock#156 is merged 

Follow-ups:

- apache#47437

Authored-by: AlenkaF <[email protected]>
Signed-off-by: AlenkaF <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants