Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upload 3.13 & free-threaded nightly wheels #59136

Merged
merged 21 commits into from
Jul 22, 2024

Conversation

lysnikolaou
Copy link
Contributor

@mroeschke mroeschke added the CI Continuous Integration label Jun 28, 2024
@lysnikolaou lysnikolaou mentioned this pull request Jul 2, 2024
@lysnikolaou lysnikolaou changed the title Upload free-threaded nightly wheels on Linux and macOS Upload 3.13 & free-threaded nightly wheels Jul 2, 2024
@xbit18
Copy link

xbit18 commented Jul 4, 2024

Hi, any progress on this?

@lithomas1 lithomas1 added the Build Library building on various platforms label Jul 5, 2024
@lysnikolaou
Copy link
Contributor Author

Folks, I'm sorry for the multiple commits. I had to try things out before I get this right.

This is now ready for review. CircleCI is failing, but it does so on main as well.

@xbit18
Copy link

xbit18 commented Jul 11, 2024

Is there by chance a way to test the wheels?

@lysnikolaou
Copy link
Contributor Author

Is there by chance a way to test the wheels?

The wheels are installed in a virtual environment and tests are run against them after creation. If you want to test locally, you can download the wheels from the build artifacts.

@lysnikolaou
Copy link
Contributor Author

@mroeschke Thanks for the review! Feedback addressed.

@@ -153,6 +163,7 @@ jobs:
env:
CIBW_PRERELEASE_PYTHONS: True
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
CIBW_BUILD_FRONTEND: ${{ matrix.cibw_build_frontend || 'pip' }}
Copy link
Member

Choose a reason for hiding this comment

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

Looks like the wasm build needs to specify cibw_build_frontendas something based on the failing build

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm, according to the docs pyodide should ignore this setting, since only "build" is supported.

@mroeschke mroeschke added this to the 3.0 milestone Jul 22, 2024
@mroeschke mroeschke merged commit 7c0ee27 into pandas-dev:main Jul 22, 2024
88 of 91 checks passed
@mroeschke
Copy link
Member

Thanks @lysnikolaou

@EwoutH
Copy link
Contributor

EwoutH commented Jul 23, 2024

Awesome!

Can we expect Python 3.13 support on the Pandas 2.x series, or will it be exclusive to 3.0?

@mroeschke
Copy link
Member

Exclusive to 3.0

@neutrinoceros
Copy link
Contributor

Hi. There seems to be no cp313 nightly available at the moment, when there were a couple days ago. Is it expected ?

@jorisvandenbossche
Copy link
Member

Yes, see #59817, hopefully fixed by tomorrow!

@jorisvandenbossche jorisvandenbossche mentioned this pull request Sep 18, 2024
@jorisvandenbossche jorisvandenbossche modified the milestones: 3.0, 2.2.3 Sep 18, 2024
@jorisvandenbossche
Copy link
Member

@meeseeksdev backport to 2.2.x

Copy link

lumberbot-app bot commented Sep 18, 2024

Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

  1. Checkout backport branch and update it.
git checkout 2.2.x
git pull
  1. Cherry pick the first parent branch of the this PR on top of the older branch:
git cherry-pick -x -m1 7c0ee27e6c00e9645154583917de0f385190d8d8
  1. You will likely have some merge/cherry-pick conflict here, fix them and commit:
git commit -am 'Backport PR #59136: Upload 3.13 & free-threaded nightly wheels'
  1. Push to a named branch:
git push YOURFORK 2.2.x:auto-backport-of-pr-59136-on-2.2.x
  1. Create a PR against branch 2.2.x, I would have named this PR:

"Backport PR #59136 on branch 2.2.x (Upload 3.13 & free-threaded nightly wheels)"

And apply the correct labels and milestones.

Congratulations — you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon!

Remember to remove the Still Needs Manual Backport label once the PR gets merged.

If these instructions are inaccurate, feel free to suggest an improvement.

jorisvandenbossche pushed a commit to jorisvandenbossche/pandas that referenced this pull request Sep 18, 2024
* Upload free-threaded nightly wheels on Linux and macOS

* Consolidate jobs into one

* Install build dependencies in before-build and pass --no-build-isolation

* Fix {project} placeholder in cibuildwheel config

* Correctly quote echo CIBW_BUILD_FRONTEND command

* Run echo -e

* Add {package} to before-build

* Include cibw script in sdist & add matrix value for build frontend

* Change manifest and gitattributes

* Change gitattributes

* Install verioneer in before-build

* Add cibw_before_test to install nightly NumPy

* Expand before-test to musl

* Better comments plus always run before-build/before-test on 3.13

* Add --no-build-isolation in 3.13 as well

* Install nightly numpy before windows tests

* Address feedback; add todo for NumPy nightly and move default outside matrix

* Set build_frontend to 'build' in pyodide build

---------

Co-authored-by: Matthew Roeschke <[email protected]>
(cherry picked from commit 7c0ee27)
@jorisvandenbossche
Copy link
Member

Backported in #59835

lithomas1 added a commit that referenced this pull request Sep 19, 2024
…ly wheels) (#59835)

* Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 (#59208)

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.19.1 to 2.19.2.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v2.19.1...v2.19.2)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit ad09dc6)

* Upload 3.13 & free-threaded nightly wheels (#59136)

* Upload free-threaded nightly wheels on Linux and macOS

* Consolidate jobs into one

* Install build dependencies in before-build and pass --no-build-isolation

* Fix {project} placeholder in cibuildwheel config

* Correctly quote echo CIBW_BUILD_FRONTEND command

* Run echo -e

* Add {package} to before-build

* Include cibw script in sdist & add matrix value for build frontend

* Change manifest and gitattributes

* Change gitattributes

* Install verioneer in before-build

* Add cibw_before_test to install nightly NumPy

* Expand before-test to musl

* Better comments plus always run before-build/before-test on 3.13

* Add --no-build-isolation in 3.13 as well

* Install nightly numpy before windows tests

* Address feedback; add todo for NumPy nightly and move default outside matrix

* Set build_frontend to 'build' in pyodide build

---------

Co-authored-by: Matthew Roeschke <[email protected]>
(cherry picked from commit 7c0ee27)

* CI: Update to cibuildwheel 2.20.0 (#59401)

cibuildwheel 2.20.0 uses the ABI stable Python 3.13.0rc1 and build Python 3.13 wheels by default, which allows removing the `CIBW_PRERELEASE_PYTHONS` flag.

Co-authored-by: Matthew Roeschke <[email protected]>
(cherry picked from commit 70bb855)

* Update wheels.yml

* BLD/RLS: build wheels with released numpy/cython for Python 3.13 (#59819)

(cherry picked from commit 2237217)

* enable prerelease again

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lysandros Nikolaou <[email protected]>
Co-authored-by: Ewout ter Hoeven <[email protected]>
Co-authored-by: Thomas Li <[email protected]>
@Alec1198055421
Copy link

Is there by chance a way to test the wheels?

The wheels are installed in a virtual environment and tests are run against them after creation. If you want to test locally, you can download the wheels from the build artifacts.

hi, Is there a usable version of pandas available for windows plateform

@lysnikolaou
Copy link
Contributor Author

hi, Is there a usable version of pandas available for windows plateform

There's cp313 wheels for Windows avaialble on PyPI, but not cp313t wheels, i.e. wheels compiled against the free-threaded build. The free-threaded wheels were blocked because NumPy didn't have Windows wheels available. Now it does, however, and I'm planning to work on getting pandas wheels for Windows working soon.

@Alec1198055421
Copy link

Thank you so much. Please let me know when the Windows version of pandas is available, and thank you again

@Alec1198055421
Copy link

hello,How's the progress coming along?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms CI Continuous Integration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants