There is a newer version of the record available.

Published April 19, 2025 | Version v0.45.0

PyVista: 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)

Description

Highlights

  • VTK 9.4.2 is now supported
  • Python 3.13 now supported
  • Support for Python 3.8 has been dropped

New Filters

Improved Transformations

New MultiBlock Methods and Properties

New ImageData Properties

New Utilities

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

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

<!-- Release notes generated using configuration in .github/release.yml at v0.45.0 -->

What's Changed

Breaking Changes

  • Simplify code for fit_plane_to_points, fix crash with many points, fix returned center by @user27182 in https://github.com/pyvista/pyvista/pull/6517
  • Add return info to set_default_active_scalars and set_default_active_vectors by @user27182 in https://github.com/pyvista/pyvista/pull/6919
  • Make check_contains API easier to use and understand by @user27182 in https://github.com/pyvista/pyvista/pull/6939
  • Return ImageData when transforming ImageData by @user27182 in https://github.com/pyvista/pyvista/pull/6616
  • Fix empty input behavior for extract_values and remove redundant scalar validation by @user27182 in https://github.com/pyvista/pyvista/pull/7001
  • Use 'static_cell' as default for sample filter by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/7121
  • Load decimated versions of large downloaded datasets by default by @user27182 in https://github.com/pyvista/pyvista/pull/7146
  • Use downsampled versions of whole body ct datasets by @user27182 in https://github.com/pyvista/pyvista/pull/7131
  • Add parameters to Polydata.triangulate filter by @beroda in https://github.com/pyvista/pyvista/pull/7317
  • Prepend pyvista to plot directive configuration options by @akaszynski in https://github.com/pyvista/pyvista/pull/7365

New Features

  • Add Prop3D.rotation_from method to support arbitrary rotations by @user27182 in https://github.com/pyvista/pyvista/pull/6318
  • Add set_actor_prop and get_actor_prop to AxesAssembly for setting/getting part properties by @user27182 in https://github.com/pyvista/pyvista/pull/6342
  • Add extra coordinate specifications in PlaneSource by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6372
  • Add relative_position and Prop3D-like features to Label class by @user27182 in https://github.com/pyvista/pyvista/pull/6373
  • Add Prop3DMixin to AxesAssembly class by @user27182 in https://github.com/pyvista/pyvista/pull/6389
  • Add OrthogonalPlanesSource for generating orthogonal planes by @user27182 in https://github.com/pyvista/pyvista/pull/6366
  • Add PlanesAssembly class adding orthogonal planes to a scene by @user27182 in https://github.com/pyvista/pyvista/pull/6379
  • Add categorical parameter to point_data_to_cell_data() by @nicolascedilnik in https://github.com/pyvista/pyvista/pull/6407
  • Replace type alias BoundsLike with named tuple BoundsTuple by @user27182 in https://github.com/pyvista/pyvista/pull/6454
  • Add merge_points to PolyData class to merge points by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6456
  • Add principal_axes function to compute best-fit axes vectors from points by @user27182 in https://github.com/pyvista/pyvista/pull/6346
  • Allow calling mesh.plot() with background set to an image by @user27182 in https://github.com/pyvista/pyvista/pull/6477
  • Add normal and flip_normal to PlanesSource by @user27182 in https://github.com/pyvista/pyvista/pull/6474
  • Add CubeFacesSource for generating a MultiBlock with named faces by @user27182 in https://github.com/pyvista/pyvista/pull/6435
  • Add transformations.rotation() and DataSet.rotate() for rotating datasets by @user27182 in https://github.com/pyvista/pyvista/pull/6354
  • Add Transform class for generating transformations and their inverses by @user27182 in https://github.com/pyvista/pyvista/pull/6482
  • Add push() to PlaneSource and OrthogonalPlanesSource to translate plane along normal by @user27182 in https://github.com/pyvista/pyvista/pull/6421
  • Add grasshopper VRML dataset by @user27182 in https://github.com/pyvista/pyvista/pull/6489
  • Add great white and grey nurse shark datasets to downloads.py by @user27182 in https://github.com/pyvista/pyvista/pull/6488
  • Add check_finite property to Transform class by @user27182 in https://github.com/pyvista/pyvista/pull/6491
  • Add reflect method to Transform class by @user27182 in https://github.com/pyvista/pyvista/pull/6503
  • Add axis-rotation methods to Transform by @user27182 in https://github.com/pyvista/pyvista/pull/6505
  • Add point parameter to Transform by @user27182 in https://github.com/pyvista/pyvista/pull/6501
  • Add align_xyz filter to align a mesh to the x-y-z axes by @user27182 in https://github.com/pyvista/pyvista/pull/6485
  • Add custom repr to Transform by @user27182 in https://github.com/pyvista/pyvista/pull/6507
  • Add operator overloads to Transform by @user27182 in https://github.com/pyvista/pyvista/pull/6504
  • Add resolution parameter to fit_plane_to_points and update examples by @user27182 in https://github.com/pyvista/pyvista/pull/6528
  • Generalize merge_points filter for any dataset by @user27182 in https://github.com/pyvista/pyvista/pull/6551
  • Add transform filter for MultiBlock by @user27182 in https://github.com/pyvista/pyvista/pull/6543
  • Add flip_x, flip_y, flip_z methods to Transform by @user27182 in https://github.com/pyvista/pyvista/pull/6559
  • Add fit_line_to_points function by @user27182 in https://github.com/pyvista/pyvista/pull/6552
  • Add apply method to Transform to apply transformations to points or datasets by @user27182 in https://github.com/pyvista/pyvista/pull/6530
  • Add init_normal option to fit_plane_to_points by @user27182 in https://github.com/pyvista/pyvista/pull/6545
  • Add bounding box filter for generating (oriented) bounding boxes by @user27182 in https://github.com/pyvista/pyvista/pull/6524
  • Add operators to PolyData for boolean operations by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6579
  • Better support for explicit structured grids by @keurfonluu in https://github.com/pyvista/pyvista/pull/6516
  • Pad voxelize and voxelize_volume to contain input mesh by @aeverallpx in https://github.com/pyvista/pyvista/pull/6514
  • Add ImageData transformations to move between index and physical coordinates by @user27182 in https://github.com/pyvista/pyvista/pull/6614
  • Add copy parameter to datasetattributes.update() by @user27182 in https://github.com/pyvista/pyvista/pull/6617
  • Fit bounds in voxelize and voxelize_volume to avoid cropped mesh by @GuillaumeBroggi in https://github.com/pyvista/pyvista/pull/6610
  • Add direction_matrix to ImageData by @user27182 in https://github.com/pyvista/pyvista/pull/6612
  • Add pickle support for MultiBlock and use official VTK format by @user27182 in https://github.com/pyvista/pyvista/pull/6622
  • Compare sample and interpolate in example by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6639
  • Add voxelize_binary_mask filter to generate ImageData from PolyData by @user27182 in https://github.com/pyvista/pyvista/pull/6611
  • Add shallow_copy method to TextProperty class by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6661
  • Add label_connectivity method to ImageDataFilters by @GuillaumeBroggi in https://github.com/pyvista/pyvista/pull/6659
  • Allow non-real number inputs with validate_array by @user27182 in https://github.com/pyvista/pyvista/pull/6687
  • Add font_file property to add_point_labels by @chapochn in https://github.com/pyvista/pyvista/pull/6707
  • Add fine grain execution control for pyvista-plot directive by @bjlittle in https://github.com/pyvista/pyvista/pull/6700
  • Improve workflow when manipulating ImageData (and other grids) dimensionality by @GuillaumeBroggi in https://github.com/pyvista/pyvista/pull/6676
  • Add .vtkhdf as an extension of pyvista.HDFReader by @awoimbee in https://github.com/pyvista/pyvista/pull/6723
  • Add Transform.decompose() to extract translation, rotation, reflection, scale, and shear components by @user27182 in https://github.com/pyvista/pyvista/pull/6628
  • Add validation.check_ndim function by @user27182 in https://github.com/pyvista/pyvista/pull/6752
  • Add radio button widget by @nathmay in https://github.com/pyvista/pyvista/pull/6766
  • Add ruled_surface method to PolyData by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6764
  • Add recursive shallow copy for MultiBlock by @user27182 in https://github.com/pyvista/pyvista/pull/6786
  • Add download_full_head to download Full Head image data by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6866
  • Add capping option to Tube function by @beroda in https://github.com/pyvista/pyvista/pull/6865
  • Support reading and saving pickled meshes by @user27182 in https://github.com/pyvista/pyvista/pull/6784
  • Add direction_matrix kwarg to ImageData.__init__ by @user27182 in https://github.com/pyvista/pyvista/pull/6727
  • Add validate_rotation and use it to validate rotation inputs by @user27182 in https://github.com/pyvista/pyvista/pull/6724
  • Add Example of creating mesh multiple ways by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6450
  • InteractionEvent consistency by @beroda in https://github.com/pyvista/pyvista/pull/6960
  • Add decimate_polyline filter by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6153
  • Implement class to read Exodus II files by @mattfalcone1997 in https://github.com/pyvista/pyvista/pull/6963
  • Add brown color table to documentation by @user27182 in https://github.com/pyvista/pyvista/pull/6977
  • Allow using delimiters with named colors by @user27182 in https://github.com/pyvista/pyvista/pull/6979
  • Support reading nek5000 files by @mattfalcone1997 in https://github.com/pyvista/pyvista/pull/6990
  • Add minimal version of new contour_labels filter by @user27182 in https://github.com/pyvista/pyvista/pull/7000
  • Add background value parameter to contour_labels filter by @user27182 in https://github.com/pyvista/pyvista/pull/7022
  • Add colors from vtkNamedColors by @user27182 in https://github.com/pyvista/pyvista/pull/6592
  • Add pad_background parameter to contour_labels filter by @user27182 in https://github.com/pyvista/pyvista/pull/7028
  • Add option to auto-orient normals of contour_labels filter by @user27182 in https://github.com/pyvista/pyvista/pull/7034
  • Add smoothing parameter to contour_labels filter by @user27182 in https://github.com/pyvista/pyvista/pull/7021
  • Add simplify_output option to contour_labels to return 1D labels array by @user27182 in https://github.com/pyvista/pyvista/pull/7033
  • Add new color_labels filter to add color scalars to labeled data by @user27182 in https://github.com/pyvista/pyvista/pull/7024
  • Add colors and ids metadata dictionaries to whole_body_ct datasets by @user27182 in https://github.com/pyvista/pyvista/pull/7058
  • Add new offset property to ImageData by @user27182 in https://github.com/pyvista/pyvista/pull/7080
  • Optimize conversion to meshio format and add new pyvista.to_meshio() function by @keurfonluu in https://github.com/pyvista/pyvista/pull/7079
  • Add image resampling filter by @user27182 in https://github.com/pyvista/pyvista/pull/7068
  • Add MultiBlock recursive iterator for iterating through all datasets by @user27182 in https://github.com/pyvista/pyvista/pull/7124
  • Deprecate flip_normals and replace with flip_faces and flip_normal_vectors by @user27182 in https://github.com/pyvista/pyvista/pull/6966
  • Add new resample interpolation modes and anti_aliasing option by @user27182 in https://github.com/pyvista/pyvista/pull/7144
  • Add NameMixin class to give name attribute to actor-like classes by @user27182 in https://github.com/pyvista/pyvista/pull/7186
  • Add MultiBlock.flatten and MultiBlock.recursive_iterator options by @user27182 in https://github.com/pyvista/pyvista/pull/7167
  • Expose the quadric decimation filters and its parameters by @CharlesGueunet in https://github.com/pyvista/pyvista/pull/7134
  • Add MultiBlock.get_block and extend replace to allow indexing nested blocks by @user27182 in https://github.com/pyvista/pyvista/pull/7202
  • Add 'ids' and 'all' options to MultiBlock.recursive_iterator by @user27182 in https://github.com/pyvista/pyvista/pull/7200
  • Add generic composite filter to apply any filter to MultiBlock blocks by @user27182 in https://github.com/pyvista/pyvista/pull/7203
  • Add 'strict_external' boundary style to contour_labels by @user27182 in https://github.com/pyvista/pyvista/pull/7225
  • Move all transformation filters to DataObjectFilters class by @user27182 in https://github.com/pyvista/pyvista/pull/7211
  • Add node_type option to recursive_iterator by @user27182 in https://github.com/pyvista/pyvista/pull/7237
  • Updates to expose merging points on spectral element boundaries by @mattfalcone1997 in https://github.com/pyvista/pyvista/pull/7234
  • Add nested_block_types, is_homogeneous, and is_heterogeneous MultiBlock properties by @user27182 in https://github.com/pyvista/pyvista/pull/7232
  • Add select_values filter for ImageData by @user27182 in https://github.com/pyvista/pyvista/pull/7230
  • Add MultiBlock.as_unstructured_grid_blocks by @user27182 in https://github.com/pyvista/pyvista/pull/7220
  • Add custom pyvista-mypy-plugin to resolve pyvista and vtk abstract class compatibility issue by @user27182 in https://github.com/pyvista/pyvista/pull/6969
  • Add move_nested_field_data_to_root method for moving field data from nested MultiBlock blocks by @user27182 in https://github.com/pyvista/pyvista/pull/7251
  • Add DataObject.is_empty property by @user27182 in https://github.com/pyvista/pyvista/pull/7275
  • Add Prop3D.copy method by @user27182 in https://github.com/pyvista/pyvista/pull/7287
  • Flatten field data as part of MultiBlock.flatten by @user27182 in https://github.com/pyvista/pyvista/pull/7288
  • Add Prop3D.transform method by @user27182 in https://github.com/pyvista/pyvista/pull/7285
  • Add Transform.as_rotation method to generate rotation representations by @user27182 in https://github.com/pyvista/pyvista/pull/7278
  • Add pv.vtk_verbosity context manager for suppressing vtk stderr output by @user27182 in https://github.com/pyvista/pyvista/pull/7313
  • Deprecate compute_cell_quality and replace with a more general cell_quality filter by @user27182 in https://github.com/pyvista/pyvista/pull/7306
  • Add recursive_iterator typing overloads by @user27182 in https://github.com/pyvista/pyvista/pull/7342
  • Add pv.cell_quality_info to retrieve info about measures used by cell quality filter by @user27182 in https://github.com/pyvista/pyvista/pull/7311
  • Allow applying a Transform to actors by @user27182 in https://github.com/pyvista/pyvista/pull/7279
  • Support Python 3.13 by @user27182 in https://github.com/pyvista/pyvista/pull/7366

Bug fixes or behavior changes

  • BUG: Fix bug with reference cycle by @larsoner in https://github.com/pyvista/pyvista/pull/6356
  • Fix active normals when merging polydata by @user27182 in https://github.com/pyvista/pyvista/pull/6371
  • Fix missing read_func in openfoam download by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6380
  • Fixed improper argument usage with tuples for Trame elements by @Sgoodridge96 in https://github.com/pyvista/pyvista/pull/6386
  • Fix CubeSource get bounds when not initialized by @user27182 in https://github.com/pyvista/pyvista/pull/6455
  • Cast center to list in project-plane.py by @user27182 in https://github.com/pyvista/pyvista/pull/6502
  • Do not initialize axis_2_direction for align_xyz by @user27182 in https://github.com/pyvista/pyvista/pull/6521
  • Enable shadows by default for AxesAssembly labels by @user27182 in https://github.com/pyvista/pyvista/pull/6527
  • Allow empty ImageData init by @user27182 in https://github.com/pyvista/pyvista/pull/6525
  • Fix html_repr for field data with string scalars by @user27182 in https://github.com/pyvista/pyvista/pull/6541
  • Fix cell_centers with PointSet by @user27182 in https://github.com/pyvista/pyvista/pull/6553
  • Avoid sqrt of negative values for principal axes std computation by @user27182 in https://github.com/pyvista/pyvista/pull/6561
  • Fix names when using MultiBlock.transform by @user27182 in https://github.com/pyvista/pyvista/pull/6580
  • Add tests for conformance of pyvista colors to the web color standard by @user27182 in https://github.com/pyvista/pyvista/pull/6593
  • Fix MultiBlock.copy() for None and nested datasets and use common test fixture by @user27182 in https://github.com/pyvista/pyvista/pull/6590
  • Fix MultiBlock transform inplace by @user27182 in https://github.com/pyvista/pyvista/pull/6599
  • Fix copy structure with self returning empty mesh by @user27182 in https://github.com/pyvista/pyvista/pull/6627
  • Fix MultiBlock self-mutates during iteration and breaks zip by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6644
  • Fix PartitionedDataSet self-mutates during iteration and breaks zip by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6645
  • Fix cast_to_rectilinear_grid floating-point error by @GuillaumeBroggi in https://github.com/pyvista/pyvista/pull/6656
  • Fix enable_element_picking color kwarg by @banesullivan in https://github.com/pyvista/pyvista/pull/6704
  • Use max_length and deprecate max_time for streamlines by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6703
  • Update MultiBlock repr to use scientific notation by @user27182 in https://github.com/pyvista/pyvista/pull/6772
  • Remove outdated reference to .clean() in intro doc by @flothesof in https://github.com/pyvista/pyvista/pull/6798
  • Fix floating point comparisons in test_axes_assembly.py by @user27182 in https://github.com/pyvista/pyvista/pull/6806
  • Adds check for dataset attributes in vtkLabelPlacementMapp by @MeenaBytes in https://github.com/pyvista/pyvista/pull/6860
  • Fix non-unique test names during collection by @beroda in https://github.com/pyvista/pyvista/pull/6948
  • Fix type annotation for pyvista.core.filters.data_set.contour by @finsberg in https://github.com/pyvista/pyvista/pull/6995
  • Use extent and image geometry for checking image equality by @user27182 in https://github.com/pyvista/pyvista/pull/7075
  • Fix points_to_cells and cells_to_points extent value by @user27182 in https://github.com/pyvista/pyvista/pull/7077
  • Fix adding mesh with user_matrix and silhouette options by @user27182 in https://github.com/pyvista/pyvista/pull/7066
  • Fix color_labels color cycling mode by @user27182 in https://github.com/pyvista/pyvista/pull/7064
  • Fix incorrect rendering of Saturn's rings by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7087
  • Remove normal flipping in logo by @banesullivan in https://github.com/pyvista/pyvista/pull/7090
  • Fix validate dimensionality with integer values by @user27182 in https://github.com/pyvista/pyvista/pull/7091
  • Fix doc point_cell_ids by @beroda in https://github.com/pyvista/pyvista/pull/7093
  • Fix toggle primary side bar by @beroda in https://github.com/pyvista/pyvista/pull/7095
  • Optimize pyvista.DataSetFilters.extract_cells() when invert=True by @keurfonluu in https://github.com/pyvista/pyvista/pull/7106
  • Fix warning emitted by debugger by @beroda in https://github.com/pyvista/pyvista/pull/7105
  • Do not allow setting empty arrays for non-empty meshes by @user27182 in https://github.com/pyvista/pyvista/pull/7060
  • Fix removal of user_dict by @user27182 in https://github.com/pyvista/pyvista/pull/7122
  • fix: use color cycler if color=True by @banesullivan in https://github.com/pyvista/pyvista/pull/7155
  • Use PropCollection to access renderer.actors internally by @user27182 in https://github.com/pyvista/pyvista/pull/7184
  • Fix zooming in terrain style with parallel projection by @banesullivan in https://github.com/pyvista/pyvista/pull/7193
  • Fix function name in error messages for MultiBlock.generic_filter by @user27182 in https://github.com/pyvista/pyvista/pull/7227
  • Fix clearing field data with user dict by @user27182 in https://github.com/pyvista/pyvista/pull/7253
  • Compute visible bounds by default by @user27182 in https://github.com/pyvista/pyvista/pull/7206
  • Fix invalid f-string and make code more readable in anatomical_groups.py by @banesullivan in https://github.com/pyvista/pyvista/pull/7271
  • Add warning if saving MultiBlock with nested field data by @user27182 in https://github.com/pyvista/pyvista/pull/7258
  • Fix affine widget last event position by @dad616610 in https://github.com/pyvista/pyvista/pull/7273
  • Fix crinkle=True with clip filter for MultiBlock by @user27182 in https://github.com/pyvista/pyvista/pull/7266
  • Fix tiny pages flaky FileExistsError by @user27182 in https://github.com/pyvista/pyvista/pull/7292
  • Fix docker workflow permissions by @user27182 in https://github.com/pyvista/pyvista/pull/7299
  • Fix empty UnstructuredGrid cell properties when cast from PolyData by @user27182 in https://github.com/pyvista/pyvista/pull/7305
  • Fix to_meshio with empty mesh by @user27182 in https://github.com/pyvista/pyvista/pull/7302
  • Fix nested vtk_verbosity context by @user27182 in https://github.com/pyvista/pyvista/pull/7319
  • Fix VTK pre-release testing by @user27182 in https://github.com/pyvista/pyvista/pull/7328
  • Fix cell examples with negative volume by @user27182 in https://github.com/pyvista/pyvista/pull/7326
  • Fix strips equality for DataObject by @beroda in https://github.com/pyvista/pyvista/pull/7331
  • Silence vtk logger messages for nek5000 and drill datasets by @user27182 in https://github.com/pyvista/pyvista/pull/7329
  • Modify cell examples to define unit cells by @user27182 in https://github.com/pyvista/pyvista/pull/7335
  • Fix to_meshio with mixed cell types that include VOXEL by @GuillaumeBroggi in https://github.com/pyvista/pyvista/pull/7323
  • Reset verbosity state in vtk_verbosity example by @user27182 in https://github.com/pyvista/pyvista/pull/7341
  • Remove None from MultiBlock.keys() typing by @user27182 in https://github.com/pyvista/pyvista/pull/7343
  • Fix cell quality size measures by @user27182 in https://github.com/pyvista/pyvista/pull/7354
  • Fix validate_rotation orthogonality check by @user27182 in https://github.com/pyvista/pyvista/pull/7062
  • Turn off auto adjust sample distances for volume rendering by @banesullivan in https://github.com/pyvista/pyvista/pull/7375
  • Fix default cube normals by @user27182 in https://github.com/pyvista/pyvista/pull/7379
  • Normalize whitespace in cell quality doctest by @user27182 in https://github.com/pyvista/pyvista/pull/7385
  • Fix using cell vectors with DataSet.arrows by @user27182 in https://github.com/pyvista/pyvista/pull/7377
  • Fix theme settings applied to document build by @user27182 in https://github.com/pyvista/pyvista/pull/7398
  • Suppress vtkCapsuleSource ImportError by @user27182 in https://github.com/pyvista/pyvista/pull/7408
  • Fix function pyvista.to meshio() for VTK 9.4 by @keurfonluu in https://github.com/pyvista/pyvista/pull/7130
  • Fix import error for deprecated vtkCompositePolyDataMapper2 by @user27182 in https://github.com/pyvista/pyvista/pull/7427
  • Fix Color Mapping for Volume Rendering by @banesullivan in https://github.com/pyvista/pyvista/pull/7358

