diff --git a/.github/workflows/subsurface.yml b/.github/workflows/subsurface.yml index 458b6b492c..7bc11739c2 100644 --- a/.github/workflows/subsurface.yml +++ b/.github/workflows/subsurface.yml @@ -55,7 +55,7 @@ jobs: pip install "pytest<7.2.0" pip install "pytest-xdist<3.0" pip install "xtgeo<2.20.2" - pip install . + pip install .[vtk] # Testing against our latest release (including pre-releases) pip install --pre --upgrade webviz-config webviz-core-components webviz-subsurface-components diff --git a/setup.py b/setup.py index 13ecf6634a..05c54733dd 100644 --- a/setup.py +++ b/setup.py @@ -18,6 +18,10 @@ "types-pyyaml", ] +VTK_REQUIRE = [ + "vtk>=9.2.2", + "webviz_vtk@git+https://github.com/equinor/webviz-vtk", +] # pylint: disable=line-too-long setup( name="webviz-subsurface", @@ -103,13 +107,11 @@ "scipy>=1.2", "statsmodels>=0.12.1", # indirect dependency through https://plotly.com/python/linear-fits/ "xtgeo>=2.20.0", - "vtk>=9.2.2", - "webviz_vtk@git+https://github.com/equinor/webviz-vtk", "webviz-config>=0.5", "webviz-core-components>=0.6", "webviz-subsurface-components>=0.4.14", ], - extras_require={"tests": TESTS_REQUIRE}, + extras_require={"tests": TESTS_REQUIRE, "vtk": VTK_REQUIRE}, setup_requires=["setuptools_scm~=3.2"], python_requires="~=3.8", use_scm_version=True, diff --git a/webviz_subsurface/plugins/_grid_viewer_fmu/_plugin.py b/webviz_subsurface/plugins/_grid_viewer_fmu/_plugin.py index 4df11687d4..fbaa2c2d4f 100644 --- a/webviz_subsurface/plugins/_grid_viewer_fmu/_plugin.py +++ b/webviz_subsurface/plugins/_grid_viewer_fmu/_plugin.py @@ -2,14 +2,17 @@ from webviz_config import WebvizPluginABC, WebvizSettings -from webviz_subsurface._providers.ensemble_grid_provider import ( - EnsembleGridProvider, - EnsembleGridProviderFactory, - GridVizService, -) - -from ._layout_elements import ElementIds -from .views.view_3d._view_3d import View3D +try: + from webviz_subsurface._providers.ensemble_grid_provider import ( + EnsembleGridProvider, + EnsembleGridProviderFactory, + GridVizService, + ) + + from ._layout_elements import ElementIds + from .views.view_3d._view_3d import View3D +except ImportError: + pass class EXPERIMENTALGridViewerFMU(WebvizPluginABC):