Description
Hello,
JupyterLab 3.0.0
introduces major changes that could impact:
- the compatibility between Jupyter Notebook and JupyterLab,
- the way extensions are managed.
Terminology
Very good status taken from nbgallery/docker-images#17
Some terminology, to avoid confusion:
Jupyter back-end options:
- notebook server, which supports "serverextensions" (no space) that I'll refer to as old-server extensions
- jupyter_server, which supports "server extensions" (space) that I'll refer to as new-server extensions
Jupyter front-end options:
- notebook - the traditional UI, often called "classic" -- but since I'm about to mention two other "classic" projects, I'll call it "Notebook UI" for clarity
- lab - the next-gen UI
- jupyterlab-classic - the look and feel of the Notebook UI but built with Lab components
Compatibility layers:
- nbclassic - provides the Notebook UI as a new-server extension and also translates old-server extensions into new-server extensions. (To be clear, this isn't just something that looks like the Notebook UI, it is literally the same code, running through the compatibility layer.)
Impact
Jupyter Notebook and JupyterLab
Jupyter Notebook is deprecated and it is advised to transition to JupyterLab.
Please note that this repository is currently maintained by a skeleton crew of maintainers from the Jupyter community. We encourage users to transition to JupyterLab, where more immediate support can occur.
See dedicated issue #1217.
Extensions
According to the JupyterLab changelog
Extensions can be installed without building JupyterLab with NodeJS
In JupyterLab 3.0, a new recommended way of distributing and installing extensions as Python pip or conda packages is available. Installing such extensions does not require rebuilding JupyterLab and does not require having NodeJS installed. The previous way of distributing extensions as npm packages requiring rebuilding JupyterLab is still available as well. See the documentation for more details.
We should manage extension differently in scipy-notebook
.
docker-stacks/scipy-notebook/Dockerfile
Lines 50 to 59 in d113a60
This issue summarizes in a table the extensions currently compliant with the new version and here is the list of extensions used in scipy-notebook
.
-
ipywidgets
: Update for JupyterLab 3 jupyter-widgets/ipywidgets#29737.6
-
jupyter-matplotlib
: JupyterLab 3 update matplotlib/ipympl#2720.6.1
-
bokeh
: [FEATURE] JupyterLab 3 dynamic extension loading bokeh/bokeh#10569
JupyterHub
There is also something to check with JupyterHub since the stacks permit to launch jupyterhub-singleuser
. It think it's well summarized in jupyterhub/jupyterhub#2984 and this comment.
Best