Skip to content

Build Pyodide (WebAssembly) wheels - #158

Merged
eriknw merged 1 commit into
GraphBLAS:mainfrom
eriknw:pyodide_wheels
Oct 13, 2026
Merged

eriknw merged 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.
@eriknw

eriknw commented Oct 13, 2026

Copy link
Copy Markdown
Member Author

Merging. YOLO :)

@eriknw
eriknw merged commit 90dfbd3 into GraphBLAS:main Oct 13, 2026
29 checks passed
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