3D visualization and mesh analysis for science and engineering PyVista is an open source, community-owned project, MIT licensed and NumFOCUS Affiliated . CoDimensional PBC , founded by PyVista maintainers, is…
3D visualization and mesh analysis for science and engineering
PyVista is an open source, community-owned project, MIT licensed and
NumFOCUS Affiliated.
CoDimensional PBC,
founded by PyVista maintainers, is the project's commercial steward.
PyVista provides:
- a NumPy-native API for 3D visualization and mesh analysis
- dataset structures and filters for points, surfaces, and volumes
- one plotting framework for notebooks, scripts, CI, and apps
- a streamlined 3D interface for newcomers and graphics experts alike
Why PyVista
PyVista is the foundational Python library for 3D visualization and mesh
analysis in scientific computing and engineering. It plays the same role for
3D data that pandas plays for tabular data and xarray plays for labeled
n-dimensional arrays: NumPy-native datasets for point clouds, surfaces, and
volumetric meshes; a filter API covering clipping, slicing, thresholding,
smoothing, and dozens of other operations; and a unified plotting framework
that runs interactively in Jupyter notebooks, headlessly in CI, and as
embedded views inside larger web and desktop applications.
Built for production
PyVista is the reliable layer between user code and the underlying graphics
stack. The library is image-regression tested on every commit across all
Python versions still in their lifecycle and VTK releases,
holds its public API stable through a deliberate deprecation lifecycle, and
locks rendering behavior under visual regression baselines. The C++ toolkit
underneath provides few of these assurances and doesn't share our enthusiasm
for testing and reliability, which is why downstream science and engineering
teams build on PyVista.
Built to extend
Your downstream code can build on PyVista through a small, lazily evaluated
extension API. Third-party packages attach domain-specific filters and
plotter components via registered accessors, with no subclassing, no
monkey-patching, and no vendoring of upstream algorithms. See
Extending PyVista for
the contract.
Quickstart
PyVista runs on Python 3.10+:
bash
pip install pyvista
Or via conda-forge:
bash
conda install -c conda-forge pyvista
Try PyVista in your browser without installing anything, on
MyBinder.
Documentation
(including optional dependencies)For general questions, ideas, or to share what you've built with PyVista,
start a thread in
GitHub Discussions or join
the Slack community.
Connections
PyVista is used across science and engineering disciplines to visualize 3D
data and models, generate publication-quality figures, automate analysis
workflows, and build custom applications on top of PyVista's 3D capabilities.
Contributing



PyVista is mostly maintained on a volunteer basis and we welcome contributions
of every shape. Bug reports, documentation fixes, new examples, filter ideas;
all of it helps. Start with the
Contributing Guide
and our
Code of Conduct.
Authors

