skillfed

pyvista

3D visualization and mesh analysis for science and engineering.

pyvista v0.48.4 1.4M downloads/30d#3,959 on PyPI3,770
Permissive license MIT Active released

What it is and what it does

PyVista is a Python layer over the Visualization Toolkit (VTK) that abstracts away VTK's complexity and provides a NumPy-friendly interface for 3D mesh and point-cloud work. It handles dataset structures for points, surfaces, and volumes; offers a large filter API (clipping, slicing, thresholding, smoothing, and others); and provides one plotting framework that works interactively in Jupyter, headlessly in CI pipelines, and embedded in larger applications.

The library is built for production use: it runs image-regression tests across all supported Python versions and VTK releases, maintains a stable public API with deliberate deprecation cycles, and locks rendering behavior under visual regression baselines. It is designed to be extended by downstream packages through a registered-accessor pattern, allowing third-party domain-specific filters and plotter components without subclassing or vendoring.

Use it for:

  • Visualize point clouds and 3D scan data in Jupyter notebooks or standalone scripts for exploratory analysis.
  • Generate publication-quality 3D figures for scientific papers and technical reports.
  • Automate batch 3D mesh processing workflows (clipping, smoothing, thresholding) in CI pipelines.
  • Build custom 3D visualization applications by embedding PyVista's plotting framework in web or desktop apps.
  • Analyze volumetric data (medical imaging, simulation results) with interactive slicing and filtering.
  • Extend PyVista with domain-specific tools via the accessor API for specialized engineering or scientific domains.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyVista provides a NumPy-native API for 3D visualization and mesh analysis, with dataset structures and filters for points, surfaces, and volumes, plus a unified plotting framework for notebooks, scripts, CI, and applications.

Yes. PyVista is a mature, actively maintained library (last commit 2026-08-14, 3770 GitHub stars) with low install friction, MIT licensing, zero known vulnerabilities, and broad Python version support (3.10–3.14). It is the standard choice for 3D visualization in scientific Python and is built for production reliability. Install it if you need 3D mesh visualization, point-cloud analysis, or volumetric data exploration.

Install

pyvista on PyPI

pip

pip install pyvista

uv

uv add pyvista

poetry

poetry add pyvista

Installing pyvista

Before you install

Low friction: pure Python wheel with well-maintained dependencies (numpy, matplotlib, vtk). Active maintenance with recent releases; last commit 2026-08-14. Supports Python 3.10 through 3.14 across macOS, Windows, and POSIX systems.

License in practice

MIT license (permissive) allows use in commercial and proprietary projects with minimal restrictions—only requiring license attribution.

Quickstart

pip install pyvista

import pyvista as pv
mesh = pv.Sphere()
mesh.plot()

Requires Python 3.10 or later; vtk dependency may require system graphics libraries on headless systems.

Verify before relying

  • Whether rendering works without a display server in all CI environments or requires xvfb/similar setup.
  • Performance characteristics and memory usage for large meshes (millions of points/cells).
  • Whether the extension API is stable enough for production third-party packages.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 8 — cyclopts, matplotlib, numpy, pillow, pooch, scooby, typing-extensions, vtk
Maintenance actively maintained — 88 days since the last release
Last repo commit
First released
Downloads 1,396,838/month — #3,959 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyvista-0.48.4-py3-none-any.whl

Keywords: mesh, numpy, plotting, vtk

Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering :: Information Analysis

Tags

3D visualization pythonmesh analysis librarypoint cloud visualizationVTK wrapper pythonscientific 3D plottingvolumetric data visualizationsurface mesh processing
3d-graphicsmesh-processingscientific-computing

More Information Analysis packages