Registry / web-framework / jupyter-contrib-nbextensions

jupyter-contrib-nbextensions

JSON →
library0.7.0pypypiunverified

Jupyter Contrib Nbextensions is a collection of community-contributed unofficial extensions that enhance the functionality of the classic Jupyter Notebook interface. These extensions are primarily written in JavaScript and are loaded directly in the browser. The library, currently at version 0.7.0, is maintained independently and aims to provide various productivity and usability enhancements for Jupyter Notebook users. While the core package updates are infrequent (last release Nov 2022), the collection of extensions remains a popular way to customize the classic notebook experience.

pip install jupyter_contrib_nbextensions
INSTALL
IMPORT
SIG · JUPYTER-CONTRIB-NB
J
jupyter-contrib-nbextensions
web-frameworkpythonv0.7.0
Install
19.9s avg
Import
Disk
311MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.7.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.000s · 319.2MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 19.9s · import 0.000s · 303MB
311MB installed
● package 311MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

N/A
This library provides Jupyter Notebook extensions (mostly JavaScript) and `jupyter` subcommands, rather than Python objects for direct import into scripts.
The primary interaction is through command-line tools or the Jupyter Notebook UI, not Python `import` statements for using individual extensions.

This quickstart demonstrates how to install the `jupyter_contrib_nbextensions` Python package and then install its client-side JavaScript and CSS files for the current user. It also ensures the `jupyter_nbextensions_configurator` is enabled, which provides a 'Nbextensions' tab in the Jupyter Notebook interface for easy management of the extensions. While individual extensions can be enabled via command line, the GUI configurator is the recommended way for most users.

# 1. Install the main Python package (if not already done) pip install jupyter_contrib_nbextensions # 2. Install the JavaScript and CSS files to the Jupyter data directory # Use --user for a user-specific installation, or --sys-prefix for a virtual environment. !jupyter contrib nbextension install --user # 3. Enable the nbextensions configurator (usually enabled by default with install) !jupyter nbextensions_configurator enable --user # 4. Launch Jupyter Notebook and navigate to the 'Nbextensions' tab # (This step is manual, outside of this script) # You can then enable individual extensions like 'Table of Contents (2)' or 'Codefolding'. # Example: To programmatically enable a specific extension (e.g., Codefolding): # !jupyter nbextension enable codefolding/main --user print("Jupyter Contrib Nbextensions installed and configurator enabled. Please launch Jupyter Notebook to manage extensions.")
jupyter-contrib-nbextensions --version
Debug
Known issues
breakingJupyter Contrib Nbextensions are NOT compatible with JupyterLab. They are designed exclusively for the classic Jupyter Notebook interface. Users attempting to use them in JupyterLab will find they do not work.
fix
Use the classic Jupyter Notebook interface. For JupyterLab, search for 'JupyterLab extensions' or 'jupyterlab-contrib' for compatible alternatives.
affects: All versions of jupyter-contrib-nbextensions with all versions of JupyterLab
breakingIncompatibility with newer Jupyter Notebook versions (6.x and above). Many extensions in the configurator may be marked as 'possibly incompatible'. This can lead to unexpected behavior or extensions not loading correctly. Anaconda updates have also been reported to cause issues.
fix
Users may need to downgrade their Jupyter Notebook version (e.g., `pip install notebook==5.7.8` or `pip install notebook==6.1.5`). Alternatively, in the Nbextensions tab, uncheck the option 'disable configuration for nbextensions without explicit compatibility' (use with caution).
affects: Jupyter Notebook 6.x and higher (as of 0.7.0 of jupyter-contrib-nbextensions)
gotchaExtensions require a multi-step installation and activation. Installing the Python package (`pip install ...`) is only the first step. The JavaScript/CSS files must then be installed (`jupyter contrib nbextension install ...`), and finally, individual extensions need to be explicitly enabled, often through the 'Nbextensions' tab provided by `jupyter_nbextensions_configurator`.
fix
Always follow the complete installation instructions, including the `jupyter contrib nbextension install` command and then enabling extensions via the Jupyter Notebook 'Nbextensions' tab.
affects: All versions
gotchaExtensions may fail to load in large notebooks due to a default `requirejs` timeout. This can manifest as extensions not appearing or not functioning correctly after a notebook with many cells loads.
fix
Increase the `requirejs` timeout by adding `window.requirejs.config({waitseconds: 60});` (or a higher value) to your `custom.js` file. Consult Jupyter's documentation for the location of `custom.js`.
affects: All versions (dependent on Jupyter Notebook's `requirejs` configuration)
gotchaMigrating from older installations or experiencing issues can result in 'double entries' of extensions in the configurator. This occurs when old extension files are not properly removed during updates or reinstallation.
fix
Use `jupyter contrib nbextension uninstall --user` (and potentially `--system`) to remove old files, then reinstall. Debug logs from `jupyter notebook --debug` can help identify the location of duplicate files.
affects: Older installations or migration scenarios
Upgrade
Version history
0.7.0latest on PyPI · released Nov 15, 2022
Audit
Dependencies
jupyter_nbextensions_configuratorrequiredProvides a graphical user interface in Jupyter Notebook for enabling, disabling, and configuring individual nbextensions. It is installed as a dependency of `jupyter_contrib_nbextensions` but may need manual enabling.
Agent activity
28 hits · last 30 days
node
26
OpenAI (training)
2
Resources
jupyter-contrib-nbextensions — pip install jupyter-contrib-nbextensions · libregistry