Skip to content
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 #102

Merged
merged 14 commits into from
Feb 23, 2021
Merged

Update to JupyterLab 3.0 #102

merged 14 commits into from
Feb 23, 2021

Conversation

jtpio
Copy link
Member

@jtpio jtpio commented Jan 4, 2021

Replaces #101

Fixes #100

For now commenting out some extensions that have not been updated yet.

Can be tested with this link: https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/lab3?urlpath=lab

TODO

  • Update to JupyterLab 3.0
  • ipyleaflet
  • bqplot
  • jupyterlab-renderers
  • Check the predefined workspace is correctly restored

@jtpio jtpio mentioned this pull request Jan 4, 2021
binder/environment.yml Outdated Show resolved Hide resolved
@jtpio
Copy link
Member Author

jtpio commented Jan 4, 2021

Node 14 is giving the following:

image

Trying with Node 12 instead.

@jasongrout
Copy link
Contributor

jasongrout added a commit to jasongrout/jupyterlab that referenced this pull request Jan 4, 2021
@jasongrout
Copy link
Contributor

After a few seconds on that image, I get this dialog:

Build Recommended
JupyterLab build is suggested:

jupyter-offlinenotebook needs to be included in build

Can we remove that plugin too, or rebuild as part of the image?

@jasongrout
Copy link
Contributor

Can we remove that plugin too, or rebuild as part of the image?

I can't see where we are pulling in that extension. Is it part of the base binder image?

@manics
Copy link

manics commented Jan 4, 2021

I can't see where we are pulling in that extension. Is it part of the base binder image?

Yes, it's in the default repo2docker scripts. I'm going to update it to a new version that works with both JL 2 and 3, and use the new pre-built extensions system so it won't require a rebuild for JL3.

@jtpio
Copy link
Member Author

jtpio commented Jan 4, 2021

Yes it is part of the base image and installed here:

https://github.com/jupyterhub/repo2docker/blob/560b1d96a0e39cb8de53cb41a7c2d8d23384eb82/repo2docker/buildpacks/conda/install-miniforge.bash#L60

When the switch to JupyterLab 3.0 is done in repo2docker (jupyterhub/repo2docker#996) this should normally not be an issue anymore since the offline notebook extension will be prebuilt.

@jtpio
Copy link
Member Author

jtpio commented Jan 4, 2021

Wondering why the popup still shows up though, since there should also be an explicit build right after:

https://github.com/jupyterhub/repo2docker/blob/560b1d96a0e39cb8de53cb41a7c2d8d23384eb82/repo2docker/buildpacks/conda/install-miniforge.bash#L61

@jasongrout
Copy link
Contributor

jasongrout commented Jan 4, 2021

Probably because it is never incorporated into lab 3 or something?

We could install the newest version of that package, which supports jlab 3 now (as of an hour ago, 0.2.0 was published)

@jtpio
Copy link
Member Author

jtpio commented Jan 4, 2021

The latest commit explicitly installs jupyter-offlinenotebook for now to avoid having the popup:

https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/3818244?urlpath=lab

@jasongrout
Copy link
Contributor

https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/3818244?urlpath=lab

I updated jupyterlab/jupyterlab#9546 to use this new link

jasongrout added a commit to jasongrout/jupyterlab that referenced this pull request Jan 4, 2021
@jtpio jtpio marked this pull request as draft January 5, 2021 08:06
@jtpio
Copy link
Member Author

jtpio commented Jan 7, 2021

Looks good with the jupyterlab renderers:

image

I think it's mostly bqplot left now. Linking to the PR for reference: bqplot/bqplot#1222

@jtpio
Copy link
Member Author

jtpio commented Jan 7, 2021

Also it seems like the Binder doesn't open with the predefined workspace anymore.

So something to have a look at too, also to make sure it's not a regression.

@jtpio
Copy link
Member Author

jtpio commented Jan 7, 2021

For anyone willing to test the latest changes, here is the link to the Binder for this PR:

https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/lab3?urlpath=lab

- tensorflow=1.13
- sympy=1.4
- pyyaml
- traittypes==0.2.1
- invoke=1.2
# C++ Kernel
- xeus-cling=0.6
- xeus-cling=0.10
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To answer your question @SylvainCorlay, this syntax installs 0.10.1:

image

@jtpio
Copy link
Member Author

jtpio commented Jan 8, 2021

Also it seems like the Binder doesn't open with the predefined workspace anymore.

This issue might be relevant: jupyterlab/jupyterlab#9186

@jtpio
Copy link
Member Author

jtpio commented Jan 8, 2021

Just added bqplot back, this is starting to look good.

image

Apart from the workspace restoration issue mentioned above, everything should work as before.

We might also want to remove jupyter-offlinenotebook=0.2 from the repo once it is part of repo2docker by default: jupyterhub/repo2docker#997 (this could be a separate PR)

@jtpio
Copy link
Member Author

jtpio commented Jan 11, 2021

Apart from the workspace restoration issue mentioned above, everything should work as before.

Just opened jupyterlab/jupyterlab#9590 as it looks like there might be an issue with the restorer?

@jtpio
Copy link
Member Author

jtpio commented Jan 12, 2021

Marking as ready for review, so the workspace issue could be addressed separately.

Instead, we can update the URL to open the Lorenz.ipynb notebook by default using the following link:

https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/lab3?urlpath=lab/tree/demo/Lorenz.ipynb

@jtpio jtpio marked this pull request as ready for review January 12, 2021 09:52
Copy link
Member

@saulshanabrook saulshanabrook left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me!

I tried out this branch and seems good.

I agree with @jtpio, to merge this and not block on the upstream JupyterLab 3.0 workspace issue (jupyterlab/jupyterlab#9590).

@blink1073
Copy link
Contributor

I agree, thanks @saulshanabrook!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update for JupyterLab 3.0
6 participants