PyVista is built by a global community. See the
contributors page
and the active
list of authors.
Made with contrib rocks.
Professional support
Many users and organizations rely on PyVista in production workflows,
research pipelines, and custom visualization systems. For expert guidance,
development help, or guaranteed support, there are several ways to engage
with the people who build and maintain PyVista.
For general inquiries, reach out to and we can help
connect you with the right community experts for your 3D visualization or
analysis needs.
For professional services such as consulting, custom development, feature
design, integration support, or training, consider sponsoring PyVista's core
developers through the "Sponsor this project" section on GitHub. Sponsorship
provides direct access to experts and helps sustain the maintenance and
feature work that keeps PyVista reliable. More details in the discussion
post: .
Citing PyVista
If you use PyVista in scientific research, please cite the
JOSS paper.
> Sullivan and Kaszynski (2019). PyVista: 3D plotting and mesh analysis
> through a streamlined interface for the Visualization Toolkit (VTK).
> _Journal of Open Source Software_, 4(37), 1450.
>
bibtex
@article{sullivan2019pyvista,
doi = {10.21105/joss.01450},
url = {https://doi.org/10.21105/joss.01450},
year = {2019},
month = {May},
publisher = {The Open Journal},
volume = {4},
number = {37},
pages = {1450},
author = {Bane Sullivan and Alexander Kaszynski},
title = {{PyVista}: {3D} plotting and mesh analysis through a streamlined interface for the {Visualization Toolkit} ({VTK})},
journal = {Journal of Open Source Software}
}
Status
Deployment:





Build:



Quality:


https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" rel="noopener nofollow" target="_blank">

Activity:




Citation:


Community:


Affiliations & mentions:


Members
-
pyvista ★ PINNED
3D visualization and mesh analysis for science and engineering
Python ★ 3.7k 21h agoExplain → -
awesome-pyvista ★ PINNED
A curated list of awesome stuff related to PyVista 😎
Python ★ 20 3d agoExplain → -
tetgen ★ PINNED
Python interface to TetGen: generate tetrahedral meshes from 3D polyhedral domains
C++ ★ 306 5d agoExplain → -
pymeshfix ★ PINNED
Python Wrapper for MeshFix: easily repair holes in surface meshes
C++ ★ 391 5d agoExplain → -
pyacvd ★ PINNED
Python implementation of surface mesh resampling algorithm ACVD
C++ ★ 290 5d agoExplain → -
cvista ★ PINNED
A trimmed, divergent fork of VTK for PyVista (drop-in for the stock VTK wheel)
C++ ★ 7 23h agoExplain → -
fast-simplification
Fast Quadratic Mesh Simplification
C++ ★ 205 5d agoExplain → -
pyvistaqt
Build Qt apps with PyVista
Python ★ 139 1d agoExplain → -
pyvista-xarray
xarray DataArray accessors for PyVista
Python ★ 116 5d agoExplain → -
scikit-gmsh
Scikit for Gmsh to generate 3D finite element mesh
Python ★ 79 2d agoExplain → -
omfvista
3D visualization for the Open Mining Format (omf)
Python ★ 68 2mo agoExplain → -
pyvista-tutorial
PyVista SciPy 2022-2025 Tutorial
Python ★ 66 4d agoExplain → -
pyvista-cad
The canonical CAD interop and plotting layer for PyVista
Python ★ 63 14d agoExplain → -
pyvista-support ▣
[moved] Please head over to the Discussions tab of the PyVista repository
★ 61 4y agoExplain → -
data
PyVista example data files
GAP ★ 51 2mo agoExplain → -
pyiges
Python IGES Reader
Python ★ 40 5d agoExplain → -
setup-headless-display-action
GitHub Action to setup a headless display on Linux and Windows (not needed on MacOS)
Python ★ 32 19d agoExplain → -
pyvista-fastapi-webapp
Demo FastAPI and Three.js application using PyVista
TypeScript ★ 30 5d agoExplain → -
pyvista-gui
A Graphical User Interface built atop PyVista
Python ★ 19 5d agoExplain → -
pyvista-tui
PyVista in the terminal
Python ★ 19 2mo agoExplain → -
pytest-pyvista
Plugin to test PyVista plot outputs
Python ★ 18 5d agoExplain → -
pyvista-reality
OpenVR and OpenXR variants of PyVista
Python ★ 18 3y agoExplain → -
pytetwild
Python wrapper for fTetWild
Python ★ 16 5d agoExplain → -
pyvistaqt-exe
Create a Windows installable exe from a PyVistaQt application
Python ★ 16 5d agoExplain → -
pyvista-zstd
Compress PyVista datasets using zstandard
Python ★ 15 9d agoExplain → -
pyvista-examples
A place where we host the Jupyter notebooks found in the PyVista docs for use on MyBinder - this repo is automatically deployed by our CI robot friends - NO PRs HERE PLEASE
Dockerfile ★ 12 2mo agoExplain → -
pyvista-stl
Faster STL file reader
Python ★ 9 5d agoExplain → -
pyvista-miniply
Wrapper over the excellent and fast miniply to read PLY files
Python ★ 8 5d agoExplain → -
pyvista-mcp-server
PyVista-based MCP (Model Context Protocol) server
Python ★ 7 5d agoExplain → -
panel-pyvista
Demonstrate using PyVista, Trame, and Panel in a SPA
Python ★ 7 1mo agoExplain → -
vtkjs-viewer ▣
This repo is strictly for the purpose of hosting the vtk.js standalone web viewer
JavaScript ★ 7 3mo agoExplain → -
gl-ci-helpers ▣
Continuous integration helper scripts for your 3D visualization needs
PowerShell ★ 6 3y agoExplain → -
pyvista-media
No description.
PostScript ★ 5 5d agoExplain → -
pyvista-doc-translations
translated docs for pyvista official document
Python ★ 4 5d agoExplain → -
pyvista-manifold
PyVista accessor for Manifold to provide fast and reliable boolean / CSG operations
Python ★ 4 2mo agoExplain → -
vtk-xref
Sphinx extension for linking directly to VTK's documentation
Python ★ 4 2mo agoExplain → -
pyvista-doc-example
Example Documentation build using PyVista
★ 4 3y agoExplain → -
pyvista-docs-dynamic
No description.
★ 4 2y agoExplain → -
pyvista-ai
Agent Framework / shim to use PyVista with LLMs
★ 3 12d agoExplain → -
cookiecutter-pyvista-binder ▣
This is a Cookiecutter for using PyVista on the notebook hosting service MyBinder.
Jupyter Notebook ★ 3 3y agoExplain → -
npt-promote
Mypy plugin to add type promotions between NumPy and builtin data types.
Python ★ 3 5d agoExplain → -
show-room ▣
[WIP] A set of domain specific examples to showcase how PyVista can be used
Jupyter Notebook ★ 3 6y agoExplain → -
pyvista-tutorial-translations
translated docs for pyvista official tutorial
Python ★ 2 5d agoExplain → -
admin
IaC to manage the PyVista GitHub organization
Python ★ 2 10d agoExplain → -
trame-pyvista
PyVista <-> Trame Integration
Python ★ 2 4d agoExplain → -
pyvista-itk
No description.
Python ★ 2 1y agoExplain → -
website
Where we host our landing page
Astro ★ 1 18d agoExplain → -
pyvista-anari
ANARI rendering with PyVista that just works
★ 1 1mo agoExplain → -
pyvista-trimesh
PyVista Trimesh accessor bridge
Python ★ 1 2mo agoExplain → -
vtkbool ⑂
A new boolean operations filter for VTK
C++ ★ 1 2mo agoExplain → -
streamlit-stlviewer
No description.
Python ★ 1 12d agoExplain → -
examples-old ▣
`pyvista-examples` contains a variety of built-in demos and downloadable example datasets.
Python ★ 1 2mo agoExplain → -
numpydoc-validation ▣
No description.
Python ★ 1 3y agoExplain → -
pyvista-benchmarks
Benchmarks for PyVista
Python ★ 1 5d agoExplain → -
pyvista-charts
Charting extension API for PyVista Plotters
★ 0 28d agoExplain → -
arc-runners
Dockerfiles for PyVista's ARC runners
Dockerfile ★ 0 2mo agoExplain → -
pyvista-org-dashboard ⑂
PyVista org dashboard
JavaScript ★ 0 2mo agoExplain → -
.github
No description.
★ 0 2mo agoExplain → -
ducktype-mypy-plugin ▣
Mypy plugin for the PyVista project
Python ★ 0 1y agoExplain → -
we-got-hacked ▣
No description.
★ 0 2y agoExplain →
No repos match these filters.