Skip to content

Build Pyodide (WebAssembly) wheels - #158

Open
eriknw wants to merge 1 commit into
GraphBLAS:mainfrom
eriknw:pyodide_wheels
Open

eriknw wants to merge 1 commit into
GraphBLAS:mainfrom
eriknw:pyodide_wheels

Conversation

@eriknw

@eriknw eriknw commented Oct 8, 2026

Copy link
Copy Markdown
Member

Add a pyodide job to wheels.yml that builds and tests cp313 and cp314 pyemscripten wheels (PEP 783) for PyPI. GraphBLAS is built as a static library in before-build (SUITESPARSE_EMSCRIPTEN=1), and EMCC_CFLAGS=-O2 replaces Pyodide's -Oz link, which never finishes. cp315 is skipped until Pyodide 315 is final.

Also:

  • suitesparse.sh stops at the first failed step and uses the CMake option names GraphBLAS honors (GRAPHBLAS_COMPACT, GRAPHBLAS_JITINIT); the old names were silently ignored.
  • Tests: explicit int64 where GraphBLAS reads GrB_INT64 (NumPy's default int is int32 on wasm32); skip the subprocess and OpenMP tests on emscripten; lzma is optional.
  • Wheels no longer ship build-only .c/.h files (the sdist keeps them).
  • README and AGENTS.md notes on Pyodide; Emscripten classifier.

Add a pyodide job to wheels.yml that builds and tests cp313 and cp314
pyemscripten wheels (PEP 783) for PyPI. GraphBLAS is built as a static
library in before-build (SUITESPARSE_EMSCRIPTEN=1), and EMCC_CFLAGS=-O2
replaces Pyodide's -Oz link, which never finishes. cp315 is skipped
until Pyodide 315 is final.

Also:
- suitesparse.sh stops at the first failed step and uses the CMake
  option names GraphBLAS honors (GRAPHBLAS_COMPACT, GRAPHBLAS_JITINIT);
  the old names were silently ignored.
- Tests: explicit int64 where GraphBLAS reads GrB_INT64 (NumPy's
  default int is int32 on wasm32); skip the subprocess and OpenMP
  tests on emscripten; lzma is optional.
- Wheels no longer ship build-only .c/.h files (the sdist keeps them).
- README and AGENTS.md notes on Pyodide; Emscripten classifier.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant