-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
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
BLD, TST: Build and test Pyodide wheels for pandas
in CI
#57896
Conversation
Here is one of the latest workflow runs on my fork: https://github.com/agriyakhetarpal/pandas/actions/runs/8331354944/job/22798065116 The associated failures right now are mostly coming from a singular test that (which is associated with a hypothesis generator that brings additional test cases?) For example, there is a floating point inaccuracy, here – which could be corrected by setting the relative and absolute tolerances differently:
and some
I am not completely sure how to fix these tests – I don't get why these aren't skipped completely? I would appreciate another pair of eyes on this; happy to receive pointers from someone experienced with the codebase :) |
At least for the second test it looks like it is imperatively skipping for platforms that are not 64 bit. I take it the platform these are running on is still 64 bit but we are cross compiling to a 32 bit WASM target?
|
Hi, @WillAyd, yes – cross-compilation is indeed what is happening here and the platform is 64-bit, but the Python interpreter that runs the test suite is 32-bit (so it should, in theory, skip this, but it doesn't). I disabled the check in d54d198 which I hope should fix it. |
See pyodide/pyodide#4654 for more discussion. This commit resolves a build error coming from the `pyodide build` command which broke due to a new `build` release by PyPA.
Pyodide had a new release recently to fix an error in the If there's something else here that I should do in the meantime, I'm happy to do that – open to suggestions about resolving the two failing tests. |
This pull request is stale because it has been open for thirty days with no activity. Please update and respond to this comment if you're still interested in working on this. |
Putting up my response to the above comment that I am still interested in working on this. |
@agriyakhetarpal it seems reasonable to either skip the |
Thanks for sticking with this. It's looking close to merge |
With most of the tests skipped where it is not possible or relevant to fix them, we are down to zero failures, and all other tests pass or xpass (or are xfailed for other reasons). The logs from the workflow run are here: https://github.com/pandas-dev/pandas/actions/runs/8945452670/job/24574452414. The doc build failures at the time of writing look to be unrelated to the changes made in this PR. Some of the tests that have been skipped can be, perhaps, adapted to use a 32-bit version of them; I am happy to add a few of those where necessary. I'm marking this PR ready for review so that it can get the attention of more maintainers. |
pandas
in CIpandas
in CI
Great work here @agriyakhetarpal |
Thanks for the merge, @mroeschke! I wish to ask if I can write a PR directly for pushing these wheels nightly to the For context, this is a part of the greater goal as highlighted in #57891 (comment), in order to push towards interactive Sphinx-based documentation via JupyterLite. Doing this will be a much more trivial change in comparison; I am happy to contribute further. |
An example that highlights some interactive documentation is available for the API reference for PyWavelets: https://pywavelets.readthedocs.io/en/latest/ref/dwt-discrete-wavelet-transform.html (work on the Usage Examples section is underway) |
Feel free just to open a PR directly to add the wheels configurations to |
pandas
#57891doc/source/whatsnew/vX.X.X.rst
file if fixing a bug or adding a new feature.Description
This PR adds a workflow,
emscripten.yml
, to the GitHub Actions CI activities where WebAssembly wheels forpandas
using Pyodide/Emscripten are built and then tested. I have fixed up a few of the tests, but most of them are skipped for now and these differences probably do not affect major functionality.