Skip to content

Commit 2d051a4

Browse files
authored
Merge pull request #745 from thewtex/jupyter-notebook-7
jupyter notebook 7
2 parents 5d83f28 + d9b4585 commit 2d051a4

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

itkwidgets/integrations/environment.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from enum import Enum
22
from importlib import import_module
3+
from packaging import version
4+
import importlib_metadata
35
import sys
46

57

@@ -28,7 +30,6 @@ def find_env():
2830
else:
2931
return Env.SAGEMAKER
3032
except:
31-
import sys
3233
if sys.platform == 'emscripten':
3334
return Env.JUPYTERLITE
3435
return Env.HYPHA
@@ -38,22 +39,25 @@ def find_env():
3839

3940
if ENVIRONMENT is not Env.JUPYTERLITE and ENVIRONMENT is not Env.HYPHA:
4041
if ENVIRONMENT is not Env.COLAB:
41-
if ENVIRONMENT is Env.JUPYTER_NOTEBOOK and sys.version_info.minor > 7:
42-
try:
43-
import imjoy_jupyter_extension
44-
except:
45-
raise RuntimeError('imjoy-jupyter-extension is required. `pip install itkwidgets[notebook]` and refresh page.')
46-
else:
42+
if ENVIRONMENT is Env.JUPYTER_NOTEBOOK:
43+
notebook_version = importlib_metadata.version('notebook')
44+
if version.parse(notebook_version) < version.parse('7'):
45+
raise RuntimeError('itkwidgets 1.0a51 and newer requires Jupyter notebook>=7.')
46+
elif ENVIRONMENT is Env.JUPYTERLAB:
47+
lab_version = importlib_metadata.version('jupyterlab')
48+
if version.parse(lab_version) < version.parse('4'):
49+
raise RuntimeError('itkwidgets 1.0a51 and newer requires jupyterlab>=4.')
50+
51+
try:
52+
import_module("imjoy-jupyterlab-extension")
53+
except ModuleNotFoundError:
4754
try:
48-
import_module("imjoy-jupyterlab-extension")
55+
import_module("imjoy_jupyterlab_extension")
4956
except ModuleNotFoundError:
50-
try:
51-
import_module("imjoy_jupyterlab_extension")
52-
except ModuleNotFoundError:
53-
if ENVIRONMENT is Env.JUPYTERLITE:
54-
raise RuntimeError('imjoy-jupyterlab-extension is required. Install the package and refresh page.')
55-
elif sys.version_info.minor > 7:
56-
raise RuntimeError('imjoy-jupyterlab-extension is required. `pip install itkwidgets[lab]` and refresh page.')
57+
if ENVIRONMENT is Env.JUPYTERLITE:
58+
raise RuntimeError('imjoy-jupyterlab-extension is required. Install the package and refresh page.')
59+
elif sys.version_info.minor > 7:
60+
raise RuntimeError('imjoy-jupyterlab-extension is required. `pip install itkwidgets[lab]` and refresh page.')
5761

5862
try:
5963
import imjoy_elfinder

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ Source = "https://github.com/InsightSoftwareConsortium/itkwidgets"
6464
all = [
6565
"imjoy-jupyterlab-extension",
6666
"imjoy-elfinder[jupyter]",
67-
"imjoy-jupyter-extension",
6867
"aiohttp <4.0"
6968
]
7069
lab = [
@@ -82,7 +81,7 @@ cli = [
8281
]
8382

8483
notebook = [
85-
"imjoy-jupyter-extension >=0.3.0",
84+
"imjoy-jupyterlab-extension",
8685
"imjoy-elfinder[jupyter]"
8786
]
8887
test = [

0 commit comments

Comments
 (0)