3D plotting & analysis made easy.

Make 3D analysis and visualization feel like the rest of scientific Python, so you can focus on the research instead of wrangling spatial data structures and 3D rendering.

Quick install pip install 'pyvista[all]'

The 3D library that fits in with the rest of your Python stack.

PyVista brings 3D data, mesh analysis, and plotting into the same idiom as NumPy, pandas, and xarray. Array-native datasets, direct memory sharing where possible, and an interface that reads the way your research code already does.

NumFOCUS affiliated projects Affiliated

Scientific Python interop

Mesh data that acts like NumPy data.

PyVista's dataset classes expose points, cells, and attached fields as NumPy arrays, often sharing memory with the underlying object. Hand them to pandas, xarray, scikit-image, or SciPy and keep the same objects through analysis, transformation, and plotting.

More than plotting

Write research code, not graphics code.

Threshold, slice, warp, contour, clip, decimate, interpolate, and run boolean operations with one-line methods on the dataset. Chain them together, inspect intermediate results, and drop the output back into NumPy or pandas when you are done.

From notebooks to applications

One library, the whole journey.

The same code runs in Jupyter for exploration, on the server behind a trame or Panel web app, inside a PyQt desktop tool, and in CI as an image regression test. No rewrites when the use case grows.

Example

Declarative 3D in Python.

Describe what you want to see and PyVista builds the scene, manages GPU resources, and cleans up when the window closes.

Python
import pyvista as pv
from pyvista import examples

# or pv.read('path/to/mesh.obj')
mesh = examples.download_aero_bracket()
mesh.plot()
Aero bracket visualized with PyVista
Aero bracket

Explore PyVista

The docs are the best place to go deeper.

Whether you're installing PyVista for the first time, browsing the gallery, or reaching for an API reference, the documentation has what you need.

Ecosystem

Projects built on PyVista.

Official projects extend PyVista with mesh repair, meshing, testing, and compression. Community projects build on it for neuroscience, geosciences, engineering analysis, and more.

Cite & publications

Cited across the sciences.

PyVista shows up in published research across aerospace, geoscience, neuroscience, electrical engineering, and more. If it helps your work, please cite the JOSS paper so the project stays visible in the scientific record.

662 papers cite PyVista
Live count from OpenAlex

A few papers built on PyVista

Citation
Sullivan, B., & Kaszynski, A. (2019). PyVista: 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK). Journal of Open Source Software, 4(37), 1450. https://doi.org/10.21105/joss.01450