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

notebook 7 #1363

Merged
merged 6 commits into from
Sep 15, 2024
Merged

notebook 7 #1363

merged 6 commits into from
Sep 15, 2024

Conversation

minrk
Copy link
Member

@minrk minrk commented Aug 8, 2024

closes #1302
closes #1361

#1340 upgraded to jupyterlab 4 and jupyter-server 2, but that created #1361 because the classic notebook server auth isn't compatible with jupyter-server-based extensions and jupyter-server 2's IdentityProvider (jupyter-server/jupyter_server#1221). This is a problem because the default command is jupyter notebook --NotebookApp.default_url=/lab, i.e. launch classic notebook server with JupyterLab UI, which won't work.

If we want a smaller fix to make a patch release, it would be to switch the default server command to jupyter-server. Classic notebook UI with jupyter-server 2 will work via nbclassic, but classic notebook server with jupyter-server Extensions will not.

drops classic notebook server, is not really compatible with jupyter-server 2

rename deprecated NotebookApp CLI args to ServerApp
@manics
Copy link
Member

manics commented Aug 8, 2024

jupyter nbextension list
jupyter nbextension list | grep 'jupyter-leaflet' | grep enabled

also needs to be changed

@minrk
Copy link
Member Author

minrk commented Aug 27, 2024

Coming back to this, anything to pre-announce, or go ahead and merge and announce?

@manics
Copy link
Member

manics commented Aug 27, 2024

I think giving advanced warning on https://discourse.jupyter.org/ would be nice, e.g. a couple of weeks? How about something along these lines:

Notebook 7 was released a year ago, and we're planning to upgrade the default version of notebook on mybinder in a couple of weeks. Notebook 7 is based on the same underlying components as JupyterLab, so extensions designed for Notebook 6 and earlier will need to be updated.

Can we provide instructions for using the old notebook? E.g.

If you need the previous version of Jupyter notebook you should add notebook==6 to your requirements.txt or notebook=6 to your environment.yml file.

Or should we tell people to install nbclassic so we can run jupyter-server?

@minrk
Copy link
Member Author

minrk commented Aug 27, 2024

Makes sense. It may be a bit tricky, since notebook 6 not actually working is the reason for this bump (#1361). notebook 6 + server 2 don't quite work together, though if you only use one and specify the right launch command, thigs will probably work, unless you have ~any extensions.

So it would probably be better to specify notebook 6 and server 1, which will downgrade lab, too, I think, and possibly have other consequences.

@manics
Copy link
Member

manics commented Aug 27, 2024

How about this text?


Notebook 7 was released a year ago, and we're planning to upgrade the default version of notebook on mybinder.org in a couple of weeks. Notebook 7 is based on the same underlying components as JupyterLab, so extensions designed for Notebook 6 and earlier will need to be updated.

If you need the previous version of Jupyter notebook you should install notebook 6.* and jupyter-server 1.*. For example:

requirements.txt:

notebook==6.*
jupyter-server==1.*
jupyterlab==3.*

(jupyterlab 3 is required to avoid pip leaving a broken version of jupyterlab installed)

environment.yml:

name: example-environment
channels:
  - conda-forge
dependencies:
  - notebook=6
  - jupyter_server=1

This may change the installed version of JupyterLab, so only do this if you need the old version of notebook and do not need JupyterLab.

@minrk
Copy link
Member Author

minrk commented Aug 27, 2024

That looks great. Let's test it to make sure it actually works, if you haven't already, then we can post it.

@minrk
Copy link
Member Author

minrk commented Aug 28, 2024

The conda version works, but pip doesn't actually downgrade packages broken by the downgrade of notebook/server, it just warns about unsatisfied dependencies, so requirements.txt requires jupyterlab==3.* explicitly. The result would be a broken env on mybinder.org, which launches /lab.

@manics
Copy link
Member

manics commented Aug 28, 2024

Thanks for checking! Do you want to post the announcement on Discourse? Otherwise I'm happy to.

@minrk
Copy link
Member Author

minrk commented Aug 28, 2024

I actually have to step out for a bit right now, so if you could that would be great. Otherwise, I can do it when I get back this afternoon.

@manics
Copy link
Member

manics commented Aug 28, 2024

Done! https://discourse.jupyter.org/t/notebook-7-on-mybinder-org-and-repo2docker/27924

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

Successfully merging this pull request may close these issues.

Can't access server with provided token
2 participants