Description
Problem
Hi there! I am opening this feature request to gauge ideas and comments about out-of-tree Pyodide builds, i.e., wasm32 wheels via the Emscripten toolchain for Matplotlib. In my most recent work assignment, I am working on improving the interoperability for the Scientific Python ecosystem of packages with Pyodide and with each other, which shall culminate with efforts towards bringing interactive documentation for these packages where they can then be run in JupyterLite notebooks, through nightly builds and wheels for these packages pushed to PyPI-like indices on Anaconda, at and during a later phase during the project.
This project is being tracked at Quansight-Labs/czi-scientific-python-mgmt#18.
Proposed solution
This issue proposes out-of-tree builds for matplotlib
on its own CI and build infrastructure. I would be glad to work on this. This is how it would proceed, tentatively:
- A CI pipeline on GitHub Actions where Emscripten/Pyodide builds for the development version of
matplotlib
are pursued - Testing the built wheels against a Pyodide wasm32 runtime virtual environment within the same workflow
- Fixing up and skipping failing tests as necessary based on current Pyodide limitations and ensuring that all relevant test cases pass.