-
Notifications
You must be signed in to change notification settings - Fork 5
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
Lab 3 migration #17
Comments
Hello @jeffyjefflabs, Very good description, if you don't mind I will quote it in the upstream ticket 😄. I will definitely keep an eye 👀 here since I could get a lot of information. |
Thanks! Yeah, feel free to quote. We have both Lab and Notebook users, so we had a brief moment of panic after reading the Lab 3 release notes thinking we couldn't run both simultaneously -- fortunately there's been a lot of effort into compatibility in both directions. |
Docs:
Some terminology, to avoid confusion:
In Lab 2, Lab was an old-server extension, so launching
jupyter notebook
andjupyter lab
were essentially equivalent, giving you a notebook server with both front-ends running as old-server extensions.In Lab 3, Lab is now a new-server extension, so if you launch
jupyter lab
you get the new jupyter_server backend, with the Lab UI running as a new-server extension, and the Notebook UI running via nbclassic. Any old-server extensions you had configured for the notebook back-end will get translated into new-server extensions -- however this process is not perfect and may not work for all old-server extensions (e.g. the nbextensions configurator). You may also see console warnings encouraging you to update old-server extensions to the new-server extension API. Also note that the new back-end uses a different configuration file.In Lab 3, Lab is also still able to run as an old-server extension, so if you launch
jupyter notebook
you get the old notebook back-end with both front ends, just like in Lab 2. So everything works just like it did before, for now.In Lab 3, you can also add the jupyterlab-classic extension, which looks similar to the Notebook UI but is built from the ground up using Lab components.
Now, several things are "deprecated" -- maybe not in a formal sense with dates and timelines, but there may come a time when something breaks and the maintainers decide it's no longer worth fixing. These are the capabilities that should be considered deprecated:
notebook
itself, although since this is back-end and front-end in one package, this is more likely to just not be maintained rather than to outright breakThe implication of (1) and (3) together is that eventually the Lab UI and the Notebook UI may be mutually exclusive, and the implication of (4) is that we should prepare users for the eventual demise of the Notebook UI (which is where jupyterlab-classic and Lab's simple mode come in).
Similar to the strategy of the upstream jupyter/docker-stacks image, the migration path probably looks like this:
jupyter lab
entrypoint but still default tojupyter notebook
, with the goal of providing the same user experience on top of either back-end (I've started this in the lab3 branch)jupyter lab
, using nbclassic for backward compatibility and jupyterlab-classic to help transition usersjupyter notebook
entrypointWe don't necessarily have to do this on the same timeline as the upstream image, but we might have to override their defaults. The only thing I see forcing our hand on any of the steps is if some of the deprecated capabilities actually stop working.
The text was updated successfully, but these errors were encountered: