Releases: pyvista/pyvista
v0.46.3
PyVista 0.46.0
introduced a breaking change by requiring the use of pyvista.set_new_attribute
for setting new attributes (#7716). This patch release 0.46.3
relaxes this requirement by only requiring this for setting new public attributes. Private attributes (with a _
prefix) can be set without the need to use pyvista.set_new_attribute
.
Full Changelog: v0.46.2...v0.46.3
v0.46.2
Full Changelog: v0.46.1...v0.46.2
v0.46.1
Full Changelog: v0.46.0...v0.46.1
v0.46.0
What's Changed
Breaking Changes
- Use linear opacity interpolation by default by @user27182 in #7574
- Change volume mapper to smart for Windows by @user27182 in #7575
- Deprecate
main_has_priority
withmerge
filter by @user27182 in #7426 - Return
{}
instead ofNone
for emptycells_dict
andget_mixed_cells
by @user27182 in #7626 - Fix
Plotter.add_scalar_bar
wrapper args and kwargs by @user27182 in #7642 - Return
RectilinearGrid
when transformingRectilinearGrid
by @user27182 in #7697
New Features
- Add arguments to
needs_vtk_version
custom marker test by @beroda in #7393 - Add
cmcrameri
scientific colormaps by @user27182 in #7498 - Add ability to use custom interactor styles by @MatthewFlamm in #7497
- Allow using
dict
inputs withPlotter.add_legend
by @user27182 in #7564 - Add
return_dict
keyword tocolor_labels
filter by @user27182 in #7566 - Add
gaussian_splatting
filter to DataSetFilters class by @tkoyama010 in #7488 - Add pass_cell_data kwarg to cell_centers by @akaszynski in #7608
- Add vtkhdf writer support by @krishanbhasin-px in #7396
- Add yinyang dataset to downloads examples by @user27182 in #7698
- Add
rebase_coordinates
option toextract_subset
filter by @user27182 in #7647 - Add
crop
filter forImageData
by @user27182 in #7645 - Add
bounds_size
property to datasets and actors by @user27182 in #7092 - Add
slice_index
filter and__getitem__
method for indexingImageData
by @user27182 in #7652 - Add
resize
filter for dataset coordinate rescaling by @tkoyama010 in #7718 - Do not allow setting new attributes on PyVista classes by @user27182 in #7716
- Add concrete
is_empty
andget_data_range
methods forPartitionedDataSet
by @user27182 in #7753 - Add Follower class for actors that always face the camera by @tkoyama010 in #7727
- Add
remove_unused_points
filters by @user27182 in #7745
Bug fixes or behavior changes
- fix: avoid read-only issues with inplace statement by @RobPasMue in #7446
- Add warning when saving
ImageData
with.vtk
format by @user27182 in #7455 - Add render flag to the
add_actor
call inBasePlotter.add_point_labels
by @NathanRWoodward in #7461 - Fix that the parameter
filename_mtl
is ignored by @paulbauriegel in #7340 - Add note to
color_labels
indicating thatcolorcet
is required by default by @user27182 in #7475 - Fix false positive
ModuleNotFoundError
for cmaps common tomatplotlib
,colorcet
, andcmocean
by @user27182 in #7483 - Fix documentation source for wrapped function by @beroda in #7492
- Check
sys.meta_path
inDisableVtkSnakeCase.__getattribute__
by @user27182 in #7504 - Move check for
sys.meta_path
inDisableVtkSnakeCase
by @user27182 in #7512 - Disable vtk's snake case API for all PyVista classes by @user27182 in #7509
- Require explicit calls to
plot
orshow
methods with theplot-directive
by @user27182 in #7502 - Disable vtk's snake case API for
pyvista_ndarray
by @user27182 in #7520 - Fix test failure for numpy 2.3 by @user27182 in #7538
- Update mag default to 1.0 by @akaszynski in #7542
- Fix plotter legend symbol position and scaling issue by @user27182 in #7565
- hotfix trame server proxy prefix by @banesullivan in #7595
- Fix merging field data with
main_has_priority
by @user27182 in #7594 - Fix geovista integration test by @bjlittle in #7627
- Allow NaN values with data object equality checks by @user27182 in #7641
- Fix padding RGB image with non-RGB value by @user27182 in #7646
- Fix crash with
contour_labels
when there is no foreground by @user27182 in #7653 - Fix enable_block_picking to support multiple subplots by dynamically selecting renderer based on mouse position by @qq565425677 in #7605
- Fix
copy_vtk_array
withvtkImplicitArray
inputs by @user27182 in #7656 - Fix typing of Plane *_size by @MatthewFlamm in #7687
- Fix ImageData.cast_to_rectilinear_grid to support offset and direction by @banesullivan in #7686
- Bugfix: Error loading .obj without
uv
by @imontesino in #7710 - Fix snake case API for
DataSetAttributes
by @user27182 in #7722 - Remove unnecessary noqa E501 comments by fixing line length by @tkoyama010 in #7731
- Replace % string formatting with f-strings and remove UP031 noqa comments by @tkoyama010 in #7730
- Fix and filter invalid
PYVISTA_USERDATA_PATH
warning by @user27182 in #7739 - Prevent extra renders in add_point_lables by @banesullivan in #7740
- BUG: Fix reference cycle regression by @larsoner in #7746
- Fix matplotlib Pillow deprecation warning in doctests by @tkoyama010 in #7781
Documentation
- Add example on sharing scalar bars by @navlalli in #7444
- Add sphinx gallery reference tests by @user27182 in #7451
- Fix long description within streamlines from source by @akaszynski in #7458
- Enable
abort_on_example_error
for sphinx gallery by @user27182 in #7462 - Fix misc typos and small issues with docs by @user27182 in #7456
- Add axes objects gallery example by @user27182 in #7457
- Fix docstring paths for non-posix platforms by @beroda in #7476
- Add tests to limit sphinx gallery example execution times by @user27182 in #7386
- Add links to PyVista methods inside Sphinx Gallery code blocks by @user27182 in #7452
- Fix path handling to use pathlib instead of os by @tkoyama010 in #7390
- Add "Named Colormaps" page to docs by @user27182 in #7482
- Improve StructuredGrid example by @akaszynski in #7489
- Add guideline for choosing the right colormap by @user27182 in #7494
- Fix the magnetic coil example by @akaszynski in #7490
- Update docstring: merge docstring merge is not default by @akaszynski in #7499
- Add lightness and color difference image fields to Named Colormaps by @user27182 in #7511
- Update imports and pyvista namespace in
make_tables.py
by @user27182 in #7522 - Remove duplicates and fix PU labels for Named Colormaps by @user27182 in #7532
- Sort named colormaps in docs by @user27182 in #7521
- Add
vtk-xref
Sphinx extension for linking to vtk class documentation by @user27182 in #7529 - Remove duplicate colormaps from documentation by @user27182 in #7536
- Add VTK references to
CellType
documentation by @user27182 in #7534 - Remove unused ruff ignores for E131, E203, and E266 by @user27182 in #7558
- Add
BoundsTuple.__repr__
to align values with decimals by @user27182 in #7550 - Add TRY004 ruff rule to raise
TypeError
with type checks by @user27182 in #7560 - Add trailing commas to
BoundsTuple
repr by @user27182 in #7567 - Enforce PEP8 naming conventions with
ruff
by @user27182 in https://github.com/pyvista/pyvista/pull...
v0.45.3
Full Changelog: v0.45.2...v0.45.3
v0.45.2
v0.45.1
See #7508
Full Changelog: v0.45.0...v0.45.1
v0.45.0
Highlights
- VTK 9.4.2 is now supported
- Python 3.13 now supported
- Support for Python 3.8 has been dropped
New Filters
- PolyDataFilters.ruled_surface
- PolyDataFilters.decimate_polyline
- PolyDataFilters.flip_faces (replacement for
flip_normals
which is now deprecated) - PolyDataFilters.flip_normal_vectors
- ImageDataFilters.label_connectivity
- ImageDataFilters.resample
- ImageDataFilters.select_values
- ImageDataFilters.contour_labels (replacement for
contour_labeled
which is now deprecated) - DatasetFilters.align_xyz
- DataSetFilters.color_labels
- DataSetFilters.bounding_box
- DataSetFilters.oriented_bounding_box
- DataSetFilters.voxelize_binary_mask
- CompositeFilters.generic_filter
- DataObjectFilters.cell_quality (replacement for
compute_cell_quality
which is now deprecated)
Improved Transformations
- New Transform class for working with transformation matrices
- Using DataObjectFilters.transform with
ImageData
now returnsImageData
instead ofStructuredGrid
- The DataObjectFilters.transform filter is generalized to work with
MultiBlock
meshes - New DataObjectFilters.rotate filter for rotating meshes
- New Prop3D.rotation_from method for rotating actors
New MultiBlock
Methods and Properties
- recursive_iterator
- flatten
- nested_block_types
- is_homogeneous
- is_heterogeneous
- as_unstructured_grid_blocks
- is_empty
New ImageData
Properties
New Utilities
- principal_axes for computing best-fit axes
- fit_line_to_points for computing a best-fit line
- cell_quality_info helper to complement the
cell_quality
filter with additional information - vtk_verbosity to control the output from
vtkLogger
- vtk_snake_case to control if PyVista classes can use the new snake case API from VTK 9.4
Documentation Improvements
- New overall look: PyVista now uses the Sphinx Book Theme
- New vector graphics and high-resolution versions of the PyVista logo
- Add cell descriptions and examples to CellType
- New Named Colors page with new colors from
vtkNamedColors
; similar colors are also now grouped together - New tags added to examples in the Sphinx Gallery
Plotting Features
- New widget Plotter.add_radio_button_widget for radio buttons
- New assembly PlanesAssembly for plotting orthogonal planes
File IO
- New readers for Exodus II, Nek5000, and Grid Eclipse (GRDECL) formats
- Support read and save with pickled meshes (
.pkl
).
New Sphinx Gallery Examples
New Downloadable Datasets
- download_biplane
- download_full_head
- download_grasshopper
- download_great_white_shark
- download_grey_nurse_shark
What's Changed
Breaking Changes
- Simplify code for
fit_plane_to_points
, fix crash with many points, fix returned center by @user27182 in #6517 - Add return info to
set_default_active_scalars
andset_default_active_vectors
by @user27182 in #6919 - Make
check_contains
API easier to use and understand by @user27182 in #6939 - Return
ImageData
when transformingImageData
by @user27182 in #6616 - Fix empty input behavior for
extract_values
and remove redundant scalar validation by @user27182 in #7001 - Use 'static_cell' as default for
sample
filter by @MatthewFlamm in #7121 - Load decimated versions of large downloaded datasets by default by @user27182 in #7146
- Use downsampled versions of whole body ct datasets by @user27182 in #7131
- Add parameters to Polydata.triangulate filter by @beroda in #7317
- Prepend pyvista to plot directive configuration options by @akaszynski in #7365
New Features
- Add
Prop3D.rotation_from
method to support arbitrary rotations by @user27182 in #6318 - Add
set_actor_prop
andget_actor_prop
toAxesAssembly
for setting/getting part properties by @user27182 in #6342 - Add extra coordinate specifications in
PlaneSource
by @tkoyama010 in #6372 - Add
relative_position
andProp3D
-like features toLabel
class by @user27182 in #6373 - Add
Prop3DMixin
toAxesAssembly
class by @user27182 in #6389 - Add
OrthogonalPlanesSource
for generating orthogonal planes by @user27182 in #6366 - Add
PlanesAssembly
class adding orthogonal planes to a scene by @user27182 in #6379 - Add
categorical
parameter topoint_data_to_cell_data()
by @nicolascedilnik in #6407 - Replace type alias
BoundsLike
with named tupleBoundsTuple
by @user27182 in h...
v0.44.2
Limit VTK<9.4.0
Full Changelog: v0.44.1...v0.44.2
v0.44.1
Patch release with the following fixes/quality of life changes. This being a patch fix, there are no API changes.
What's Changed
Full Changelog: v0.44.0...v0.44.1