-
Notifications
You must be signed in to change notification settings - Fork 361
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
Update to JupyterLab 3.0 #996
Conversation
I've opened #997 to update the extension in this repo to 0.2.0. Based on the discussion in jupyterhub/zero-to-jupyterhub-k8s#776 (comment) this PR probably won't be merged straight away, so updating just the extension now will make it easier for anyone who choose to upgrade to JupyterLab 3. The conda-forge PR is in progress conda-forge/jupyter-offlinenotebook-feedstock#2 |
FYI the failing Figshare CI test is not due to this PR #999 |
Thanks @manics! Yes it makes sense to first update |
Do you think we should add all language packs too? I presume there'll be no significant impact on image size or build time. Is there a way to add all languages in one go? |
Not sure the language packs have been published to PyPI yet, so maybe they could be added later if needed? Or document how users could add the language packs of their choice just like other dependencies since they should be pip installable. |
Thanks for starting this PR only hours after the release :D As I understand it lab extensions that work with lab v2 won't work with v3 unless they are upgraded. Is that correct? Does someone know if all the extensions repo2docker uses (in particular nbresuse) are already compatible with lab v3? A big task we need to tackle is how to transition repositories that rely on repo2docker using lab v2. In particular there are repos which install lab extensions but don't specify the version of lab that they want (or specify it not well enough). This is partly our fault because we recommend to people not to include things like lab in their The ideal case would be that they "just keep working". I'm not sure we can achieve that, even if we reach to the very back of our bag of magic tricks. Maybe some compromise we can actually implement is to detect that the repo isn't compatible, stop running and exit with a clear error message that links to documentation that explains how to get the repo working again. Something I think is not acceptable is that these repos break with some random (long) error message. This is because repo2docker "sells" itself as a tool for making your work reproducible. Maybe there are other options that we can think of that make this change as frictionless as possible for users. |
Right, although most extensions could start with the compatibility range update and publish a new release: https://jupyterlab.readthedocs.io/en/stable/extension/extension_migration.html#upgrading-library-versions-manually
Fortunately, lab checks whether the extension is compatible before installing it. So if there is an extension that has been published to work with 2 and 3, lab will pick the correct one.
I think this should already happen if the
|
Eventually most lab extensions will switch to the new distribution system and will be bundled in the Python package. Which would make the use of |
With the figshare tests fixed by #1001, I think we should consider landing this one. It's a big change and there will likely be some repos with extensions that get caught out, but they should be able to add pins for jlab 2.x and/or update compatibility and be okay. lab 3.0 is a big win for repo2docker with build times, so I think we should land this sooner rather than later. |
Just rebased, and updated to the latest |
Would you mind updating If there are no objections from anyone else to getting this merged ASAP I'll close #997 since the main motivation for that PR was to make it easy for users wanting to update to JupyterLab 3 in their requirements/environment files ahead of R2D. |
The failing unit test in this PR is also failing on master: https://github.com/jupyterhub/repo2docker/runs/1885401808
|
Sure, will do 👍 |
test_env is getting flaky (#1008) and shouldn't block this PR. It's the only failure |
I've added this to the agenda for tomorrow's JupyterHub meeting: https://hackmd.io/YpwhVwbSSpCG19I0JNpqjQ |
It would be amazing for this to land! |
Thanks @manics, happy to join tomorrow's meeting to discuss the PR if needed. |
Nice, thanks @minrk for posting the benchmark! |
Wow, this is amazing. I don't understand why we still see "install mamba" in the benchmark, since we use mambaforge. |
Hum, yes, it may just come from the mamba update... |
Fixes #935
Opening early to start using JupyterLab 3.0 by default and leverage the new extension distribution system for faster builds.
TODO
nbresuse
tojupyter-resource-usage
pip freeze.py
jupyter-offlinenotebook==0.2.0
jupyter-offlinenotebook
for conda forge? Package for conda forge manics/jupyter-offlinenotebook#154