Skip to content

JupyterLab 3.0 #1207

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
2 of 3 tasks
romainx opened this issue Dec 29, 2020 · 3 comments · Fixed by #1222
Closed
2 of 3 tasks

JupyterLab 3.0 #1207

romainx opened this issue Dec 29, 2020 · 3 comments · Fixed by #1222
Assignees
Labels
type:Enhancement A proposed enhancement to the docker images

Comments

@romainx
Copy link
Collaborator

romainx commented Dec 29, 2020

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.

jupyter nbextension enable --py widgetsnbextension --sys-prefix && \
# Also activate ipywidgets extension for JupyterLab
# Check this URL for most recent compatibilities
# https://github.com/jupyter-widgets/ipywidgets/tree/master/packages/jupyterlab-manager
jupyter labextension install @jupyter-widgets/jupyterlab-manager@^2.0.0 --no-build && \
jupyter labextension install @bokeh/jupyter_bokeh@^2.0.0 --no-build && \
jupyter labextension install jupyter-matplotlib@^0.7.2 --no-build && \
jupyter lab build -y && \
jupyter lab clean -y && \
npm cache clean --force && \

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.

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

@romainx romainx changed the title Deprecate and remove Jupyter Notebook support Upgrade to JupyterLab 3.0 and deprecate Jupyter Notebook support Dec 31, 2020
@romainx romainx added the type:Enhancement A proposed enhancement to the docker images label Dec 31, 2020
@romainx romainx pinned this issue Jan 8, 2021
@romainx romainx changed the title Upgrade to JupyterLab 3.0 and deprecate Jupyter Notebook support JupyterLab 3.0 and deprecate Notebook support Jan 8, 2021
@romainx romainx changed the title JupyterLab 3.0 and deprecate Notebook support JupyterLab 3.0 Jan 18, 2021
@jeffyjefflabs
Copy link
Contributor

Clarification question... I was following the discussion in #1209, and the decision to keep notebook as the default entrypoint until April seems reasonable. However, based on the plan described here, does that mean you're planning to keep jupyterlab pinned to version 2 until then as well? Lab 3 does still run as a serverextension on the old notebook back-end, even though it's not "preferred" -- so you could update to Lab 3 while still keeping notebook as the default until April. You're maintaining a much deeper stack than we are though, so maybe that would cause other issues that we haven't seen. (And I suppose there's a risk of Lab doing something to break that backward compatibility, although that seems unlikely in this timeframe.)

@romainx
Copy link
Collaborator Author

romainx commented Jan 21, 2021

Hello @jeffyjefflabs,

Sorry my last comment is confusing and not up to date according to the decisions we made summarize in #1217. I have removed it since it was useless and outdated.

So to answer your questions.

However, based on the plan described here, does that mean you're planning to keep jupyterlab pinned to version 2 until then as well?

No we were just waiting a bit because some of the extension we are using in scipy-notebook were not working with JupyterLab 3.0. At the time of writing only bokeh seems to not be supported. So I have planned to draft a PR for the upgrade this weekend because it seems reasonable now even without 1 of the 3 extensions installed.

Lab 3 does still run as a serverextension on the old notebook back-end, even though it's not "preferred" -- so you could update to Lab 3 while still keeping notebook as the default until April.

Yes you're right and we know it's working. I confirm that it's exactly what we plan to do. I plan to do it this weekend.

I hope is clearer now. Thanks for sharing this information with us.
Best

@romainx romainx self-assigned this Jan 21, 2021
@jeffyjefflabs
Copy link
Contributor

Excellent! Thanks for the update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:Enhancement A proposed enhancement to the docker images
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants