akaszynski: I think we should avoid placing example files in the pyvista sdist installer.  Currently, we host example files on github, though we run into issues all the time when downloading the examples from github where we host it (https://github.com/pyvista/vtk-data).

Please submit a PR for adding the file to the vtk-data repo and add it as an example file (see `tests/test_examples.py`.  Then download the example case file like as in `tests/test_filters.py` L604 for an example file.  I'd also allow the test to fail on MacOS like as in that test as the downloads seem to fail quite often on MacOS.
JevinJ: @pyvista/developers, @akaszynski, @banesullivan I believe I've fixed it, this is good up for review now. 

I don't think the currently failed tests are an issue here, at least for MacOS. The Windows error seems to be a file system error, but difficult for me to debug without being able to run plotting. 

The segfault I had previously seems to be caused by me assigning numpy arrays in update() directly without running them through np.array. I'd appreciate it if anyone knows why that would be an issue.
banesullivan: It looks like this conflicts with recent changes from #740.
akaszynski: We're planning on releasing a minor release sometime this week.  If you'd like this PR to be in for the next release please have it done by Wednesday.
LucaZampieri: Sorry for the long silence, I will try to get it done for Friday. :) 
LucaZampieri: Sorry for the lie of 2 weeks ago! :angel: (and for the slow advances of this PR)
next time I will be more diligent! :)  

LucaZampieri: Hum.. indeed the download is failing on MacOs
akaszynski: Downloads are going to fail on MacOS, and our latest testing procedure is to not test anything that requires downloading on our CI as it’s prone to failure.

Let’s add a xfail for Linux and Windows and xskip for Mac for the tests as it seems like we have to test using files.  I wish there was a more reliable way of hosting the artifacts, and I think we could use azure for this as well.  Let’s close the loop on this PR and I can cleanup the CI in a later PR.
LucaZampieri: Hey reviewers! Is there anything I can do to help with this MR?
codecov[bot]: # [Codecov](https://codecov.io/gh/pyvista/pyvista/pull/725?src=pr&el=h1) Report
> Merging [#725](https://codecov.io/gh/pyvista/pyvista/pull/725?src=pr&el=desc) into [master](https://codecov.io/gh/pyvista/pyvista/commit/f077d087e310d449bc77418392399b77fbeda78f?el=desc) will **increase** coverage by `0.26%`.
> The diff coverage is `100.00%`.

```diff
@@            Coverage Diff             @@
##           master     #725      +/-   ##
==========================================
+ Coverage   86.84%   87.10%   +0.26%     
==========================================
  Files          36       36              
  Lines        9158     9165       +7     
==========================================
+ Hits         7953     7983      +30     
+ Misses       1205     1182      -23     
```

akaszynski: Got you covered.  MacOS testing is flaky when downloading, so I'm just simply skipping these tests.

I'd like to have this in the next release, so I'm adding it to the 0.27.0 milestone.


diff --git a/pyvista/core/common.py b/pyvista/core/common.py
index 81710611..dca5484c 100644
--- a/pyvista/core/common.py
+++ b/pyvista/core/common.py
@@ -75,7 +75,10 @@ class DataObject:
                              f' Must be one of: {valid_extensions}')
 
         reader = self._READERS[file_ext]()
-        reader.SetFileName(str(file_path))
+        if file_ext == ".case":
+            reader.SetCaseFileName(str(file_path))
+        else:
+            reader.SetFileName(str(file_path))
         reader.Update()
         return reader.GetOutputDataObject(0)
 
diff --git a/pyvista/core/composite.py b/pyvista/core/composite.py
index 96e18b30..f6698a7e 100644
--- a/pyvista/core/composite.py
+++ b/pyvista/core/composite.py
@@ -62,6 +62,7 @@ class MultiBlock(vtkMultiBlockDataSet, CompositeFilters, DataObject):
     # Bind pyvista.plotting.plot to the object
     plot = pyvista.plot
     _READERS = dict.fromkeys(['.vtm', '.vtmb'], vtk.vtkXMLMultiBlockDataReader)
+    _READERS['.case'] = vtk.vtkGenericEnSightReader
     _WRITERS = dict.fromkeys(['.vtm', '.vtmb'], vtk.vtkXMLMultiBlockDataWriter)
 
     def __init__(self, *args, **kwargs):
diff --git a/pyvista/examples/downloads.py b/pyvista/examples/downloads.py
index 0793607d..e8636c39 100644
--- a/pyvista/examples/downloads.py
+++ b/pyvista/examples/downloads.py
@@ -650,6 +650,11 @@ def download_vtk_logo():
     """Download a texture of the VTK logo."""
     return _download_and_read("vtk.png", texture=True)
 
+def download_backward_facing_step():
+    """Download an ensigh gold case of a fluid simulation."""
+    folder, _ = _download_file('EnSight.zip')
+    filename = os.path.join(folder, "foam_case_0_0_0_0.case")
+    return pyvista.read(filename)
 
 def download_gpr_data_array():
     """Download a texture of the VTK logo."""
@@ -661,3 +666,4 @@ def download_gpr_path():
     saved_file, _ = _download_file("gpr-example/path.txt")
     path = np.loadtxt(saved_file, skiprows=1)
     return pyvista.PolyData(path)
+
diff --git a/pyvista/plotting/plotting.py b/pyvista/plotting/plotting.py
index 9cc1d3de..cd8842e1 100644
--- a/pyvista/plotting/plotting.py
+++ b/pyvista/plotting/plotting.py
@@ -1524,6 +1524,7 @@ class BasePlotter(PickingHelper, WidgetHelper):
             texture = mesh._activate_texture(texture)
 
         if texture:
+
             if isinstance(texture, np.ndarray):
                 texture = numpy_to_texture(texture)
             if not isinstance(texture, (vtk.vtkTexture, vtk.vtkOpenGLTexture)):
@@ -1538,6 +1539,9 @@ class BasePlotter(PickingHelper, WidgetHelper):
                 show_scalar_bar = False
             self.mapper.SetScalarModeToUsePointFieldData()
 
+            # see https://github.com/pyvista/pyvista/issues/950
+            mesh.set_active_scalars(None)
+
         # Handle making opacity array =========================================
 
         _custom_opac = False
diff --git a/pyvista/utilities/fileio.py b/pyvista/utilities/fileio.py
index 2df12095..c88f3666 100644
--- a/pyvista/utilities/fileio.py
+++ b/pyvista/utilities/fileio.py
@@ -27,6 +27,7 @@ READERS = {
     '.vts': vtk.vtkXMLStructuredGridReader,
     '.vtm': vtk.vtkXMLMultiBlockDataReader,
     '.vtmb': vtk.vtkXMLMultiBlockDataReader,
+    '.case': vtk.vtkGenericEnSightReader,
     # Image formats:
     '.bmp': vtk.vtkBMPReader,
     '.dem': vtk.vtkDEMReader,
@@ -230,7 +231,7 @@ def read(filename, attrs=None, file_format=None):
         return pyvista.PolyData(filename)
     elif ext in '.vts': # StructuredGrid
         return pyvista.StructuredGrid(filename)
-    elif ext in ['.vtm', '.vtmb']:
+    elif ext in ['.vtm', '.vtmb', '.case']:
         return pyvista.MultiBlock(filename)
     elif ext in ['.e', '.exo']:
         return read_exodus(filename)

Support for Format EnsightGold (.case)
[Here I assume ensightGold, but it probably be extended to other ensight formats]

Hi! I really love what you guys are doing with pyvista! Here I propose to add support for the ensight gold format that is widely used in CAE softwares. I would gladly submit a PR for this.

## What? 
Support for EnSightGold format. more infos about the ensight format [here](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwjjkN7_gLbpAhUsxYUKHcWyAjAQFjAAegQIAxAB&url=http%3A%2F%2Fwww3.ensight.com%2FEnSight10_Docs%2FUserManual.pdf&usg=AOvVaw0WWEvL6XEvSKdnLjxWEu4O). If link is dead I referenced the ensight user manual which can be found by google search. 
Under section `EnSight Gold Casefile Format` there are specifications.

## Why?
This format is widely used by CAE softwares for the ouputs of simulations (usually meshes with scalars/vector fields). For example Ansys and STAR-CCM can export in this format and openfoam can export in .encase

## How?
In my case a working version can be achieved by:
1.-  adding  `".case": vtk.vtkGenericEnSightReader, ` to the list of supported readers, 
2.- adding ".case" as multiblock data
3.- under `composite.py`, if extesion is ".case", use ` vtk.vtkGenericEnSightReader` and set file name as `reader.SetCaseFileName(filename)`. (for read and save)

diff --git a/tests/test_composite.py b/tests/test_composite.py
index f1ecae02..0eea88f7 100644
--- a/tests/test_composite.py
+++ b/tests/test_composite.py
@@ -1,4 +1,5 @@
 import pathlib
+import platform
 
 import numpy as np
 import pytest
@@ -8,6 +9,7 @@ import pyvista
 from pyvista import PolyData, RectilinearGrid, UniformGrid, StructuredGrid, MultiBlock
 from pyvista import examples as ex
 
+skip_mac = pytest.mark.skipif(platform.system() == 'Darwin', reason="Flaky Mac tests")
 
 @pytest.fixture()
 def vtk_multi():
@@ -212,6 +214,30 @@ def test_multi_block_io(extension, binary, tmpdir, use_pathlib, ant,
     foo = pyvista.read(filename)
     assert foo.n_blocks == multi.n_blocks
 
+@skip_mac  # fails due to download examples
+@pytest.mark.parametrize('binary', [True, False])
+@pytest.mark.parametrize('extension', ['vtm', 'vtmb'])
+def test_ensight_multi_block_io(extension, binary, tmpdir, ant,
+                                sphere, uniform, airplane, globe):
+    filename = str(tmpdir.mkdir("tmpdir").join('tmp.%s' % extension))
+    # multi = ex.load_bfs()  # .case file
+    multi = ex.download_backward_facing_step()  # .case file
+    # Now check everything
+    assert multi.n_blocks == 4
+    array_names = ['v2', 'nut', 'k', 'nuTilda', 'p', 'omega', 'f', 'epsilon', 'U']
+    for block in multi:
+        assert block.array_names == array_names
+    # Save it out
+    multi.save(filename, binary)
+    foo = MultiBlock(filename)
+    assert foo.n_blocks == multi.n_blocks
+    for block in foo:
+        assert block.array_names == array_names
+    foo = pyvista.read(filename)
+    assert foo.n_blocks == multi.n_blocks
+    for block in foo:
+        assert block.array_names == array_names
+
 
 def test_invalid_arg():
     with pytest.raises(TypeError):
diff --git a/tests/test_filters.py b/tests/test_filters.py
index 83812198..4d67e8ec 100644
--- a/tests/test_filters.py
+++ b/tests/test_filters.py
@@ -1,5 +1,6 @@
 import os
 import sys
+import platform
 
 import numpy as np
 import pytest
@@ -22,6 +23,7 @@ skip_py2_nobind = pytest.mark.skipif(int(sys.version[0]) < 3,
                                      reason="Python 2 doesn't support binding methods")
 
 skip_windows = pytest.mark.skipif(os.name == 'nt', reason="Flaky Windows tests")
+skip_mac = pytest.mark.skipif(platform.system() == 'Darwin', reason="Flaky Mac tests")
 
 
 @pytest.fixture(scope='module')
@@ -51,6 +53,7 @@ def test_clip_filter():
 
 
 @skip_windows
+@skip_mac
 def test_clip_by_scalars_filter():
     """This tests the clip filter on all datatypes available filters"""
     for i, dataset_in in enumerate(DATASETS):

environment.yml
pip install -e .[dev]
parse_log_pytest
environment.yml
pytest pytest-cov pytest-mock pytest-asyncio
apt-get update apt-get install -y libgl1-mesa-dev xvfb
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
appdirs @ file:///home/conda/feedstock_root/build_artifacts/appdirs_1603108395799/work
attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1722977137225/work
backcall @ file:///home/conda/feedstock_root/build_artifacts/backcall_1592338393461/work
backports.functools-lru-cache @ file:///home/conda/feedstock_root/build_artifacts/backports.functools_lru_cache_1702571698061/work
backports.zoneinfo @ file:///home/conda/feedstock_root/build_artifacts/backports.zoneinfo_1629669638040/work
Brotli @ file:///home/conda/feedstock_root/build_artifacts/brotli-split_1648883617327/work
cached-property @ file:///home/conda/feedstock_root/build_artifacts/cached_property_1615209429212/work
certifi @ file:///home/conda/feedstock_root/build_artifacts/certifi_1725278078093/work/certifi
cffi @ file:///home/conda/feedstock_root/build_artifacts/cffi_1636046052501/work
cftime @ file:///home/conda/feedstock_root/build_artifacts/cftime_1649636858592/work
charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1728479282467/work
click @ file:///home/conda/feedstock_root/build_artifacts/click_1651215140632/work
cmocean==2.0
codecov @ file:///home/conda/feedstock_root/build_artifacts/codecov_1681778020913/work
colorama @ file:///home/conda/feedstock_root/build_artifacts/colorama_1666700638685/work
colorcet @ file:///home/conda/feedstock_root/build_artifacts/colorcet_1709713288616/work
colorspacious==1.1.2
comm @ file:///home/conda/feedstock_root/build_artifacts/comm_1710320294760/work
coverage @ file:///home/conda/feedstock_root/build_artifacts/coverage_1652409068862/work
cycler @ file:///home/conda/feedstock_root/build_artifacts/cycler_1635519461629/work
decorator @ file:///home/conda/feedstock_root/build_artifacts/decorator_1641555617451/work
exceptiongroup @ file:///home/conda/feedstock_root/build_artifacts/exceptiongroup_1720869315914/work
fonttools @ file:///home/conda/feedstock_root/build_artifacts/fonttools_1651017735934/work
h5py @ file:///home/conda/feedstock_root/build_artifacts/h5py_1624405626125/work
hypothesis @ file:///home/conda/feedstock_root/build_artifacts/hypothesis_1666731800085/work
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1726459485162/work
imageio @ file:///home/conda/feedstock_root/build_artifacts/imageio_1729190692267/work
imageio-ffmpeg @ file:///home/conda/feedstock_root/build_artifacts/imageio-ffmpeg_1717461632069/work
importlib-metadata @ file:///home/conda/feedstock_root/build_artifacts/importlib-metadata_1653252814274/work
iniconfig @ file:///home/conda/feedstock_root/build_artifacts/iniconfig_1673103042956/work
ipydatawidgets @ file:///home/conda/feedstock_root/build_artifacts/ipydatawidgets_1661357790230/work
ipympl @ file:///home/conda/feedstock_root/build_artifacts/ipympl_1713251546026/work
ipython @ file:///home/conda/feedstock_root/build_artifacts/ipython_1651240553635/work
ipython_genutils @ file:///home/conda/feedstock_root/build_artifacts/ipython_genutils_1716278396992/work
ipywidgets @ file:///home/conda/feedstock_root/build_artifacts/ipywidgets_1724334859652/work
itk-core @ https://pypi.org/packages/cp37/i/itk-core/itk_core-5.2.0-cp37-cp37m-manylinux2014_x86_64.whl
itk-filtering @ https://pypi.org/packages/cp37/i/itk-filtering/itk_filtering-5.2.0-cp37-cp37m-manylinux2014_x86_64.whl
itk-io @ https://pypi.org/packages/cp37/i/itk-io/itk_io-5.2.0-cp37-cp37m-manylinux2014_x86_64.whl
itk-numerics @ https://pypi.org/packages/cp37/i/itk-numerics/itk_numerics-5.2.0-cp37-cp37m-manylinux2014_x86_64.whl
itk-registration @ https://pypi.org/packages/cp37/i/itk-registration/itk_registration-5.2.0-cp37-cp37m-manylinux2014_x86_64.whl
itk-segmentation @ https://pypi.org/packages/cp37/i/itk-segmentation/itk_segmentation-5.2.0-cp37-cp37m-manylinux2014_x86_64.whl
itkwidgets @ file:///home/conda/feedstock_root/build_artifacts/itkwidgets_1597069292888/work
jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1696326070614/work
jupyterlab_widgets @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_widgets_1724331334887/work
kiwisolver @ file:///home/conda/feedstock_root/build_artifacts/kiwisolver_1648854392523/work
loguru @ file:///home/conda/feedstock_root/build_artifacts/loguru_1649442955596/work
matplotlib @ file:///croot/matplotlib-suite_1667356714455/work
matplotlib-inline @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-inline_1713250518406/work
meshio @ file:///home/conda/feedstock_root/build_artifacts/meshio_1622837851801/work
munkres==1.1.4
netCDF4 @ file:///home/conda/feedstock_root/build_artifacts/netcdf4_1630448006762/work
numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1649806299270/work
olefile @ file:///home/conda/feedstock_root/build_artifacts/olefile_1701735466804/work
packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1696202382185/work
parso @ file:///home/conda/feedstock_root/build_artifacts/parso_1712320355065/work
pexpect @ file:///home/conda/feedstock_root/build_artifacts/pexpect_1706113125309/work
pickleshare @ file:///home/conda/feedstock_root/build_artifacts/pickleshare_1602536217715/work
Pillow @ file:///home/conda/feedstock_root/build_artifacts/pillow_1630696604087/work
pluggy @ file:///home/conda/feedstock_root/build_artifacts/pluggy_1648772594554/work
prompt_toolkit @ file:///home/conda/feedstock_root/build_artifacts/prompt-toolkit_1727341649933/work
psutil==7.0.0
ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1609419310487/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
pycparser @ file:///home/conda/feedstock_root/build_artifacts/pycparser_1636257122734/work
pyembree==0.1.6
Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1700607939962/work
pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1724616129934/work
PyQt5==5.12.3
PyQt5_sip==4.19.18
PyQtChart==5.12
PyQtWebEngine==5.12.1
PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1648857264451/work
pytest @ file:///home/conda/feedstock_root/build_artifacts/pytest_1704035161844/work
pytest-asyncio==0.21.2
pytest-cov @ file:///home/conda/feedstock_root/build_artifacts/pytest-cov_1684964868191/work
pytest-memprof==0.2.0
pytest-mock==3.11.1
pytest-qt @ file:///home/conda/feedstock_root/build_artifacts/pytest-qt_1666722740218/work
python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1709299778482/work
-e git+https://github.com/pyvista/pyvista.git@24429a3efbf80df360910a9ac49603d0847513b0#egg=pyvista
requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1716354486713/work
Rtree @ file:///home/conda/feedstock_root/build_artifacts/rtree_1665582585745/work
scooby @ file:///home/conda/feedstock_root/build_artifacts/scooby_1695589260603/work
six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
sortedcontainers @ file:///home/conda/feedstock_root/build_artifacts/sortedcontainers_1621217038088/work
toml @ file:///home/conda/feedstock_root/build_artifacts/toml_1604308577558/work
tomli @ file:///home/conda/feedstock_root/build_artifacts/tomli_1727974628237/work
tornado @ file:///home/conda/feedstock_root/build_artifacts/tornado_1648827244717/work
tqdm @ file:///home/conda/feedstock_root/build_artifacts/tqdm_1732497199771/work
traitlets @ file:///home/conda/feedstock_root/build_artifacts/traitlets_1675110562325/work
traittypes @ file:///home/conda/feedstock_root/build_artifacts/traittypes_1600843364635/work
trimesh @ file:///home/conda/feedstock_root/build_artifacts/trimesh_1732774977662/work
typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1688315532570/work
unicodedata2 @ file:///home/conda/feedstock_root/build_artifacts/unicodedata2_1649111917568/work
urllib3 @ file:///home/conda/feedstock_root/build_artifacts/urllib3_1708239446578/work
vtk==9.0.3
wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1699959196938/work
widgetsnbextension @ file:///home/conda/feedstock_root/build_artifacts/widgetsnbextension_1724331337528/work
zipp @ file:///home/conda/feedstock_root/build_artifacts/zipp_1677313463193/work
zstandard @ file:///home/conda/feedstock_root/build_artifacts/zstandard_1649483036317/work

name: pyvista
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - alsa-lib=1.2.3.2=h166bdaf_0
  - appdirs=1.4.4=pyh9f0ad1d_0
  - attrs=24.2.0=pyh71513ae_0
  - backcall=0.2.0=pyh9f0ad1d_0
  - backports=1.0=pyhd8ed1ab_4
  - backports.functools_lru_cache=2.0.0=pyhd8ed1ab_0
  - backports.zoneinfo=0.2.1=py37h5e8e339_4
  - brotli=1.0.9=h166bdaf_7
  - brotli-bin=1.0.9=h166bdaf_7
  - brotli-python=1.0.9=py37hd23a5d3_7
  - bzip2=1.0.8=h7f98852_4
  - c-ares=1.18.1=h7f98852_0
  - ca-certificates=2025.2.25=h06a4308_0
  - cached-property=1.5.2=hd8ed1ab_1
  - cached_property=1.5.2=pyha770c72_1
  - certifi=2024.8.30=pyhd8ed1ab_0
  - cffi=1.15.0=py37h036bc23_0
  - cftime=1.6.0=py37hda87dfa_1
  - charset-normalizer=3.4.0=pyhd8ed1ab_0
  - click=8.1.3=py37h89c1867_0
  - cmocean=2.0=py_3
  - codecov=2.1.13=pyhd8ed1ab_0
  - colorama=0.4.6=pyhd8ed1ab_0
  - colorcet=3.1.0=pyhd8ed1ab_0
  - colorspacious=1.1.2=pyh24bf2e0_0
  - comm=0.2.2=pyhd8ed1ab_0
  - coverage=6.3.3=py37h540881e_0
  - curl=7.79.1=h2574ce0_1
  - cycler=0.11.0=pyhd8ed1ab_0
  - dbus=1.13.6=h48d8840_2
  - decorator=5.1.1=pyhd8ed1ab_0
  - double-conversion=3.1.7=h9c3ff4c_0
  - eigen=3.4.0=h4bd325d_0
  - embree=2.17.7=ha770c72_3
  - exceptiongroup=1.2.2=pyhd8ed1ab_0
  - expat=2.4.8=h27087fc_0
  - ffmpeg=4.3.2=hca11adc_0
  - fontconfig=2.14.0=h8e229c2_0
  - fonttools=4.33.3=py37h540881e_0
  - freetype=2.12.1=h4a9f257_0
  - gettext=0.19.8.1=h73d1719_1008
  - gl2ps=1.4.2=h0708190_0
  - glew=2.1.0=h9c3ff4c_2
  - glib=2.68.4=h9c3ff4c_1
  - glib-tools=2.68.4=h9c3ff4c_1
  - gmp=6.2.1=h58526e2_0
  - gnutls=3.6.13=h85f3911_1
  - gst-plugins-base=1.18.5=hf529b03_0
  - gstreamer=1.18.5=h76c114f_0
  - h5py=3.3.0=nompi_py37ha3df211_100
  - hdf4=4.2.15=h10796ff_3
  - hdf5=1.10.6=nompi_h6a2412b_1114
  - hypothesis=6.56.3=py37h89c1867_1
  - icu=68.2=h9c3ff4c_0
  - idna=3.10=pyhd8ed1ab_0
  - imageio=2.36.0=pyh12aca89_1
  - imageio-ffmpeg=0.5.1=pyhd8ed1ab_0
  - importlib-metadata=4.11.4=py37h89c1867_0
  - importlib_metadata=4.11.4=hd8ed1ab_0
  - iniconfig=2.0.0=pyhd8ed1ab_0
  - ipydatawidgets=4.3.2=pyhc268e32_0
  - ipympl=0.9.4=pyhd8ed1ab_0
  - ipython=7.33.0=py37h89c1867_0
  - ipython_genutils=0.2.0=pyhd8ed1ab_1
  - ipywidgets=8.1.5=pyhd8ed1ab_0
  - itk=5.2.0=py37h6531663_0
  - itkwidgets=0.32.0=py37hc8dfbb8_0
  - jbig=2.1=h7f98852_2003
  - jedi=0.19.1=pyhd8ed1ab_0
  - jpeg=9e=h166bdaf_1
  - jsoncpp=1.9.4=h4bd325d_3
  - jupyterlab_widgets=3.0.13=pyhd8ed1ab_0
  - keyutils=1.6.1=h166bdaf_0
  - kiwisolver=1.4.2=py37h7cecad7_1
  - krb5=1.19.3=h3790be6_0
  - lame=3.100=h7f98852_1001
  - lcms2=2.12=hddcbb42_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - lerc=2.2.1=h9c3ff4c_0
  - libblas=3.9.0=16_linux64_openblas
  - libbrotlicommon=1.0.9=h166bdaf_7
  - libbrotlidec=1.0.9=h166bdaf_7
  - libbrotlienc=1.0.9=h166bdaf_7
  - libcblas=3.9.0=16_linux64_openblas
  - libclang=11.1.0=default_ha53f305_1
  - libcurl=7.79.1=h2574ce0_1
  - libdeflate=1.7=h7f98852_5
  - libedit=3.1.20191231=he28a2e2_2
  - libev=4.33=h516909a_1
  - libevent=2.1.10=h9b69904_4
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgfortran-ng=13.2.0=h69a702a_0
  - libgfortran5=13.2.0=ha4646dd_0
  - libglib=2.68.4=h174f98d_1
  - libglu=9.0.0=he1b5a44_1001
  - libgomp=11.2.0=h1234567_1
  - libiconv=1.17=h166bdaf_0
  - liblapack=3.9.0=16_linux64_openblas
  - libllvm11=11.1.0=hf817b99_2
  - libnetcdf=4.8.1=nompi_hcd642e3_100
  - libnghttp2=1.43.0=h812cca2_1
  - libogg=1.3.4=h7f98852_1
  - libopenblas=0.3.21=h043d6bf_0
  - libopus=1.3.1=h7f98852_1
  - libpng=1.6.37=h21135ba_2
  - libpq=13.3=hd57d9b9_0
  - libspatialindex=1.9.3=h9c3ff4c_4
  - libssh2=1.10.0=ha56f1ee_2
  - libstdcxx-ng=11.2.0=h1234567_1
  - libtheora=1.1.1=h7f98852_1005
  - libtiff=4.3.0=hf544144_1
  - libuuid=2.32.1=h7f98852_1000
  - libvorbis=1.3.7=h9c3ff4c_0
  - libwebp-base=1.2.2=h7f98852_1
  - libxcb=1.13=h7f98852_1004
  - libxkbcommon=1.0.3=he3ba5ed_0
  - libxml2=2.9.12=h72842e0_0
  - libzip=1.8.0=h4de3113_1
  - loguru=0.6.0=py37h89c1867_1
  - lz4-c=1.9.3=h9c3ff4c_1
  - matplotlib=3.5.3=py37h89c1867_2
  - matplotlib-base=3.5.3=py37hf590b9c_0
  - matplotlib-inline=0.1.7=pyhd8ed1ab_0
  - meshio=4.4.6=pyhd8ed1ab_0
  - munkres=1.1.4=pyh9f0ad1d_0
  - mysql-common=8.0.25=ha770c72_2
  - mysql-libs=8.0.25=hfa10184_2
  - ncurses=6.4=h6a678d5_0
  - netcdf4=1.5.7=nompi_py37h078fd70_101
  - nettle=3.6=he412f7d_0
  - nspr=4.32=h9c3ff4c_1
  - nss=3.69=hb5efdd6_1
  - numpy=1.21.6=py37h976b520_0
  - olefile=0.47=pyhd8ed1ab_0
  - openh264=2.1.1=h780b84a_0
  - openjpeg=2.4.0=hb52868f_1
  - openssl=1.1.1w=h7f8727e_0
  - packaging=23.2=pyhd8ed1ab_0
  - parso=0.8.4=pyhd8ed1ab_0
  - pcre=8.45=h9c3ff4c_0
  - pexpect=4.9.0=pyhd8ed1ab_0
  - pickleshare=0.7.5=py_1003
  - pillow=8.3.2=py37h0f21c89_0
  - pip=24.0=pyhd8ed1ab_0
  - pluggy=1.0.0=py37h89c1867_3
  - proj=8.1.1=h277dcde_2
  - prompt-toolkit=3.0.48=pyha770c72_0
  - pthread-stubs=0.4=h36c2ea0_1001
  - ptyprocess=0.7.0=pyhd3deb0d_0
  - pugixml=1.11.4=h9c3ff4c_0
  - pycparser=2.21=pyhd8ed1ab_0
  - pyembree=0.1.6=py37h0da4684_1
  - pygments=2.17.2=pyhd8ed1ab_0
  - pyparsing=3.1.4=pyhd8ed1ab_0
  - pyqt=5.12.3=py37h89c1867_8
  - pyqt-impl=5.12.3=py37hac37412_8
  - pyqt5-sip=4.19.18=py37hcd2ae1e_8
  - pyqtchart=5.12=py37he336c9b_8
  - pyqtwebengine=5.12.1=py37he336c9b_8
  - pysocks=1.7.1=py37h89c1867_5
  - pytest=7.4.4=pyhd8ed1ab_0
  - pytest-cov=4.1.0=pyhd8ed1ab_0
  - pytest-qt=4.2.0=pyhd8ed1ab_0
  - python=3.7.16=h7a1cb2a_0
  - python-dateutil=2.9.0=pyhd8ed1ab_0
  - python_abi=3.7=2_cp37m
  - qt=5.12.9=hda022c4_4
  - readline=8.2=h5eee18b_0
  - requests=2.32.2=pyhd8ed1ab_0
  - rtree=1.0.1=py37h0b55af0_0
  - scooby=0.7.3=pyhd8ed1ab_0
  - setuptools=65.6.3=py37h06a4308_0
  - six=1.16.0=pyh6c4a22f_0
  - sortedcontainers=2.4.0=pyhd8ed1ab_0
  - sqlite=3.45.3=h5eee18b_0
  - tbb=2020.2=h4bd325d_4
  - tbb-devel=2020.2=h4bd325d_4
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd8ed1ab_0
  - tomli=2.0.2=pyhd8ed1ab_0
  - tornado=6.1=py37h540881e_3
  - tqdm=4.67.1=pyhd8ed1ab_0
  - traitlets=5.9.0=pyhd8ed1ab_0
  - traittypes=0.2.1=pyh9f0ad1d_2
  - trimesh=4.5.3=pyhd8ed1ab_0
  - typing-extensions=4.7.1=hd8ed1ab_0
  - typing_extensions=4.7.1=pyha770c72_0
  - tzdata=2025b=h78e105d_0
  - unicodedata2=14.0.0=py37h540881e_1
  - urllib3=2.2.1=pyhd8ed1ab_0
  - utfcpp=4.0.6=h005c6e1_0
  - vtk=9.0.3=no_osmesa_py37h5ae51c6_104
  - wcwidth=0.2.10=pyhd8ed1ab_0
  - wheel=0.38.4=py37h06a4308_0
  - widgetsnbextension=4.0.13=pyhd8ed1ab_0
  - x264=1!161.3030=h7f98852_1
  - xorg-kbproto=1.0.7=h7f98852_1002
  - xorg-libice=1.0.10=h7f98852_0
  - xorg-libsm=1.2.3=hd9c2040_1000
  - xorg-libx11=1.7.2=h7f98852_0
  - xorg-libxau=1.0.9=h7f98852_0
  - xorg-libxdmcp=1.1.3=h7f98852_0
  - xorg-libxext=1.3.4=h7f98852_1
  - xorg-libxt=1.2.1=h7f98852_2
  - xorg-xextproto=7.3.0=h7f98852_1002
  - xorg-xproto=7.0.31=h7f98852_1007
  - xz=5.6.4=h5eee18b_1
  - zipp=3.15.0=pyhd8ed1ab_0
  - zlib=1.2.13=h5eee18b_1
  - zstandard=0.17.0=py37h540881e_1
  - zstd=1.5.0=ha95c52a_0
  - pip:
      - itk-core==5.2.0
      - itk-filtering==5.2.0
      - itk-numerics==5.2.0
      - itk-registration==5.2.0
      - itk-segmentation==5.2.0
      - psutil==7.0.0
      - pytest-asyncio==0.21.2
      - pytest-memprof==0.2.0
      - pytest-mock==3.11.1
prefix: /opt/conda/envs/pyvista

tests/test_composite.py::test_ensight_multi_block_io[vtm-True] tests/test_composite.py::test_ensight_multi_block_io[vtm-False] tests/test_composite.py::test_ensight_multi_block_io[vtmb-True] tests/test_composite.py::test_ensight_multi_block_io[vtmb-False]
tests/test_composite.py::test_multi_block_init_vtk tests/test_composite.py::test_multi_block_init_dict tests/test_composite.py::test_multi_block_keys tests/test_composite.py::test_multi_block_init_list tests/test_composite.py::test_multi_block_append tests/test_composite.py::test_multi_block_set_get_ers tests/test_composite.py::test_multi_block_clean tests/test_composite.py::test_multi_block_repr tests/test_composite.py::test_multi_block_io[True-.vtm-True] tests/test_composite.py::test_multi_block_io[True-.vtm-False] tests/test_composite.py::test_multi_block_io[True-.vtmb-True] tests/test_composite.py::test_multi_block_io[True-.vtmb-False] tests/test_composite.py::test_multi_block_io[False-.vtm-True] tests/test_composite.py::test_multi_block_io[False-.vtm-False] tests/test_composite.py::test_multi_block_io[False-.vtmb-True] tests/test_composite.py::test_multi_block_io[False-.vtmb-False] tests/test_composite.py::test_invalid_arg tests/test_composite.py::test_multi_io_erros tests/test_composite.py::test_extract_geometry tests/test_composite.py::test_combine_filter tests/test_composite.py::test_multi_block_copy tests/test_composite.py::test_multi_block_negative_index tests/test_composite.py::test_multi_slice_index tests/test_composite.py::test_multi_block_list_index tests/test_composite.py::test_multi_block_volume tests/test_composite.py::test_multi_block_length tests/test_composite.py::test_multi_block_save_lines tests/test_composite.py::test_multi_block_data_range tests/test_filters.py::test_datasetfilters_init tests/test_filters.py::test_clip_filter tests/test_filters.py::test_clip_by_scalars_filter tests/test_filters.py::test_clip_filter_composite tests/test_filters.py::test_clip_box tests/test_filters.py::test_clip_box_composite tests/test_filters.py::test_clip_surface tests/test_filters.py::test_clip_closed_surface tests/test_filters.py::test_implicit_distance tests/test_filters.py::test_slice_filter tests/test_filters.py::test_slice_filter_composite tests/test_filters.py::test_slice_orthogonal_filter tests/test_filters.py::test_slice_orthogonal_filter_composite tests/test_filters.py::test_slice_along_axis tests/test_filters.py::test_slice_along_axis_composite tests/test_filters.py::test_threshold tests/test_filters.py::test_threshold_percent tests/test_filters.py::test_outline tests/test_filters.py::test_outline_composite tests/test_filters.py::test_outline_corners tests/test_filters.py::test_outline_corners_composite tests/test_filters.py::test_extract_geometry tests/test_filters.py::test_wireframe tests/test_filters.py::test_wireframe_composite tests/test_filters.py::test_delaunay_2d tests/test_filters.py::test_contour[contour] tests/test_filters.py::test_contour[marching_cubes] tests/test_filters.py::test_contour[flying_edges] tests/test_filters.py::test_contour_errors tests/test_filters.py::test_elevation tests/test_filters.py::test_elevation_composite tests/test_filters.py::test_texture_map_to_plane tests/test_filters.py::test_texture_map_to_sphere tests/test_filters.py::test_compute_cell_sizes tests/test_filters.py::test_compute_cell_sizes_composite tests/test_filters.py::test_cell_centers tests/test_filters.py::test_cell_centers_composite tests/test_filters.py::test_glyph tests/test_filters.py::test_split_and_connectivity tests/test_filters.py::test_warp_by_scalar tests/test_filters.py::test_warp_by_vector tests/test_filters.py::test_invalid_warp_scalar tests/test_filters.py::test_invalid_warp_scalar_inplace tests/test_filters.py::test_invalid_warp_vector tests/test_filters.py::test_cell_data_to_point_data tests/test_filters.py::test_cell_data_to_point_data_composite tests/test_filters.py::test_point_data_to_cell_data tests/test_filters.py::test_point_data_to_cell_data_composite tests/test_filters.py::test_triangulate tests/test_filters.py::test_triangulate_composite tests/test_filters.py::test_delaunay_3d tests/test_filters.py::test_smooth tests/test_filters.py::test_resample tests/test_filters.py::test_probe[True-True] tests/test_filters.py::test_probe[True-False] tests/test_filters.py::test_probe[False-True] tests/test_filters.py::test_probe[False-False] tests/test_filters.py::test_streamlines_dir[forward] tests/test_filters.py::test_streamlines_dir[backward] tests/test_filters.py::test_streamlines_dir[both] tests/test_filters.py::test_streamlines_type[2] tests/test_filters.py::test_streamlines_type[4] tests/test_filters.py::test_streamlines_type[45] tests/test_filters.py::test_streamlines tests/test_filters.py::test_sample_over_line tests/test_filters.py::test_plot_over_line tests/test_filters.py::test_slice_along_line tests/test_filters.py::test_extract_points tests/test_filters.py::test_slice_along_line_composite tests/test_filters.py::test_interpolate tests/test_filters.py::test_select_enclosed_points tests/test_filters.py::test_decimate_boundary tests/test_filters.py::test_merge_general tests/test_filters.py::test_compute_cell_quality tests/test_filters.py::test_compute_gradients tests/test_filters.py::test_compute_derivatives tests/test_filters.py::test_extract_subset tests/test_filters.py::test_poly_data_strip tests/test_filters.py::test_shrink
pyvista/examples/downloads.py pyvista/utilities/fileio.py pyvista/core/common.py pyvista/plotting/plotting.py pyvista/core/composite.py
pyvista/examples/downloads.py pyvista/utilities/fileio.py pyvista/core/common.py pyvista/plotting/plotting.py pyvista/core/composite.py