Skip to content

tkoyama010/pyvista-wasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

pyvista-wasm

JupyterLite Stlite marimo

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
jupyterlite-preview stlite-preview marimo-preview

Table of Contents

Install

PyPI

pip install pyvista-wasm

For Pyodide/stlite:

import micropip

await micropip.install("pyvista-wasm")

Usage

import pyvista_wasm as pv

plotter = pv.Plotter()
plotter.add_mesh(pv.Sphere(), color="red")
plotter.show()

Differences from pyvista-js

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's vtk.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

Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.

License

Apache License 2.0 © Tetsuo Koyama

About

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors