3D visualization and mesh analysis for science and engineering.
Project description
3D visualization and mesh analysis for science and engineering
PyVista is:
- 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
- streamlined 3D 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+:
pip install pyvista
Or via conda-forge:
conda install -c conda-forge pyvista
Try PyVista in your browser without installing anything, on MyBinder.
Documentation
- Getting started
- User guide
- Examples gallery
- API reference
- Installation (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.
- awesome-pyvista: a continuously updated list of domain-specific tooling that interoperates with or is built on PyVista.
- Connections page: selected highlights and context on how PyVista is used across the community.
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 info@pyvista.org 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: https://github.com/pyvista/pyvista/discussions/4033.
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. https://doi.org/10.21105/joss.01450
@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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyvista-0.48.2.tar.gz.
File metadata
- Download URL: pyvista-0.48.2.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b115b107f03e8e57bfb5d9dd2a40591f4e641b6a87dc8beb5d0c2099a225e2e
|
|
| MD5 |
000df81250d1bebd0f79c1ac94d64e5e
|
|
| BLAKE2b-256 |
457d747bd2c8fa132f94ffb0282611fcb6970caa97bfad950350318de444bc05
|
Provenance
The following attestation bundles were made for pyvista-0.48.2.tar.gz:
Publisher:
testing-and-deployment.yml on pyvista/pyvista
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvista-0.48.2.tar.gz -
Subject digest:
0b115b107f03e8e57bfb5d9dd2a40591f4e641b6a87dc8beb5d0c2099a225e2e - Sigstore transparency entry: 1490747699
- Sigstore integration time:
-
Permalink:
pyvista/pyvista@a7b18811eeeb3bda629f8e354f374d9972a35944 -
Branch / Tag:
refs/tags/v0.48.2 - Owner: https://github.com/pyvista
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
testing-and-deployment.yml@a7b18811eeeb3bda629f8e354f374d9972a35944 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyvista-0.48.2-py3-none-any.whl.
File metadata
- Download URL: pyvista-0.48.2-py3-none-any.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79a9205368a8ab2664463af523c27d37beb0c5fd522d009e788c11d5810737c6
|
|
| MD5 |
4ae00da105b7ae4432f54d8117dfdae9
|
|
| BLAKE2b-256 |
409d9dde2ad0b3b16c763160bb8690177f8a5d7db2a99297c8dc73875188a3b9
|
Provenance
The following attestation bundles were made for pyvista-0.48.2-py3-none-any.whl:
Publisher:
testing-and-deployment.yml on pyvista/pyvista
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvista-0.48.2-py3-none-any.whl -
Subject digest:
79a9205368a8ab2664463af523c27d37beb0c5fd522d009e788c11d5810737c6 - Sigstore transparency entry: 1490747779
- Sigstore integration time:
-
Permalink:
pyvista/pyvista@a7b18811eeeb3bda629f8e354f374d9972a35944 -
Branch / Tag:
refs/tags/v0.48.2 - Owner: https://github.com/pyvista
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
testing-and-deployment.yml@a7b18811eeeb3bda629f8e354f374d9972a35944 -
Trigger Event:
push
-
Statement type: