PyVista-like API for VTK.wasm — bring intuitive 3D visualization to the browser using WebAssembly.
| Try it with JupyterLite | Try it with Stlite | Try it with marimo |
|---|---|---|
![]() |
![]() |
![]() |
pip install pyvista-wasmFor Pyodide/stlite:
import micropip
await micropip.install("pyvista-wasm")import pyvista_wasm as pv
plotter = pv.Plotter()
plotter.add_mesh(pv.Sphere(), color="red")
plotter.show()This project replaces the vtk.js rendering backend used in pyvista-js with VTK.wasm (@kitware/vtk-wasm npm package).
Key differences:
- Rendering backend: VTK.wasm (WebAssembly port of VTK C++) instead of vtk.js (pure JavaScript reimplementation)
- API style: VTK.wasm uses
vtk.vtkRenderer()factory functions on a namespace object, vs vtk.js'svtk.Rendering.Core.vtkRenderer.newInstance()hierarchy - Initialization: VTK.wasm requires async initialization via
vtkWASM.createNamespace()to load the WASM binary - Feature parity: VTK.wasm provides access to the full VTK C++ API, enabling features not available in vtk.js
Contributions are welcome! Please open an issue or pull request on GitHub.
Apache License 2.0 © Tetsuo Koyama