Documentation

  • Deploy docs from GitHub Actions by @banesullivan in https://github.com/pyvista/pyvista/pull/5360
  • Fix block splitter syntax to # %% in sphinx-gallery by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6378
  • Automatically publish release documentation by @banesullivan in https://github.com/pyvista/pyvista/pull/6387
  • Delete duplicate ray trace example in 99-advanced by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6411
  • Change documentation theme to sphinx-book-theme by @banesullivan in https://github.com/pyvista/pyvista/pull/6369
  • Use rgb scalars in download_human example by @user27182 in https://github.com/pyvista/pyvista/pull/6415
  • Add sphinx-tags to classify sphinx-gallery examples by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6375
  • Add RotationLike type alias to the docs by @user27182 in https://github.com/pyvista/pyvista/pull/6431
  • Fix broken alphabet buttons for the Dataset Gallery docs by @user27182 in https://github.com/pyvista/pyvista/pull/6459
  • Update Dataset Gallery file extension formatting by @user27182 in https://github.com/pyvista/pyvista/pull/6476
  • Add BoundsTuple static type annotation test by @user27182 in https://github.com/pyvista/pyvista/pull/6472
  • Change Dataset Gallery cell type color to provide higher contrast by @user27182 in https://github.com/pyvista/pyvista/pull/6475
  • Make docstrings in examples.planets less verbose by @user27182 in https://github.com/pyvista/pyvista/pull/6478
  • Add versionadded to download_grasshopper by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6490
  • Fix default value in docs for partition filter as_composite option by @user27182 in https://github.com/pyvista/pyvista/pull/6523
  • Retroactively add versionchanged info to docs for fit_plane_to_points by @user27182 in https://github.com/pyvista/pyvista/pull/6519
  • Add Star History section to README.rst by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6529
  • Use Transform to generate dataset transformations by @user27182 in https://github.com/pyvista/pyvista/pull/6484
  • Add pre-commit-shfmt to check shell script format by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6546
  • Remove Preview the Documentation section CONTRIBUTING.rst by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6557
  • Fix to push only tags created in the minor release step by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6556
  • Add sphinx.opengraph allows to add metadata by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6564
  • Add sphinx-sitemap for search engine optimization by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6562
  • Make Dataset Gallery cell type badge link to CellType enum by @user27182 in https://github.com/pyvista/pyvista/pull/6568
  • Add GitHub Repo stars shields.io badge by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6574
  • Make cell examples more visible by @user27182 in https://github.com/pyvista/pyvista/pull/6567
  • Add quadratic cell examples by @user27182 in https://github.com/pyvista/pyvista/pull/6570
  • Update celltypes docstring with cross-references to CellType by @user27182 in https://github.com/pyvista/pyvista/pull/6572
  • Remove unused backend names from config file by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6577
  • Fix blank line syntax errors of docstring by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6578
  • Document CellType enum members with figures by @user27182 in https://github.com/pyvista/pyvista/pull/6565
  • Move color table to its own page and use dynamically-generated rst files by @user27182 in https://github.com/pyvista/pyvista/pull/6595
  • Add HSV-sorted color table to docs by @user27182 in https://github.com/pyvista/pyvista/pull/6594
  • Add more quadratic cell examples by @user27182 in https://github.com/pyvista/pyvista/pull/6596
  • Add remaining quadratic cell examples by @user27182 in https://github.com/pyvista/pyvista/pull/6604
  • Fix broken internal links to other classes, methods, attributes by @user27182 in https://github.com/pyvista/pyvista/pull/6615
  • Update gallery images with the brown color by @user27182 in https://github.com/pyvista/pyvista/pull/6621
  • Use pydocstyle rules with ruff by @user27182 in https://github.com/pyvista/pyvista/pull/6632
  • Add all functions of the fileio to API documentation by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6636
  • Make CellType images link to cells in examples by @user27182 in https://github.com/pyvista/pyvista/pull/6597
  • Use single quotes formatting with ruff by @user27182 in https://github.com/pyvista/pyvista/pull/6657
  • Remove interactive "note" by @akaszynski in https://github.com/pyvista/pyvista/pull/6665
  • Drop Python 3.8 support which is EOL in 07 Oct 2024 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6701
  • Doc/improve label connectivity and voxelize binary mask by @GuillaumeBroggi in https://github.com/pyvista/pyvista/pull/6680
  • Update Plotter.add_text() docstring to current version by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6773
  • Add and fix API links in plot examples by @alioacar in https://github.com/pyvista/pyvista/pull/6777
  • Sort keys in toml files by @user27182 in https://github.com/pyvista/pyvista/pull/6804
  • Add DataSet TypeVar to typing core by @user27182 in https://github.com/pyvista/pyvista/pull/6854
  • Add note to glyph filter about geom direction assumption by @user27182 in https://github.com/pyvista/pyvista/pull/6829
  • Fix more broken links in documentation by @user27182 in https://github.com/pyvista/pyvista/pull/6897
  • Remove 'of', 'or', and 'various' from nitpick ignore by @user27182 in https://github.com/pyvista/pyvista/pull/6904
  • Document ImageData inherited members dimensions and dimensionality by @user27182 in https://github.com/pyvista/pyvista/pull/6901
  • Add CellArray to documentation by @user27182 in https://github.com/pyvista/pyvista/pull/6903
  • Fix broken links in documentation by @user27182 in https://github.com/pyvista/pyvista/pull/6896
  • Add ActiveArrayInfoTuple to documentation by @user27182 in https://github.com/pyvista/pyvista/pull/6916
  • Add nitpicky option to doc config to prevent broken links by @user27182 in https://github.com/pyvista/pyvista/pull/6895
  • Expand concrete dataset type definitions by @user27182 in https://github.com/pyvista/pyvista/pull/6918
  • Add parameter annotations to slice and clip dataset filters by @user27182 in https://github.com/pyvista/pyvista/pull/6934
  • Ignore documentation reference warnings for collections by @user27182 in https://github.com/pyvista/pyvista/pull/6945
  • Add source information to named colors documentation by @user27182 in https://github.com/pyvista/pyvista/pull/6957
  • Classify named colors in documentation based on hue, lightness, and saturation by @user27182 in https://github.com/pyvista/pyvista/pull/6955
  • Do not ignore unused imports F401 (ignore useless imports PLC0414 instead) by @user27182 in https://github.com/pyvista/pyvista/pull/6983
  • Enable mypy no-implicit-reexport by @user27182 in https://github.com/pyvista/pyvista/pull/6986
  • Rename "Color Table" to "Named Colors" and reformat it by @user27182 in https://github.com/pyvista/pyvista/pull/6988
  • Add sphinx-duration extension to measure sphinx processing times by @user27182 in https://github.com/pyvista/pyvista/pull/6993
  • Format docstring with ruff by @beroda in https://github.com/pyvista/pyvista/pull/6991
  • Move classproperty decorator to misc utilities by @user27182 in https://github.com/pyvista/pyvista/pull/7005
  • HAPPY NEW YEAR 2025 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7038
  • Deprecate contour_labeled by @user27182 in https://github.com/pyvista/pyvista/pull/7040
  • Fix broken link in the docs about external gallery by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7047
  • Allow ExodusIIReader to handle all the blocks and sets in the Exodus II file by @mattfalcone1997 in https://github.com/pyvista/pyvista/pull/7048
  • Pin trame-server to fix failing integration tests by @user27182 in https://github.com/pyvista/pyvista/pull/7067
  • Fix default param value in docs for transform inplace by @dad616610 in https://github.com/pyvista/pyvista/pull/7027
  • Add volume rendering example using whole_body_ct dataset by @user27182 in https://github.com/pyvista/pyvista/pull/7056
  • Add new standalone anatomical-groups example by @user27182 in https://github.com/pyvista/pyvista/pull/7059
  • Fix minor formatting errors with color_labels docstring by @user27182 in https://github.com/pyvista/pyvista/pull/7084
  • Update formatting for anatomical groups example by @user27182 in https://github.com/pyvista/pyvista/pull/7083
  • Replace code directive with code-block by @user27182 in https://github.com/pyvista/pyvista/pull/7118
  • Add complete start-to-finish plot directive example by @user27182 in https://github.com/pyvista/pyvista/pull/7117
  • Downsample parched canal example before plotting by @user27182 in https://github.com/pyvista/pyvista/pull/7123
  • Fix ruff lint error: Bump version to 0.8.1 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6915
  • New vector graphic PyVista logo by @banesullivan in https://github.com/pyvista/pyvista/pull/7115
  • Exclude redundant vtksz files from doc upload by @user27182 in https://github.com/pyvista/pyvista/pull/7154
  • Fix documentation image test warnings by replacing images by @user27182 in https://github.com/pyvista/pyvista/pull/7150
  • Fix ruff lint error: Bump version to 0.9.4 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7171
  • Add planets module to dataset gallery by @user27182 in https://github.com/pyvista/pyvista/pull/7156
  • Rename examples to use snake_case with underscores by @user27182 in https://github.com/pyvista/pyvista/pull/7169
  • Fix typo in the docstring using codespell v2.4.1 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7183
  • Document examples.gltf module by @user27182 in https://github.com/pyvista/pyvista/pull/7178
  • Document Polyhedron cell by @user27182 in https://github.com/pyvista/pyvista/pull/7185
  • Improve documentation and layout of pyvista.examples API by @user27182 in https://github.com/pyvista/pyvista/pull/7174
  • Add medical label to sphinx gallery examples by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7191
  • Fix vale error 'Built-in' should use title-style capitalization by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7209
  • Move common dataset/composite filters to DataObjectFilters class by @user27182 in https://github.com/pyvista/pyvista/pull/7210
  • Add cross-reference links to Dataset Gallery by @user27182 in https://github.com/pyvista/pyvista/pull/7257
  • Update language in transformation docstrings by @user27182 in https://github.com/pyvista/pyvista/pull/7286
  • Add technical reference to cell quality filter docstring by @user27182 in https://github.com/pyvista/pyvista/pull/7309
  • Add the EM ruff rule by @beroda in https://github.com/pyvista/pyvista/pull/6964
  • Make cell_quality docstring compatible with older python by @user27182 in https://github.com/pyvista/pyvista/pull/7381
  • Bump ruff to 11.4 by @user27182 in https://github.com/pyvista/pyvista/pull/7384
  • Enforce resampling texture for set_environment_texture with CI by @user27182 in https://github.com/pyvista/pyvista/pull/7357
  • Add Python versions badge to README by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7411
  • Speed up rendering of planets example by @user27182 in https://github.com/pyvista/pyvista/pull/7397
  • Remove tabs from docs by @user27182 in https://github.com/pyvista/pyvista/pull/7406
  • Save images from test warnings for doc image cache by @user27182 in https://github.com/pyvista/pyvista/pull/7394
  • Remove Twitter share links by @banesullivan in https://github.com/pyvista/pyvista/pull/7440

Maintenance

  • Add type annotations to check_nonnegative and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6359
  • Add type annotations to check_greater_than and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6360
  • Add type annotations to check_integer and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6358
  • Add type annotations to check_finite and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6357
  • Revert "Pin numpy<2.0.0 in GeoVista integration test" by @bjlittle in https://github.com/pyvista/pyvista/pull/6381
  • Enable invalidating caches for documentation build with label from PR by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6383
  • Speed up trame examples tests by @banesullivan in https://github.com/pyvista/pyvista/pull/6400
  • Refactor AxesAssembly using abstract _XYZAssembly class by @user27182 in https://github.com/pyvista/pyvista/pull/6394
  • Fix typo: visiblity -> visibility by @banesullivan in https://github.com/pyvista/pyvista/pull/6403
  • Add missing assert to OrthogonalPlanesSource normal sign test by @user27182 in https://github.com/pyvista/pyvista/pull/6410
  • Parametrize XYZAssembly plotting tests by @user27182 in https://github.com/pyvista/pyvista/pull/6413
  • Add bounds, center, and length to Prop3DMixin by @user27182 in https://github.com/pyvista/pyvista/pull/6412
  • Use the term assembly instead of actor in AxesAssembly docs and tests by @user27182 in https://github.com/pyvista/pyvista/pull/6414
  • Make Prop3DMixin.bounds abstract by @user27182 in https://github.com/pyvista/pyvista/pull/6418
  • Add type annotations to check_shape and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6424
  • Add type annotations to check_less_than and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6422
  • Remove _coerce_transformlike_arg and use validate_transform4x4 instead by @user27182 in https://github.com/pyvista/pyvista/pull/6420
  • Add type annotations to check_range and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6423
  • Make attribute arguments consistent for Prop3D and Prop3DMixin by @user27182 in https://github.com/pyvista/pyvista/pull/6417
  • Update open-pull-requests-limit in dependabot.yml to 100 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6445
  • Remove param package from requirements_test.txt by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6448
  • Add Actor to add_mesh return type by @MatthewFlamm in https://github.com/pyvista/pyvista/pull/6259
  • Fix import error of matplotlib in Windows Unit Testing by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6458
  • Add noqa: NPY201 to ignore check by ruff in v0.5.6 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6462
  • Add type: ignore[arg-type] to fix mypy v1.11.1 error by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6463
  • Rename test_bounds_tuple to test_return_type to support testing other types by @user27182 in https://github.com/pyvista/pyvista/pull/6471
  • Expose underlying PlaneSources for OrthogonalPlanesSource by @user27182 in https://github.com/pyvista/pyvista/pull/6473
  • Increase test coverage of plot_datasets by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6479
  • Fix test_bounds_tuple to enable code re-use by other tests by @user27182 in https://github.com/pyvista/pyvista/pull/6470
  • Improve test coverage of set_focus and set_viewup by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6480
  • Remove unnecessary indent by integrate if block by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6465
  • codecov.yml coverage goal change requires admin approval by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6483
  • Standardize center return type by @user27182 in https://github.com/pyvista/pyvista/pull/6469
  • Add helpful error message when reading VRML file by @user27182 in https://github.com/pyvista/pyvista/pull/6486
  • Add annotations to check_length and update variable names by @user27182 in https://github.com/pyvista/pyvista/pull/6509
  • Update Dockerfile Python version from 3.10 to 3.11 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6512
  • Speed up and simplify principal_axes test with many points by @user27182 in https://github.com/pyvista/pyvista/pull/6520
  • Deprecate start_xvfb to use vtk-osmesa instead by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6500
  • Add explicit tests for align_xyz inverse by @user27182 in https://github.com/pyvista/pyvista/pull/6518
  • Update Python version to 3.12 in GitHub Actions by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6522
  • Update cartopy feature download for GeoVista integration test by @user27182 in https://github.com/pyvista/pyvista/pull/6539
  • Add flaky_test decorator and use it to re-try test_affine_widget by @user27182 in https://github.com/pyvista/pyvista/pull/6554
  • Fix mirror of the prettier npm package for pre-commit by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6571
  • Add type: ignore[operator] to the line that is cause the error by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6575
  • Fix assert list line which is always raise true by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6588
  • Fix unconventional import alias of ElementTree by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6608
  • Fix pytest fixture incorrect parentheses style by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6607
  • Add pointsetmark to explicit structured grid test by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6613
  • Remove flake8 file from labeler.yml changed files by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6623
  • Add active scalars test coverage for DataSetFilter.transform by @user27182 in https://github.com/pyvista/pyvista/pull/6619
  • Consolidate inplace logic for DataSetFilter.transform by @user27182 in https://github.com/pyvista/pyvista/pull/6618
  • Use BoundsTuple for bounds in DataSetFilters by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6629
  • Move pickle tests from test_dataset to test_dataobject by @user27182 in https://github.com/pyvista/pyvista/pull/6631
  • Catch runtime errors in doc image testing by @user27182 in https://github.com/pyvista/pyvista/pull/6646
  • Update config.yml to set blank_issues_enabled False by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6648
  • Use updated version of reviewdog with Vale config by @user27182 in https://github.com/pyvista/pyvista/pull/6658
  • Update Camera class representation to be friendly by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6663
  • Fix ruff lint error: dict-get-with-none-default (SIM910) by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6693
  • Improve trame installation error message by @banesullivan in https://github.com/pyvista/pyvista/pull/6695
  • Add document package installation to resolve Vale error by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6708
  • Use numpy version info for skipping tests by @user27182 in https://github.com/pyvista/pyvista/pull/6712
  • Increase flaky test tries for voxelize_binary_mask sampling test by @user27182 in https://github.com/pyvista/pyvista/pull/6728
  • Remove redundant transformations.rotation function by @user27182 in https://github.com/pyvista/pyvista/pull/6725
  • Reduce test parametrization for Text3DSource by @user27182 in https://github.com/pyvista/pyvista/pull/6734
  • Do not fail fast for macOS unit testing by @user27182 in https://github.com/pyvista/pyvista/pull/6737
  • Fix dtype type error in voxelize_binary_mask by @user27182 in https://github.com/pyvista/pyvista/pull/6739
  • Simplify code in ImageData.__init__ and remove _from_specs method by @user27182 in https://github.com/pyvista/pyvista/pull/6726
  • Checking numpydoc_validation PR in pre-commit by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6755
  • Fix ruff lint error: open-file-with-context-handler (SIM115) by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6767
  • Move requirements into pyproject.toml by @user27182 in https://github.com/pyvista/pyvista/pull/6753
  • Remove mypy from pre-commit by @user27182 in https://github.com/pyvista/pyvista/pull/6741
  • Restrict embree in test dependencies to intel macs by @user27182 in https://github.com/pyvista/pyvista/pull/6771
  • Update macOS testing strategy to run on latest arm architecture by @user27182 in https://github.com/pyvista/pyvista/pull/6770
  • Remove unnecessary macOS skips in test_reader.py by @user27182 in https://github.com/pyvista/pyvista/pull/6776
  • Add static type checking workflow with mypy by @user27182 in https://github.com/pyvista/pyvista/pull/6738
  • Split test requirements into separate typing and test requirements by @user27182 in https://github.com/pyvista/pyvista/pull/6746
  • Clean-up numpydoc-validation excludes by @user27182 in https://github.com/pyvista/pyvista/pull/6778
  • Use validation module in shrink filter method by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6783
  • Make pyproject.toml comments inline by @user27182 in https://github.com/pyvista/pyvista/pull/6782
  • Add taplo pre-commit hook to format and sort toml files by @user27182 in https://github.com/pyvista/pyvista/pull/6781
  • Add warn_unused_configs to mypy config by @user27182 in https://github.com/pyvista/pyvista/pull/6792
  • Add extra_checks to mypy config by @user27182 in https://github.com/pyvista/pyvista/pull/6794
  • Add strict_equality to mypy config by @user27182 in https://github.com/pyvista/pyvista/pull/6793
  • Fix missing plotting typing imports by @user27182 in https://github.com/pyvista/pyvista/pull/6791
  • Remove usage of deprecated macos-12 runner by @user27182 in https://github.com/pyvista/pyvista/pull/6807
  • Add check_untyped_defs to mypy config by @user27182 in https://github.com/pyvista/pyvista/pull/6795
  • Add None return annotations to actor.py by @user27182 in https://github.com/pyvista/pyvista/pull/6809
  • Add None return annotations to mapper.py by @user27182 in https://github.com/pyvista/pyvista/pull/6810
  • Add None return annotations to prop3d.py by @user27182 in https://github.com/pyvista/pyvista/pull/6811
  • Add None return type annotations in charts.py by @user27182 in https://github.com/pyvista/pyvista/pull/6803
  • Add scalar return type annotation by @user27182 in https://github.com/pyvista/pyvista/pull/6816
  • Update typing for active array info and field association in dataset.py and arrays.py by @user27182 in https://github.com/pyvista/pyvista/pull/6822
  • Add bool parameter annotations to core by @user27182 in https://github.com/pyvista/pyvista/pull/6817
  • Move transformations from DataSet to DataSetFilters by @user27182 in https://github.com/pyvista/pyvista/pull/6799
  • Add bool parameter annotations to most plotting modules by @user27182 in https://github.com/pyvista/pyvista/pull/6819
  • Remove outdated content in geometric_objects.py docstring by @user27182 in https://github.com/pyvista/pyvista/pull/6837
  • Add trimesh as typing dependency by @user27182 in https://github.com/pyvista/pyvista/pull/6843
  • Add annotations to glyph filter by @user27182 in https://github.com/pyvista/pyvista/pull/6833
  • Add parameter annotations to geometric_sources.py by @user27182 in https://github.com/pyvista/pyvista/pull/6839
  • Add parameter annotations to geometric_objects.py by @user27182 in https://github.com/pyvista/pyvista/pull/6838
  • Fix deprecated version compare from >= to > by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6850
  • Add annotations to contour filter by @user27182 in https://github.com/pyvista/pyvista/pull/6831
  • Add None return type annotations to most modules in core by @user27182 in https://github.com/pyvista/pyvista/pull/6820
  • Add typing overloads to is_pyvista_dataset by @user27182 in https://github.com/pyvista/pyvista/pull/6851
  • Fully annotate geometric_sources.py by @user27182 in https://github.com/pyvista/pyvista/pull/6855
  • Include None type with TypeMultiBlockLeaf by @user27182 in https://github.com/pyvista/pyvista/pull/6852
  • Add annotations to clip_box filter by @user27182 in https://github.com/pyvista/pyvista/pull/6830
  • Add typing overloads to numpy_to_idarr by @user27182 in https://github.com/pyvista/pyvista/pull/6836
  • Add annotations to elevation filter by @user27182 in https://github.com/pyvista/pyvista/pull/6832
  • Remove redundant "missing docstring" GL08 from numpydoc-validation by @user27182 in https://github.com/pyvista/pyvista/pull/6842
  • Fully annotate transform.py and transformations.py by @user27182 in https://github.com/pyvista/pyvista/pull/6853
  • Replace docs with typing in dev dependencies by @user27182 in https://github.com/pyvista/pyvista/pull/6869
  • Fix deprecated version compare only minor version by @tkoyama010 in https://github.com/pyvista/pyvista/pull/6862
  • Fully annotate geometric_objects.py by @user27182 in https://github.com/pyvista/pyvista/pull/6868
  • Limit VTK<9.4.0 by @banesullivan in https://github.com/pyvista/pyvista/pull/6872
  • Fully annotate composite.py by @user27182 in https://github.com/pyvista/pyvista/pull/6874
  • Fully annotate dataset.py by @user27182 in https://github.com/pyvista/pyvista/pull/6873
  • Add None return type annotations to core readers.py and observers.py by @user27182 in https://github.com/pyvista/pyvista/pull/6802
  • Mark test_tinypages as a flaky test by @user27182 in https://github.com/pyvista/pyvista/pull/6887
  • Use validation methods with vtk_points by @user27182 in https://github.com/pyvista/pyvista/pull/6876
  • Fully annotate parametric_objects.py by @user27182 in https://github.com/pyvista/pyvista/pull/6875
  • Fully annotate fileio.py by @user27182 in https://github.com/pyvista/pyvista/pull/6884
  • Fully annotate points.py by @user27182 in https://github.com/pyvista/pyvista/pull/6889
  • Remove references to vtk_osmesa in VTK master testing by @banesullivan in https://github.com/pyvista/pyvista/pull/6730
  • Add color output to pytest and mypy CI by @user27182 in https://github.com/pyvista/pyvista/pull/6894
  • Add typing overloads to wrap by @user27182 in https://github.com/pyvista/pyvista/pull/6840
  • Fully annotate arrays.py by @user27182 in https://github.com/pyvista/pyvista/pull/6856
  • Add None return annotations to renderer.py by @user27182 in https://github.com/pyvista/pyvista/pull/6808
  • Add ANN rule to ruff for checking annotations by @user27182 in https://github.com/pyvista/pyvista/pull/6890
  • Add self annotations to dataset filters by @user27182 in https://github.com/pyvista/pyvista/pull/6870
  • Deprecate ActiveArrayInfo and use ActiveArrayInfoTuple directly by @user27182 in https://github.com/pyvista/pyvista/pull/6835
  • Fully annotate check.py by @user27182 in https://github.com/pyvista/pyvista/pull/6912
  • Add annotations to validate.py by @user27182 in https://github.com/pyvista/pyvista/pull/6913
  • Add DataSet and DataObject overloads to wrap by @user27182 in https://github.com/pyvista/pyvista/pull/6936
  • Add FileExistsError to flaky test test_tinypages by @user27182 in https://github.com/pyvista/pyvista/pull/6951
  • Add parameter annotations to align, compute, threshold, and outline dataset filters by @user27182 in https://github.com/pyvista/pyvista/pull/6938
  • Fully annotate grid.py by @user27182 in https://github.com/pyvista/pyvista/pull/6943
  • Fully annotate celltype.py by @user27182 in https://github.com/pyvista/pyvista/pull/6942
  • Fully annotate pyvista_ndarray.py by @user27182 in https://github.com/pyvista/pyvista/pull/6949
  • Fully annotate datasetattributes.py by @user27182 in https://github.com/pyvista/pyvista/pull/6944
  • Add parameter annotations to streamline dataset filters by @user27182 in https://github.com/pyvista/pyvista/pull/6937
  • Add parameter annotations to extract dataset filters by @user27182 in https://github.com/pyvista/pyvista/pull/6935
  • Mark test_dataset_loader_source_url_blob as flaky by @user27182 in https://github.com/pyvista/pyvista/pull/6956
  • Fix mapper destructor attribute error by @user27182 in https://github.com/pyvista/pyvista/pull/6954
  • Fully annotate misc.py by @user27182 in https://github.com/pyvista/pyvista/pull/6941
  • Fully annotate cells.py by @user27182 in https://github.com/pyvista/pyvista/pull/6946
  • Add annotations to interpolate, sample and plot dataset filters by @user27182 in https://github.com/pyvista/pyvista/pull/6953
  • Update exceptions for dataset loader url blob test by @user27182 in https://github.com/pyvista/pyvista/pull/6961
  • Add parameter annotations for remaining dataset filters by @user27182 in https://github.com/pyvista/pyvista/pull/6959
  • Fully annotate dataobject.py by @user27182 in https://github.com/pyvista/pyvista/pull/6947
  • Ignore F401 rule for all __init__.py files by @beroda in https://github.com/pyvista/pyvista/pull/6962
  • Bump npt-promote to resolve bool and np.bool_ type promotions by @user27182 in https://github.com/pyvista/pyvista/pull/6965
  • Replace DataSet with Self in dataset.py by @user27182 in https://github.com/pyvista/pyvista/pull/6975
  • Enable disallow-subclassing-any with mypy by @user27182 in https://github.com/pyvista/pyvista/pull/6984
  • Add pytest color output to docstring and doc tests by @user27182 in https://github.com/pyvista/pyvista/pull/6976
  • Use single quotes in pyproject.toml by @user27182 in https://github.com/pyvista/pyvista/pull/6987
  • Add mypy warn unreachable by @beroda in https://github.com/pyvista/pyvista/pull/6982
  • Format only rst files with blackdoc by @beroda in https://github.com/pyvista/pyvista/pull/6994
  • Add truthy-bool mypy by @beroda in https://github.com/pyvista/pyvista/pull/7008
  • Enable color output for sphinx build in CI by @user27182 in https://github.com/pyvista/pyvista/pull/7018
  • Move _validate_color_sequence to validation module for reuse by @user27182 in https://github.com/pyvista/pyvista/pull/7025
  • Add versionadded to rotation_from by @user27182 in https://github.com/pyvista/pyvista/pull/7031
  • Improve initial import time by @darikg in https://github.com/pyvista/pyvista/pull/7023
  • Update docstring and test coverage for contour_labels by @user27182 in https://github.com/pyvista/pyvista/pull/7039
  • Fix undefined variable exception in conditional check for Rotation import by @darikg in https://github.com/pyvista/pyvista/pull/7055
  • Deprecate dataset_filters.transform defaulting to inplace=True by @darikg in https://github.com/pyvista/pyvista/pull/7053
  • Use color_labels to improve contour_labels example by @user27182 in https://github.com/pyvista/pyvista/pull/7051
  • Improve colormap error messages when colorcet or cmocean are not installed by @user27182 in https://github.com/pyvista/pyvista/pull/7082
  • Add redundant expr mypy by @beroda in https://github.com/pyvista/pyvista/pull/7007
  • Treat warnings as errors in tests by @beroda in https://github.com/pyvista/pyvista/pull/7009
  • Filter pytest warning for acessing user data path by @beroda in https://github.com/pyvista/pyvista/pull/7102
  • Add non-interactive doc artifacts by @beroda in https://github.com/pyvista/pyvista/pull/7101
  • Use __mul__ instead of __add__ for concatenating Transform by @user27182 in https://github.com/pyvista/pyvista/pull/7110
  • Remove __matmul__ operator from Transform class by @user27182 in https://github.com/pyvista/pyvista/pull/7109
  • Use beach image instead of logo in examples and tests by @user27182 in https://github.com/pyvista/pyvista/pull/7125
  • Exclude type checking from coverage by @beroda in https://github.com/pyvista/pyvista/pull/7126
  • Add pre commit hook sp-repo by @beroda in https://github.com/pyvista/pyvista/pull/6970
  • Downsample damavand volcano example by @user27182 in https://github.com/pyvista/pyvista/pull/7133
  • Branch coverage for tests by @beroda in https://github.com/pyvista/pyvista/pull/7104
  • Add zizmor security linter to pre-commit by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7006
  • Remove cached images from flip normals deprecation by @user27182 in https://github.com/pyvista/pyvista/pull/7149
  • Move voxelize_binary_mask to DataSetFilters by @user27182 in https://github.com/pyvista/pyvista/pull/7148
  • Rename Transform.concatenate to compose by @user27182 in https://github.com/pyvista/pyvista/pull/7151
  • Add tests to limit the size of interactive plot files by @user27182 in https://github.com/pyvista/pyvista/pull/7114
  • Remove check_subdtype test of deprecated NumPy behavior by @user27182 in https://github.com/pyvista/pyvista/pull/7176
  • Remove mesh_length_fraction from voxelize_binary_mask by @user27182 in https://github.com/pyvista/pyvista/pull/7175
  • Add PLR1730 ruff rule for min/max statements by @user27182 in https://github.com/pyvista/pyvista/pull/7179
  • Fix repo review error: bump to rev 2025.01.22 by @user27182 in https://github.com/pyvista/pyvista/pull/7188
  • Add log_scale and glyph test coverage by @user27182 in https://github.com/pyvista/pyvista/pull/7190
  • Use elif instead of else then if, to reduce indentation by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7177
  • Bump python from 3.11 to 3.12 in Devcontainer by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7196
  • Disable caching for pushes to main branch and consolidate caching logic by @user27182 in https://github.com/pyvista/pyvista/pull/7187
  • Remove unnecessary Updates in nek5000Reader and ExodusIIReader by @mattfalcone1997 in https://github.com/pyvista/pyvista/pull/7213
  • Refactor MultiBlock.transform to use generic_filter by @user27182 in https://github.com/pyvista/pyvista/pull/7222
  • Speed up Color init and convert_color_channel by @user27182 in https://github.com/pyvista/pyvista/pull/7219
  • Do not skip None or empty blocks by default with recursive_iterator by @user27182 in https://github.com/pyvista/pyvista/pull/7221
  • Add preference option to MultiBlock.get_data_range by @user27182 in https://github.com/pyvista/pyvista/pull/7217
  • Add isolated tests for core and plotting conftest files using pytester plugin by @beroda in https://github.com/pyvista/pyvista/pull/7127
  • Move extract_values validation and splitting code as instance methods by @user27182 in https://github.com/pyvista/pyvista/pull/7231
  • Refactor as_polydata_blocks to use generic_filter by @user27182 in https://github.com/pyvista/pyvista/pull/7223
  • Rename contour_labels parameter compute_normals to orient_faces and add performance notes by @user27182 in https://github.com/pyvista/pyvista/pull/7226
  • Refactor MultiBlock.is_all_polydata to use recursive_iterator by @user27182 in https://github.com/pyvista/pyvista/pull/7235
  • Remove redundant composite fixture by @user27182 in https://github.com/pyvista/pyvista/pull/7241
  • Move DataObjectFilters tests to new test file by @user27182 in https://github.com/pyvista/pyvista/pull/7240
  • Move deprecation warning for transform filter inplace into DataObjectFilters by @user27182 in https://github.com/pyvista/pyvista/pull/7233
  • [Action Required] Ubuntu-20.04 hosted runner image is closing down by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7216
  • Refactor clip filter tests and add checks for MultiBlock inputs by @user27182 in https://github.com/pyvista/pyvista/pull/7272
  • Add flake8-non-pep420(INP) rules to pyproject.toml by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7119
  • Remove deprecated numpy.typing.mypy_plugin by @user27182 in https://github.com/pyvista/pyvista/pull/7281
  • Skip @overload test coverage by @user27182 in https://github.com/pyvista/pyvista/pull/7283
  • Set PYVISTA_OFF_SCREEN in doctest-modules by @banesullivan in https://github.com/pyvista/pyvista/pull/7290
  • Add return type annotations for transformation filters by @user27182 in https://github.com/pyvista/pyvista/pull/7284
  • Only run plotting tests with Plotting Linux CI by @user27182 in https://github.com/pyvista/pyvista/pull/7291
  • Remove conda CI testing and environment files by @banesullivan in https://github.com/pyvista/pyvista/pull/7295
  • Fix zizmor error: Bump version to v1.3.0 by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7197
  • Remove redundant code in Plotter.add_volume by @beroda in https://github.com/pyvista/pyvista/pull/7304
  • Expose metadata from CellType enum by @user27182 in https://github.com/pyvista/pyvista/pull/7312
  • Update license for PEP 639 by @user27182 in https://github.com/pyvista/pyvista/pull/7330
  • Fix docker permissions by @banesullivan in https://github.com/pyvista/pyvista/pull/7336
  • Always run plotting tests by @beroda in https://github.com/pyvista/pyvista/pull/7332
  • Fix newly windows data path by @beroda in https://github.com/pyvista/pyvista/pull/7333
  • Generalize transform.apply for vector arrays and add specialized methods for points, vectors, and datasets by @user27182 in https://github.com/pyvista/pyvista/pull/7228
  • Refactor vtk_verbosity to use abstract state manager class by @user27182 in https://github.com/pyvista/pyvista/pull/7370
  • Add 'tags' to .gitignore by @tkoyama010 in https://github.com/pyvista/pyvista/pull/7391
  • VTK 9.4 compatibility by @banesullivan in https://github.com/pyvista/pyvista/pull/6879
  • Always upload failed images from docs workflow by @user27182 in https://github.com/pyvista/pyvista/pull/7403
  • Introduce merge queue by @banesullivan in https://github.com/pyvista/pyvista/pull/7421
  • Make bool parameters of Transform.apply_to methods keyword-only by @user27182 in https://github.com/pyvista/pyvista/pull/7407
  • Disable VTK 9.4 snake_case API by @user27182 in https://github.com/pyvista/pyvista/pull/7198
  • Parametrize merge filter test for easier debugging by @user27182 in https://github.com/pyvista/pyvista/pull/7425
  • Add render window to PyVista Report by @user27182 in https://github.com/pyvista/pyvista/pull/7436

New Contributors

  • @Sgoodridge96 made their first contribution in https://github.com/pyvista/pyvista/pull/6386
  • @nicolascedilnik made their first contribution in https://github.com/pyvista/pyvista/pull/6407
  • @aeverallpx made their first contribution in https://github.com/pyvista/pyvista/pull/6514
  • @chapochn made their first contribution in https://github.com/pyvista/pyvista/pull/6707
  • @awoimbee made their first contribution in https://github.com/pyvista/pyvista/pull/6723
  • @nathmay made their first contribution in https://github.com/pyvista/pyvista/pull/6766
  • @alioacar made their first contribution in https://github.com/pyvista/pyvista/pull/6777
  • @MeenaBytes made their first contribution in https://github.com/pyvista/pyvista/pull/6860
  • @mattfalcone1997 made their first contribution in https://github.com/pyvista/pyvista/pull/6963
  • @finsberg made their first contribution in https://github.com/pyvista/pyvista/pull/6995
  • @dad616610 made their first contribution in https://github.com/pyvista/pyvista/pull/7027
  • @CharlesGueunet made their first contribution in https://github.com/pyvista/pyvista/pull/7134
  • @ConnorNoddin made their first contribution in https://github.com/pyvista/pyvista/pull/7316

Full Changelog: https://github.com/pyvista/pyvista/compare/v0.44.0...v0.45.0

Notes

If you are using PyVista in your research, please help our scientific visibility by citing our work!

Files

pyvista/pyvista-v0.45.0.zip

Files (152.6 MB)

Name Size Download all
md5:6b01b0d54e28a4dd1847927567364283
152.6 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/pyvista/pyvista/tree/v0.45.0 (URL)

Software