diff --git a/itkwidgets/integrations/environment.py b/itkwidgets/integrations/environment.py index 0b976b8..ffc8454 100644 --- a/itkwidgets/integrations/environment.py +++ b/itkwidgets/integrations/environment.py @@ -1,5 +1,7 @@ from enum import Enum from importlib import import_module +from packaging import version +import importlib_metadata import sys @@ -28,7 +30,6 @@ def find_env(): else: return Env.SAGEMAKER except: - import sys if sys.platform == 'emscripten': return Env.JUPYTERLITE return Env.HYPHA @@ -38,6 +39,15 @@ def find_env(): if ENVIRONMENT is not Env.JUPYTERLITE and ENVIRONMENT is not Env.HYPHA: if ENVIRONMENT is not Env.COLAB: + if ENVIRONMENT is Env.JUPYTER_NOTEBOOK: + notebook_version = importlib_metadata.version('notebook') + if version.parse(notebook_version) < version.parse('7'): + raise RuntimeError('itkwidgets 1.0a51 and newer requires Jupyter notebook>=7.') + elif ENVIRONMENT is Env.JUPYTERLAB: + lab_version = importlib_metadata.version('jupyterlab') + if version.parse(lab_version) < version.parse('4'): + raise RuntimeError('itkwidgets 1.0a51 and newer requires jupyterlab>=4.') + try: import_module("imjoy-jupyterlab-extension") except ModuleNotFoundError: