NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3733 most downloaded on PyPI
3D visualization and mesh analysis for science and engineering.
Last release 10 days ago
08 Sep 2026
Release timing varies
gaps range from 2 weeks to 4 months
Most releases are documented
notes for 45 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
7 years old
116 releases · first in 2019
<!-- Release notes generated using configuration in .github/release.yml at v0.34.2 -->
<!-- Release notes generated using configuration in .github/release.yml at v0.34.2 -->
Add support for Python 3.10, PyVista 9.2.0, and numpy 1.23.
Includes the following cherry-picked PRs:
Full Changelog: https://github.com/pyvista/pyvista/compare/v0.34.1...v0.34.2
Nothing published for this version
fix collections.abc deprecation by @akaszynski in https://github.com/pyvista/pyvista/pull/2108
<!-- Release notes generated using configuration in .github/release.yml at v0.34.0 -->
We've added a variety of new features in this release, including wrappers for several VTK filters and widgets. Check out the full release notes below!
Special thanks to the 11 new contributors to the project. Thanks for your hard work!
no-ci/* branches by @banesullivan in https://github.com/pyvista/pyvista/pull/2074no-ci/* branches" by @banesullivan in https://github.com/pyvista/pyvista/pull/2099python -m pip in windows ci by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/2137Full Changelog: https://github.com/pyvista/pyvista/compare/v0.33.0...v0.34.0
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
PyVista 0.33.0 is another large release including 96 pull requests from 17 collaborators. Thanks to all who contributed!
PyVista 0.33.0 is another large release including 96 pull requests from 17 collaborators. Thanks to all who contributed!
A special thanks to @dcbr in https://github.com/pyvista/pyvista/pull/1432 who extended the vtk Chart API into PyVista.
find_closest_cell not finding closest cells by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/1740_wrappers in sphinx-gallery by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/1721find_closest_cell examples doctest by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/1809Full Changelog: https://github.com/pyvista/pyvista/compare/0.32.0...v0.33.0
Nothing published for this version
Nothing published for this version
Deprecate DataSet.vectors in #1461
The PyVista 0.32.0 release highlights are:
pythreejs in #1557DataSet.vectors in #1461transforms3dpandas class method documentation style.A huge shout out to all who helped make this release happen, from seasoned veterans reviewing PRs to first time contributors. Thanks!
Nothing published for this version
This release includes 1cdcd85480734e9e8065f62cf10b4a46eef174eb from #1411 to fully support usage of the latest VTK wheels, thus (finally) enabling sup
This release includes 1cdcd85480734e9e8065f62cf10b4a46eef174eb from #1411 to fully support usage of the latest VTK wheels, thus (finally) enabling support of Python 3.9 for pyvista.
Note that to use the pre-release wheels, you must specify the version of the package with:
pip install vtk==9.0.20210612.dev0
Note that this is unnecessary on Python 3.9 as pip will use unstable or development wheels if they are the only ones available.
Nothing published for this version
Nothing published for this version
This release includes a variety of bug fixes, features, and documentation improvements.
This release includes a variety of bug fixes, features, and documentation improvements.
In addition with this release we're adding VTK wheels, including aarch64 build for with and without EGL, EGL wheels, and Python 3.9 (all around 100 MB and built via https://docs.pyvista.org/extras/building_vtk.html)
Note that vtk-egl wheels are VTK wheels compiled with EGL. They should only be installed on machines where you intend to render only to off_screen. The advantage of these wheels is that they do not require a virtual framebuffer and tend to render better than the vanilla vtk in off_screen mode. These wheels will still be installed as vtk, so if you would like vtk and vtk with EGL installed on the same machine, be prepared to setup a virtual environment.
Please note that the ARM 64 wheels require a 64-bit OS. Download your Raspberry Pi 64-bit image from: https://downloads.raspberrypi.org/raspios_arm64/images/
A total of 28 PRs were merged for this release.
scalar_ bar_argsadd_scalar_bar docstringIntegrationTimeclip_surfaceNothing published for this version
This release includes a several new features including better integration with jupyterlab plotting, better documentation, and a variety of fixes.
This release includes a several new features including better integration with jupyterlab plotting, better documentation, and a variety of fixes.
The following is a non-comprehensive list of changes, features, and bug-fixes:
pydata-sphinx-themepyvista.Camera class documentation.inplace so it always returns an object.Nothing published for this version
Nothing published for this version
This minor release of pyvista==0.29.0 includes a variety of changes and new features. The most major is improving our load-time by only loading in the
This minor release of pyvista==0.29.0 includes a variety of changes and new features. The most major is improving our load-time by only loading in the VTK libraries used through lazy loading or selective imports using `vtkmodules``. It was quite an overhaul and should improve load time, reduce memory usage, and potentially the size of the frozen package.
Other new features and bug-fixes include:
Nothing published for this version
Nothing published for this version
This release, pyvista==0.28.0, is a minor release that captures a variety of bug-fixes and API additions.
This release, pyvista==0.28.0, is a minor release that captures a variety of bug-fixes and API additions.
plotter.show in script mode on Windows (#1105)add_arrows (#1011)Plotter.update fails with interactive_update=True if auto_close=False is not specified (#1056)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release, pyvista==0.27.0, is a major release that includes an important new feature for jupyterlab: real-time streaming leveraging ipyvtk-simple.
This release, pyvista==0.27.0, is a major release that includes an important new feature for jupyterlab: real-time streaming leveraging ipyvtk-simple. Using either software or hardware rendering (as supported by VTK), you can visualize geometry on a remote machine through a jupyterlab environment!
Several other new features were added, along with many bug fixes and optimizations by both new and existing contributors. Thanks all for your contributions! pyvista would not be possible were it not for the community of developers behind all these PRs.
Attached wheels (vtk-egl-9.0.1*) are for hardware (GPU) based rendering on jupyterlab or headless instances. Wheels built with:
echo "Building with EGL"
$PYBIN=/usr/bin/python3.7
yum install mesa-* -y
git clone https://github.com/Kitware/VTK
cd VTK
git checkout v9.0.1
mkdir build && cd build
/io/cmake/bin/cmake -DVTK_BUILD_TESTING=OFF\
-DVTK_WHEEL_BUILD=ON\
-DVTK_PYTHON_VERSION=3\
-DVTK_WRAP_PYTHON=ON\
-DPython3_EXECUTABLE=$PYBIN\
-DVTK_OPENGL_HAS_EGL=True\
-DVTK_USE_X=False\
../
make -j
$PYBIN setup.py bdist_wheel
There's also one vanilla Python 3.9 wheel since that's not currently available on PyPi.
Nothing published for this version
This release adds a variety of new features, API changes, and documentation fixes. A big thanks to all who contributed to the PRs, issues, and testing
This release adds a variety of new features, API changes, and documentation fixes. A big thanks to all who contributed to the PRs, issues, and testing for this release!
Nothing published for this version
Nothing published for this version
It's been three months since the last release and there are quite a few bug fixes and features!
It's been three months since the last release and there are quite a few bug fixes and features!
BackgroundPlotter and QtInteractor to pyvistaqt. See #719 for the reasoning, but as a summary, this boils down to licensing, unit testing, and improved development. See pyvistaqt to test out the new module. Wheels will be released for that as soon as we've released wheels for pyvista==0.25.0 as it's a dependency.UnstructuredGrids that need to be implemented here, as well as many changes to our unit testing and CI to support Python 3.8 and VTKv9. See #732, #772, and #693.pyvista.BUILDING_GALLERY = True in your conf.pytqdm (#608)pytest-xdist. See #739 and #744pyansys quality method.Thanks to all those who contributed to this release! In no particular order:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Huge Refactor of QtInteractor to improve stability of BackgroundPlotter (#603, #619).
QtInteractor to improve stability of BackgroundPlotter (#603, #619).pyvista.Arrow (#624)meshio>=4.0.0Thanks to all those who contributed PRs for this release. Ping me if I missed you, because there was a lot this time around.
Be sure to welcome and thank these folks for their contributions!
Be sure to welcome and thank these folks for their contributions!
itkwidgets for interactive Jupyter Notebook plotting (see #389)BackgroundPlotter (see #567)extract_subset filter for UniformGrid (see #569)Report (see #512)BasePlotter’s wrapping of Renderer to improve interface and docs (see #552)meshio support and enable meshio objects to be passed to PyVista (see #559 and #568)geodesic filter (see #544)for-loops (see #521)RectilinearGrid (see #530)CylinderStructured (see #561 and #577)MultiBlock datasets (see #563)combine filter for MultiBlock datasets (see #535)pyvista.voxelize (see #546)copy_meta_from to deep copy textures (see #564)Be sure to welcome and thank these folks for their contributions!
Be sure to welcome and thank these folks for their contributions!
meshio (see #472 and #495)Plotter.view_zxpyvista.UniformGrid meshes (see #420 and #485 )texture_map_to_plane (see #407)pyvista.MultiBlock objects (see #413)backgroundPlotter (see #416)contour filter (see #421)PolyData mesh as the box for the clip_box filter (see #433)PolyData mesh is made of all triangles (see #446)glyph filter (see #451)*_scalars and *_array (see #456)MultiBlock objects (see #459)pyvista.read to handle lists of file names and return MultiBlock objectFileNotFoundError used over IOError (see #506)clim issues with Plotter.add_mesh_slice_orthogonalrng keyword with widget plotting helpersrender_points_as_spheres with Plotter.add_point_labelspanel (see #440)pyvista.CylinderStructured (see #442)pyvista.MultiBlock datasetsThis update brings some major changes to the widgets (the previous API for widgets is broken. Please see new API)
This update brings some major changes to the widgets (the previous API for widgets is broken. Please see new API)
BackgroundPlotter for controlling the camera (see #351)UniformGrid objects can now be cast to RectilinearGrid objects (see #381)uint8 arrays fixed (see #384)q-key for closing the BackgroundPlotter (see #388)BackgroundPlotter closes (see #382)Texture classBasePlotter.add_text (see #390)lines_from_points (see #394 and #399)Plotter class couldn’t accept the title argument.New depth mapping feature for the rendering window (see #369 and #368)
PolyData.smooth filter (see #374)shallow_copy and deep_copy methods (see #377)vtkTexture classedl keyword argument for eye dome lighting in the .plot() function.point_data_to_cell_data() and cell_data_to_point_data() filters as ptc() and ctp() respectively.BackgroundPlotter menu bar on some Linux platforms (see #371)There was a serious bug with the plane widget that somehow made it in the last release. This patch release resolves that issue and adds support for Mu
There was a serious bug with the plane widget that somehow made it in the last release. This patch release resolves that issue and adds support for MultiBlock datasets with the widgets.
Add full support for widgets in the rendering scene! (See #360)
vtkTable class (see #274 and the new pyvista.Table class)pyvista.CylinderStructured) which works creates a pyvista.StructuredGrid mesh in the shape of a cylinder..ribbon() filter for PolyData objects - create surfaces (“ribbons”) from linesinterpolate_befor_map is now set too True as default (see #363 and this example for details)lines_from_points helper methods (see #357)Labeled scalar bars!!! 🎉 (See #348 and this example) Now arrays with strings categories can be color mapped
.tri files)+ operator to support all PyVista meshesfly_to method+ operator that appeared in v0.21.3Deprecate BasePlotter.plot (see #341)
This release is primarily full of bug fixes and general cleanup around the filters and plotting methods.
panel runtime errors on import (see #322)smooth_shading issue for non-PolyData datasetspanel notebook rendering is now off by defaultadd_mesh and add_volume docstringsBasePlotter.plot (see #341)PolyData (see #344)Fix 32bit Python on 64bit OS ID type issues (see #316)
BackgroundPlotter changes:
null_value support for the .interpolate filter.add_text to detail how return type can vary (see #312)This release is loaded with bug fixes and enhancements that weren't quite ready at v0.21.0
This release is loaded with bug fixes and enhancements that weren't quite ready at v0.21.0
.clip filter to no longer triangulate regions unaffected by the clipping plane (see
https://github.com/pyvista/pyvista-support/issues/13 and this discussion).Report() convention (see #284).glyph filter (see #302)MultiBlock datasets weren’t wrapping properlyMultiBlock datasetstexture=False to add_meshparse_color would get tricked by RGBA tuplesBackgroundPlotter closing event bug (see #293)rcParamsVolume Rendering (see #272 and #231) 🎉 🎆 - many thanks to @supersubscript!
enable_cell_picking (see #278)viridisPolyData.project_points_to_plane filter (see #276)scooby for pyvista.generate_report() to make bug reporting easier.colorcet and cmocean colormapscreate_grid if cell dimension is 1add_text so that text stays in the corner (see #275)UniformGridsThis release has quite a few significant bug fixes and some useful new features inspired by user requests and contributions
This release has quite a few significant bug fixes and some useful new features inspired by user requests and contributions
plot_over_line filter (see #250).clear_textures()PointSet to manage common attributes between point based datasetspyvista.Cone (see #249)PolyData constructor did not always produce vertex cells (see #227)New Supertorid geometric object (see #225 and #242)
.show() method.clip filter (see #238)This marks the release of a lot of new features since about v0.18.0. We've been under rapid development lately and these features are also comming wit
This marks the release of a lot of new features since about v0.18.0. We've
been under rapid development lately and these features are also comming with
our review in the Journal of Open-Source Software
(JOSS). Listed below are some notable changes.
pyvista.rcParams.streamlines() filter (see #199).interpolate() filter (see d0baf2c)scale_factor to factor (see 367e5bb)MultiBlock.copy() method (see 1481696)MultiBlock negative indexing support (see 1481696)PolyData.extract_selection_points() filter (see #205)__repr__ methods (see a86c3ff)This version marks the beginning of this software being released as PyVista:
This version marks the beginning of this software being released as PyVista:
pip install -U pyvista
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →