As the packaging of `jupyterlab` currently stands, yes, this is unavoidable.

jupyter-notebook 7 is now an esssentially an extension to jupyterlab rather than an independent web app, and the jupyterlab package contains essentially three things bundled into a single large package:

* the python module jupyterlab (which is a hard dependency for jupyter notebook) * the compiled javascript bundle for jupyterlab (which is what is served when running `jupyter lab` * the typescript source for jupyterlab (and dependencies on all the other nodejs packages which these require)

The last of these three is the reason for the huge dependency tree, and is not required at runtime for "normal" use of jupyterlab/jupyter-notebook, but is needed if you want to use `jupyter labextension` (which takes the typescript source of an extension and compiles it into a javascript bundle - and hence requires all the dependency tree available).

Having a smaller dependency tree would require separating the python and JS bundle parts of the jupyterlab packaging, and making the labextension compile support optional.

I do not know how big or small a job that would be for the jupyterlab packaging, but it isn't something that can be addressed directly in jupyter-notebook.

Reply via email to