Add Pyodide (WASM) wheel build and release asset#1960
Add Pyodide (WASM) wheel build and release asset#1960ericmjl wants to merge 5 commits intopymc-devs:mainfrom
Conversation
|
@ericmjl for future reference we prefer devs to contribute from their forks instead of working on the main repo directly |
I'm pretty sure I'm working from my own fork 😄 |
lucianopaz
left a comment
There was a problem hiding this comment.
Wouldn't it be good to add a line some in the README.md or the docs landing page saying how to install on a wasm environment? Wouldn't users have to put in the full url of the github release to install?
You sure are, I wasn't seeing the ericmjl prefix before on my desktop. On the mobile I see |
|
@lucianopaz addressed your comment too. |
- Replace old 'Build universal wheel for Pyodide' job with proper pyodide-build + Emscripten job: Python 3.12, pyodide-build, setup-emsdk, pip install -e .[pyodide], pyodide build + Upload artifact pyodide_wheel (dist/*wasm32.whl) - Add job to upload Pyodide wheel to GitHub Release on publish (PyPI does not accept wasm32 yet) - Add optional dependency pyodide = [pyodide-build>=0.29.2] and document manual build in dev guide - Remove Pixi references: .pixi from pre-commit sphinx-lint args, conda/mamba/pixi -> conda/mamba in cmodule and troubleshooting - upload_pypi no longer downloads universal_wheel; PyPI gets only sdist + cibuildwheel wheels - Numba remains optional on wasm via existing env markers (micropip install works without numba) Made-with: Cursor
…tprops action Made-with: Cursor
Made-with: Cursor
- Restore pixi references in docs and warnings (previously removed without explanation) - Restore helpful workflow comments in pypi.yml - Move Pyodide build docs from dev_start_guide to install.rst (more appropriate location) - Add user-facing WASM/Pyodide installation instructions in install.rst
Addresses lucianopaz's feedback: make WASM installation instructions discoverable from the README and docs index, not just install.rst.
4d82c0f to
0e6aa46
Compare
Summary
setup.py bdist_wheel --universal) with a proper pyodide-build + Emscripten job that produces a wasm32 wheel.pyodideinpyproject.tomland documents the manual Pyodide build in the dev guide; no Pixi or other new tooling..pixifrom pre-commit sphinx-lint args, andconda/mamba/pixi→conda/mambain cmodule and troubleshooting docs.Numba remains optional on wasm via existing environment markers, so the Pyodide wheel is micropip-installable without numba.
CI changes
build_pyodide_wheel: Python 3.12, install pyodide-build, get Emscripten version,mymindstorm/setup-emsdk,pip install -e ".[pyodide]",pyodide build, uploadpyodide_wheelartifact.upload_pyodide_to_release: On release published, downloadpyodide_wheeland attach to the release viasoftprops/action-gh-release.upload_pypi: No longer downloads or uploads the olduniversal_wheel; PyPI receives only sdist + cibuildwheel platform wheels.Made with Cursor