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

Miscellaneous updates for Pyodide 0.27: bump WASM CI and revise Arrow compatibility note #60756

Merged
merged 5 commits into from
Jan 22, 2025

Conversation

agriyakhetarpal
Copy link
Contributor

@agriyakhetarpal agriyakhetarpal commented Jan 22, 2025

  • closes #xxxx (Replace xxxx with the GitHub issue number)
  • Tests added and passed if fixing a bug or adding a new feature
  • All code checks passed.
  • Added type annotations to new arguments/methods/functions.
  • Added an entry in the latest doc/source/whatsnew/vX.X.X.rst file if fixing a bug or adding a new feature.

I noticed via #60747 that the Pyodide CI job for pandas in unit-tests.yml is still using a version of Pyodide1 that is quite old by this point; we no longer support it, as we have recently released Pyodide 0.27 this January (https://github.com/pyodide/pyodide/releases/tag/0.27.1). On the other hand, cibuildwheel in wheels.yml builds against Pyodide 0.26 at the moment.

Other notes around the changes here:

  • we unvendored pyodide-build from the Pyodide runtime/repository, so its version does not stay in sync with the Pyodide runtime version.
  • the Node.js version has been bumped to 20, though 22 should work, too.
  • the Pyodide cross-build environment folder has been added to the .gitignore file
  • PyArrow is now supported in Pyodide/WASM (docs on compilation), and I've updated the PDEP-10 document here to remove the point surrounding its previous unavailability in Pyodide/PyScript/other WASM environments.
  • I removed an expected failure case in TestCoercionFloat32.test_setitem that now xpasses with Emscripten 3.1.58.

Please let me know if you want me to split any of the changes to a different PR. Thank you!

Footnotes

  1. I have plans in mind to make these upgrades more seamless via https://github.com/pyodide/pyodide-actions/issues/12 by letting Dependabot do such a job, but I haven't got around to sitting down and spending a bit of time doing so.

@mroeschke mroeschke added Testing pandas testing functions or related to the test suite CI Continuous Integration labels Jan 22, 2025
@mroeschke
Copy link
Member

On the other hand, cibuildwheel in wheels.yml builds against Pyodide 0.26 at the moment.

Could you bump pyodide in for the wheel builds then to match the version in our unit tests?

@agriyakhetarpal
Copy link
Contributor Author

On the other hand, cibuildwheel in wheels.yml builds against Pyodide 0.26 at the moment.

Could you bump pyodide in for the wheel builds then to match the version in our unit tests?

I could, but it needs this PR to make it to a release: pypa/cibuildwheel#2117

@mroeschke mroeschke added this to the 3.0 milestone Jan 22, 2025
@mroeschke mroeschke merged commit b60e222 into pandas-dev:main Jan 22, 2025
59 of 60 checks passed
@mroeschke
Copy link
Member

I could, but it needs this PR to make it to a release: pypa/cibuildwheel#2117

OK no problem. Thanks @agriyakhetarpal

@agriyakhetarpal agriyakhetarpal deleted the update/emscripten-ci branch January 22, 2025 18:00
asharmalik19 pushed a commit to asharmalik19/pandas that referenced this pull request Jan 22, 2025
… compatibility note (pandas-dev#60756)

* Update Pyodide versions for CI

* Git-ignore Pyodide xbuildenv folder

* Pin to Pyodide 0.27.1

* Drop "WASM (pyodide and pyscript)" from Arrow compatibility notes

* `TestCoercionFloat32.test_setitem` now xpasses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration Testing pandas testing functions or related to the test suite
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants