3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK).

PyVista is...

  • "VTK for humans": a high-level API to the Visualization Toolkit (VTK)
  • mesh data structures and filtering methods for spatial datasets
  • 3D plotting made simple and built for large/complex data geometries

PyVista (formerly vtki) is a helper module for the Visualization Toolkit (VTK) that takes a different approach on interfacing with VTK through NumPy and direct array access. This package provides a Pythonic, well-documented interface exposing VTK's powerful visualization backend to facilitate rapid prototyping, analysis, and visual integration of spatially referenced datasets.

This module can be used for scientific plotting for presentations and research papers as well as a supporting module for other mesh 3D rendering dependent Python modules; see Connections for a list of projects that leverage PyVista.


Head over to the Quick Examples page in the docs to explore our gallery of examples showcasing what PyVista can do! Want to test-drive PyVista? All of the examples from the gallery are live on MyBinder for you to test drive without installing anything locally:


  • Extensive gallery of examples (see Quick Examples)
  • Interactive plotting in Jupyter Notebooks (server-side rendering with ipyvtk_simple)
  • Filtering/plotting tools built for interactivity (see Widgets)
  • Direct access to mesh analysis and transformation routines (see Filters)
  • Intuitive plotting routines with matplotlib similar syntax (see Plotting)
  • Import meshes from many common formats (use Support for all formats handled by meshio is built-in!
  • Export meshes as VTK, STL, OBJ, or PLY ( file types or any formats supported by meshio (pyvista.save_meshio())