When starting JupyterLab, the extension will query the server about which extensions are installed, and their status. Once this information has been obtained, the base view of the extension panel will look something like this:
In this view, you can see the installed extensions, and uninstall or disable extensions. The status of extensions can also be seen by colored borders on the left-hand side of each entry:
- a red border indicates an error with the extension, typically that the installed version is incompatible with the current version on JupyterLab.
- a yellow/orange border indicates that changes have been made to the extension, and that a rebuild of JupyterLab is needed.
You can search for extensions on the NPM registry by using the search bar on the top of the extension panel. Simply typing a space will allow you to see all available extensions.
If you are an extension author, see the section for extension authors for instructions on how to make your extension discoverable.
Installing an extension¶
Once you have found an extension you want to install, simply click its ‘Install’ button.
Installing an extension allows it to execute arbitrary code on the server, kernel, and in the client’s browser. You should therefore avoid installing extensions you do not trust, and watch out for any extensions trying to mascerade as a trusted extension.
A while after starting the install of an extension, a drop-down should appear under the search bar indicating that the extension has been downloaded, but that a rebuild is needed to complete the installation.
To trigger a rebuild, click the ‘Rebuild’ button. This will start the rebuild in the background. Once the rebuild completes, a dialog will pop up, indicating that a reload of the page is needed in order to load the latest build into the browser.
Instead of rebuilding immediately, you can choose to postpone the rebuild to a more appropriate time by clicking the ‘Ignore’ button on the drop-down. When you are ready, reload the page (or open a new tab to the same server) to trigger a new build check.
During installation of an extension, Discovery will inspect the package metadata for any instructions on companion packages. Companion packages can be:
If Discovery finds instructions for companion packages, it will prompt you about what to do.
The available actions are:
- Install Extension Only:
- Only install the JupyterLab extension, ignoring any companion packages.
- Install Companions / Install in Kernel / Install Server Extension:
- The text of this button depends on which companion package types the metadata indicates are available. In all cases, it will show another dialog asking for more input on what to install, and how. After that, it will try to install the packages into the kernel and/or Notebook server.
- Do nothing.
The option to install companion packages is still experimental, and while it works for the most common setups, it makes no guarantees. Use at your own risk.