66
77
88class Env (Enum ):
9- JUPYTER_NOTEBOOK = 'notebook'
10- JUPYTERLAB = 'lab'
9+ JUPYTER = 'jupyter'
1110 JUPYTERLITE = 'lite'
1211 SAGEMAKER = 'sagemaker'
1312 HYPHA = 'hypha'
@@ -24,9 +23,7 @@ def find_env():
2423 parent_header = get_ipython ().parent_header
2524 username = parent_header ['header' ]['username' ]
2625 if username == '' :
27- return Env .JUPYTERLAB
28- elif username == 'username' :
29- return Env .JUPYTER_NOTEBOOK
26+ return Env .JUPYTER
3027 else :
3128 return Env .SAGEMAKER
3229 except :
@@ -39,15 +36,21 @@ def find_env():
3936
4037if ENVIRONMENT is not Env .JUPYTERLITE and ENVIRONMENT is not Env .HYPHA :
4138 if ENVIRONMENT is not Env .COLAB :
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-
39+ if ENVIRONMENT is Env .JUPYTER :
40+ try :
41+ notebook_version = importlib_metadata .version ('notebook' )
42+ if version .parse (notebook_version ) < version .parse ('7' ):
43+ raise RuntimeError ('itkwidgets 1.0a51 and newer requires Jupyter notebook>=7.' )
44+ except importlib_metadata .PackageNotFoundError :
45+ # notebook may not be available
46+ pass
47+ try :
48+ lab_version = importlib_metadata .version ('jupyterlab' )
49+ if version .parse (lab_version ) < version .parse ('4' ):
50+ raise RuntimeError ('itkwidgets 1.0a51 and newer requires jupyterlab>=4.' )
51+ except importlib_metadata .PackageNotFoundError :
52+ # jupyterlab may not be available
53+ pass
5154 try :
5255 import_module ("imjoy-jupyterlab-extension" )
5356 except ModuleNotFoundError :
0 commit comments