-
-
Notifications
You must be signed in to change notification settings - Fork 11
Investigate How to Handle Layered Extensions #3
Comments
nbextensions are documented here |
Example: $ jupyter nbextension list
Known nbextensions:
config dir: /Users/stslve/miniconda/envs/jlab-pip-2.0/etc/jupyter/nbconfig
notebook section
nbdime/index enabled
- Validating: OK |
|
In classic notebook, extensions are JS modules that end up in |
The proposed layout is |
Hmm, does |
Dev workflow assuming no
|
Here's how it is used in the notebook server: https://github.com/jupyter/notebook/blob/0df10dee3ee7e8c0f56f879b69d37070fccca1c7/notebook/notebookapp.py#L362 |
Proposed layout:
TODO for building a compiled version TODO later, make this layer-able |
Notes from our conversation today: How will directories work?JUPYTERLAB_CORE_DIR application directory is prefix/share/jupyter/lab The question is: do we load dynamic extensions on top of this? --core-mode: loads site-package distributed bundle Current layer stays the sameExcept now we build module federation capable bundles, and labextension list lists the dynamic modules jupyter labextension install: installs an npm package as a package in the application dir bundle jupyter labextension list: lists all extensions, including dynamic extensions, and indicates when one overrides another. jupyter lab build: builds the application dir bundle jupyter lab clean: cleans the application dir bundle These directories also stay the same:
Dynamic packagesDistributed in any way, i.e., conda package, pip package, debian package, etc. Webpack module federation bundle is put into Inside this directory, we have
Follow the Jupyter path layering, where more plugins in more specific layers override more general layers. Enabling and disabling extensions works exactly like in server extensions, i.e., conf.d files in index.js
Templated into page config:
Supporting extensions depending on other extensions:
|
The rest endpoint should be |
Look into the logic for
nbextensions
and come up with a game plan for the newlabextensions
Specifically,
/lab/ext/<foo>
)?Create as a server extension here and then port to
jupyterlab
.The text was updated successfully, but these errors were encountered: