Skip to content

GH-39848: [Python][Packaging] Build pyarrow wheels with numpy RC instead of nightly - #41097

Merged
raulcd merged 4 commits into
apache:mainfrom
jorisvandenbossche:numpy-2-compat-wheels-prerelease
Apr 15, 2024
Merged

raulcd merged 4 commits into
apache:mainfrom
jorisvandenbossche:numpy-2-compat-wheels-prerelease

Conversation

@jorisvandenbossche

@jorisvandenbossche jorisvandenbossche commented Apr 9, 2024 •

Copy link
Copy Markdown
Member

Rationale for this change

Now NumPy has released a first RC for 2.0, we should update our PyArrow wheels to build with this released version instead of with the nightly numpy packages, to ensure we don't build our release wheels with an unstable numpy version.

What changes are included in this PR?

Increased the version requirement for numpy for the installed packages at build time to numpy>=2.0.0rc1, to force installing this RC instead of numpy 1.26

Are these changes tested?

The wheel tests ensure that those wheels still work with older versions of numpy

@github-actions

github-actions Bot commented Apr 9, 2024

Copy link
Copy Markdown

⚠️ GitHub issue #39848 has been automatically assigned in GitHub to PR creator.

@jorisvandenbossche

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit -g wheel

@github-actions

This comment was marked as outdated.

@jorisvandenbossche

jorisvandenbossche commented Apr 9, 2024 •

Copy link
Copy Markdown
Member Author

Ah, we are also running into the liblzma vcpkg issue now (microsoft/vcpkg#37839 / microsoft/vcpkg#37957), so this is blocked by #41100

@kou
kou force-pushed the numpy-2-compat-wheels-prerelease branch from e257d49 to 16fd1ab Compare April 10, 2024 00:53
@kou

kou commented Apr 10, 2024

Copy link
Copy Markdown
Member

@github-actions crossbow submit -g wheel

@kou

kou commented Apr 10, 2024

Copy link
Copy Markdown
Member

Rebased for #41091.

@github-actions

Copy link
Copy Markdown

Revision: 16fd1abcadc2be034141b72807b47bb7f77463ae

Submitted crossbow builds: ursacomputing/crossbow @ actions-506eae40cb

Task Status
wheel-macos-big-sur-cp310-arm64 GitHub Actions
wheel-macos-big-sur-cp311-arm64 GitHub Actions
wheel-macos-big-sur-cp312-arm64 GitHub Actions
wheel-macos-big-sur-cp38-arm64 GitHub Actions
wheel-macos-big-sur-cp39-arm64 GitHub Actions
wheel-macos-catalina-cp310-amd64 GitHub Actions
wheel-macos-catalina-cp311-amd64 GitHub Actions
wheel-macos-catalina-cp312-amd64 GitHub Actions
wheel-macos-catalina-cp38-amd64 GitHub Actions
wheel-macos-catalina-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp38-amd64 GitHub Actions
wheel-manylinux-2-28-cp38-arm64 GitHub Actions
wheel-manylinux-2-28-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp39-arm64 GitHub Actions
wheel-manylinux-2014-cp310-amd64 GitHub Actions
wheel-manylinux-2014-cp310-arm64 GitHub Actions
wheel-manylinux-2014-cp311-amd64 GitHub Actions
wheel-manylinux-2014-cp311-arm64 GitHub Actions
wheel-manylinux-2014-cp312-amd64 GitHub Actions
wheel-manylinux-2014-cp312-arm64 GitHub Actions
wheel-manylinux-2014-cp38-amd64 GitHub Actions
wheel-manylinux-2014-cp38-arm64 GitHub Actions
wheel-manylinux-2014-cp39-amd64 GitHub Actions
wheel-manylinux-2014-cp39-arm64 GitHub Actions
wheel-windows-cp310-amd64 GitHub Actions
wheel-windows-cp311-amd64 GitHub Actions
wheel-windows-cp312-amd64 GitHub Actions
wheel-windows-cp38-amd64 GitHub Actions
wheel-windows-cp39-amd64 GitHub Actions

@jorisvandenbossche
jorisvandenbossche force-pushed the numpy-2-compat-wheels-prerelease branch from 16fd1ab to e257d49 Compare April 11, 2024 09:53
@jorisvandenbossche

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit -g wheel

@github-actions

Copy link
Copy Markdown

Revision: 74e0a93

Submitted crossbow builds: ursacomputing/crossbow @ actions-faa2d90c72

Task Status
wheel-macos-big-sur-cp310-arm64 GitHub Actions
wheel-macos-big-sur-cp311-arm64 GitHub Actions
wheel-macos-big-sur-cp312-arm64 GitHub Actions
wheel-macos-big-sur-cp38-arm64 GitHub Actions
wheel-macos-big-sur-cp39-arm64 GitHub Actions
wheel-macos-catalina-cp310-amd64 GitHub Actions
wheel-macos-catalina-cp311-amd64 GitHub Actions
wheel-macos-catalina-cp312-amd64 GitHub Actions
wheel-macos-catalina-cp38-amd64 GitHub Actions
wheel-macos-catalina-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp38-amd64 GitHub Actions
wheel-manylinux-2-28-cp38-arm64 GitHub Actions
wheel-manylinux-2-28-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp39-arm64 GitHub Actions
wheel-manylinux-2014-cp310-amd64 GitHub Actions
wheel-manylinux-2014-cp310-arm64 GitHub Actions
wheel-manylinux-2014-cp311-amd64 GitHub Actions
wheel-manylinux-2014-cp311-arm64 GitHub Actions
wheel-manylinux-2014-cp312-amd64 GitHub Actions
wheel-manylinux-2014-cp312-arm64 GitHub Actions
wheel-manylinux-2014-cp38-amd64 GitHub Actions
wheel-manylinux-2014-cp38-arm64 GitHub Actions
wheel-manylinux-2014-cp39-amd64 GitHub Actions
wheel-manylinux-2014-cp39-arm64 GitHub Actions
wheel-windows-cp310-amd64 GitHub Actions
wheel-windows-cp311-amd64 GitHub Actions
wheel-windows-cp312-amd64 GitHub Actions
wheel-windows-cp38-amd64 GitHub Actions
wheel-windows-cp39-amd64 GitHub Actions

@raulcd

raulcd commented Apr 11, 2024

Copy link
Copy Markdown
Member

The macOS wheels failure is the same issue that happens on test-build-vcpkg-win. I am not sure why is it failing on installing grpc. See comment here: #41124 (comment)

@raulcd

raulcd commented Apr 12, 2024

Copy link
Copy Markdown
Member

Wheels have been fixed on main, can you rebase to have green CI before merge?

@jorisvandenbossche

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit -g wheel

@github-actions

Copy link
Copy Markdown

Revision: f579e27

Submitted crossbow builds: ursacomputing/crossbow @ actions-4606dc8ba2

Task Status
wheel-macos-big-sur-cp310-arm64 GitHub Actions
wheel-macos-big-sur-cp311-arm64 GitHub Actions
wheel-macos-big-sur-cp312-arm64 GitHub Actions
wheel-macos-big-sur-cp38-arm64 GitHub Actions
wheel-macos-big-sur-cp39-arm64 GitHub Actions
wheel-macos-catalina-cp310-amd64 GitHub Actions
wheel-macos-catalina-cp311-amd64 GitHub Actions
wheel-macos-catalina-cp312-amd64 GitHub Actions
wheel-macos-catalina-cp38-amd64 GitHub Actions
wheel-macos-catalina-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp38-amd64 GitHub Actions
wheel-manylinux-2-28-cp38-arm64 GitHub Actions
wheel-manylinux-2-28-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp39-arm64 GitHub Actions
wheel-manylinux-2014-cp310-amd64 GitHub Actions
wheel-manylinux-2014-cp310-arm64 GitHub Actions
wheel-manylinux-2014-cp311-amd64 GitHub Actions
wheel-manylinux-2014-cp311-arm64 GitHub Actions
wheel-manylinux-2014-cp312-amd64 GitHub Actions
wheel-manylinux-2014-cp312-arm64 GitHub Actions
wheel-manylinux-2014-cp38-amd64 GitHub Actions
wheel-manylinux-2014-cp38-arm64 GitHub Actions
wheel-manylinux-2014-cp39-amd64 GitHub Actions
wheel-manylinux-2014-cp39-arm64 GitHub Actions
wheel-windows-cp310-amd64 GitHub Actions
wheel-windows-cp311-amd64 GitHub Actions
wheel-windows-cp312-amd64 GitHub Actions
wheel-windows-cp38-amd64 GitHub Actions
wheel-windows-cp39-amd64 GitHub Actions

@raulcd raulcd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Java JNI / AMD64 manylinux2014 Java JNI is timing out after 90 minutes because is rebuilding the docker manylinux image. I am going to merge because it has nothing to do with this PR. The timeout was modified from 500 minutes to 90 minutes on this PR: https://github.com/apache/arrow/pull/40609/files#diff-d4336cc8304d9967e1e645bb86368d266ff4b96503aaea4aab2ded3bb398cd8e
We might have to increase it again.

@github-actions github-actions Bot added awaiting merge Awaiting merge and removed awaiting committer review Awaiting committer review labels Apr 15, 2024
@raulcd

raulcd commented Apr 15, 2024

Copy link
Copy Markdown
Member

@jorisvandenbossche Should we create an issue to update the Numpy version from RC1 to the final released once numpy releases?

@raulcd
raulcd merged commit 0b33c65 into apache:main Apr 15, 2024
@raulcd raulcd removed the awaiting merge Awaiting merge label Apr 15, 2024
raulcd pushed a commit that referenced this pull request Apr 15, 2024
…ead of nightly (#41097)

### Rationale for this change

Now NumPy has released a first RC for 2.0, we should update our PyArrow wheels to build with this released version instead of with the nightly numpy packages, to ensure we don't build our release wheels with an unstable numpy version.

### What changes are included in this PR?

Increased the version requirement for numpy for the installed packages at build time to `numpy>=2.0.0rc1`, to force installing this RC instead of numpy 1.26

### Are these changes tested?

The wheel tests ensure that those wheels still work with older versions of numpy
* GitHub Issue: #39848

Authored-by: Joris Van den Bossche <[email protected]>
Signed-off-by: Raúl Cumplido <[email protected]>
@jorisvandenbossche
jorisvandenbossche deleted the numpy-2-compat-wheels-prerelease branch April 15, 2024 11:24
@jorisvandenbossche

jorisvandenbossche commented Apr 15, 2024 •

Copy link
Copy Markdown
Member Author

Checked a subset of the builds in the logs to verify they indeed build with numpy 2.0, on CI we test the wheels runs with older numpy, and locally I tested one wheel that it imports fine with numpy 2.0.

Should we create an issue to update the Numpy version from RC1 to the final released once numpy releases?

Yep, good idea, will do -> #41203

@conbench-apache-arrow

Copy link
Copy Markdown

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

There were no benchmark performance regressions. 🎉

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

vibhatha pushed a commit to vibhatha/arrow that referenced this pull request May 25, 2024
…C instead of nightly (apache#41097)

### Rationale for this change

Now NumPy has released a first RC for 2.0, we should update our PyArrow wheels to build with this released version instead of with the nightly numpy packages, to ensure we don't build our release wheels with an unstable numpy version.

### What changes are included in this PR?

Increased the version requirement for numpy for the installed packages at build time to `numpy>=2.0.0rc1`, to force installing this RC instead of numpy 1.26

### Are these changes tested?

The wheel tests ensure that those wheels still work with older versions of numpy
* GitHub Issue: apache#39848

Authored-by: Joris Van den Bossche <[email protected]>
Signed-off-by: Raúl Cumplido <[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.

3 participants