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

JupyterLab: Investigate disabled extensions #549

Closed
Souheil-Yazji opened this issue Oct 31, 2023 · 5 comments · Fixed by #550
Closed

JupyterLab: Investigate disabled extensions #549

Souheil-Yazji opened this issue Oct 31, 2023 · 5 comments · Fixed by #550
Assignees

Comments

@Souheil-Yazji
Copy link
Contributor

Followup from #545

See the Jupyterlab Extensions section in this PR #544

After doing some digging with @Jose-Matsuda , it seems that some of those extensions aren't installed in our dockerfile, nor upstream. We'd have to do a little more digging as they could be dependencies which are outdated source-code wise.

@mathis-marcotte
Copy link
Contributor

mathis-marcotte commented Nov 1, 2023

Not sure what is actually trying to install the jupyterlab-git extension, but I think I know why it's not enabled.
image

Our JupyterLab version is 4.0.7, so too recent for it. There is a version of jupyterlab-git in pre-release that should support version 4 of jupyterlab (this issue). So for at least that extension, we could probably overwrite the version to use.

@mathis-marcotte
Copy link
Contributor

The extensions that are failing are all problems coming from the base image
image

The only one that isn't from upstream is jupyterlab-plotly

@mathis-marcotte
Copy link
Contributor

mathis-marcotte commented Nov 2, 2023

Issue generally seems to be that these extensions don't work well will jupyterlab v4. Looking at these extensions that are getting disabled :

(base) jovyan@test-cpu-0:~$ jupyter labextension list
Config option `kernel_spec_manager_class` not recognized by `ListLabExtensionsApp`.
[W 2023-10-30 13:14:45.610 LabApp] Config option `kernel_spec_manager_class` not recognized by `LabApp`.
JupyterLab v4.0.7
/opt/conda/share/jupyter/labextensions
        jupyterlab_pygments v0.2.2 enabled  X (python, jupyterlab_pygments)
        jupyterlab-execute-time v3.0.1 enabled OK (python, jupyterlab_execute_time)
        jupyterlab-plotly v5.18.0 enabled  X
        nbdime-jupyterlab v2.2.0 enabled  X
        jupyter-matplotlib v0.11.3 enabled OK
        @jupyter-lsp/jupyterlab-lsp v5.0.0 enabled OK (python, jupyterlab-lsp)
        @jupyterhub/jupyter-server-proxy v4.0.0 enabled  X
        @jupyterlab/git v0.41.0 enabled  X (python, jupyterlab-git)
        @jupyter-widgets/jupyterlab-manager v5.0.8 enabled OK (python, jupyterlab_widgets)

   The following extensions are outdated:
        jupyterlab_pygments
        jupyterlab-plotly
        nbdime-jupyterlab
        @jupyterhub/jupyter-server-proxy
        @jupyterlab/git
        
   Consider checking if an update is available for these packages.

Other labextensions (built into JupyterLab)
   app dir: /opt/conda/share/jupyter/lab
        jupyterlab-dash v0.4.2 enabled  X

   The following extensions are outdated:
        jupyterlab-dash
        
   Consider checking if an update is available for these packages.

Disabled extensions:
    @jupyterlab/completer-extension:base-service
    @jupyterlab/fileeditor-extension:language-server
    @jupyterlab/lsp-extension:settings
    @jupyterlab/notebook-extension:language-server

jupyterlab_pygments

Although this repo doesn't talk about it's jupyterlab extension, it also seems to be a case where it doesn't yet support jupyterlab v4. There is an open pr to upgrade to v4.

jupyterlab-plotly

Although their docs say that plotly should work with jupyter >=3, they are saying that v4 is not currently working.

nbdime-jupyterlab

This one is another case of jupyterlab v4 not being supported yet. There seems to be some alpha/pre-release version that support it, but nothing official yet.

@jupyterhub/jupyter-server-proxy

This one seems to be fixed in the latest version of our base image, so updating that to a more recent tag should fix our issue.

@jupyterlab/git

looking at the jupyterlab-git, it doesn't support jupyterlab 4 yet, but there is a pre-release version available that is said to support it.

@mathis-marcotte
Copy link
Contributor

mathis-marcotte commented Nov 7, 2023

Looking into downgrading jupyterlab version like we used to.
But I honestly don't think that really worked since even testing with images that came before that commit, jupyterlab was a different version than the one specified (3.6.6 vs the 3.6.1 specified).

I think that version difference mainly comes from either the jupyterlab-lsp or the jupyterlab_execute_time packages that have dependencies to a specific jupyterlab version. And we are installing those packages after the jupyterlab version in the dockerfile. So one or both of those are overriding whatever version of jupyterlab we specified.

Also, one reason that jupyterlab v4 is being installed is because it is required by those packages
image

Compared to v3
image

@mathis-marcotte
Copy link
Contributor

Seems like the solution is to pin the version of jupyterlab_execute_time package to v2.3.1 (the most recent release of the previous major version). This makes it so jupyterlab gets the most recent v3 version(3.6.6) which also fixes all the extensions
image

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

Successfully merging a pull request may close this issue.

2 participants