Top 33 JupyterLab Extensions 2023
JupyterLab is a browser-based interactive development environment (IDE) for notebooks, code, and data maintained by Project Jupyter. It supports Julia, Python, R as well as Matlab, Scala and many more programming languages.
In this article, we will share the top JupyterLab extensions in our 2023 survey of the landscape.
Below is a our list for easy navigation:
- Code Formatter
- Collapsible Headings
- Execution Time
- LSP (Language Server Protocol)
- Table of Contents
- Google Drive
- S3 Browser
- Jupyter ML-workspace
- NV Dashboard
- System Monitor
Bokeh helps you build powerful data applications with a wide array of widgets, plot tools, and UI events that can trigger real Python callbacks. This Bokeh extension is for rendering Bokeh content in JupyterLab notebooks.
A JupyterLab extension for editing Plotly charts.
A JupyterLab extension for rendering Plotly Dash apps as a separate window in JupyterLab.
Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy. Leveraging the Jupyter interactive widgets framework, ipympl enables the interactive features of matplotlib in the Jupyter notebook and in JupyterLab. Besides, the figure canvas element is a proper Jupyter interactive widget, which can be positioned in interactive widget layouts.
plotly.py is an interactive, open-source, and browser-based graphing library for Python. Built on top of plotly.js, plotly.py is a high-level, declarative charting library. plotly.js ships with over 30 chart types, including scientific charts, 3D graphs, statistical charts, SVG maps, financial charts, and more. Plotly graphs can be viewed in Jupyter notebooks, standalone HTML files, or integrated into Dash applications.
A JupyterLab MIME renderer extension to view CSV and JSON data in Voyager 2.
Code formatter is a Python formatter based on the tokenize library in Python. The library is made to be very extendable and configurable, but it’s still in the beginning phase. Eventually, this will become a fully featured formatting tool for Python. The jupyterlab extension extends this capability to code cells.
Make headings collapsible like the old Jupyter notebook extension and like Mathematica notebooks. A selected header cell (i.e. markdown cell starting with some number of “#") can be collapsed / uncollapsed by clicking on the caret icon created to the left of header cells or by using a shortcut.
This is a tiny python package that provides you with a decorator to measure execution time (in ms) of functions. The jupyterlab extension automatically displays execution time in each code cell.
Github is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. This extension allows you to select GitHub organizations and users, browse their repositories, and open the files in those repositories.
A JupyterLab extension for version control using Git.
Turn your Jupyter notebooks into plain text documents, edit them in your favorite IDE, and get clear and meaningful diffs when doing version control. Jupytext is a plugin for Jupyter that can save Jupyter notebooks as either.
Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol.
NBdime provides tools for diffing and merging of Jupyter notebooks.
Kite is an AI-powered programming assistant that helps you write Python code inside JupyterLab. Kite helps you write code faster by saving you keystrokes and showing you the right information at the right time. Learn more about how Kite boosts your JupyterLab editor’s capabilities at https://kite.com/integrations/jupyter/.
Nbgather provides tools for cleaning code, recovering lost code, and comparing versions of code in Jupyter Lab. The code this collects will sometimes be more than you want. It saves your a history of all code you’ve executed and the outputs it produces to the notebook’s metadata.
Vim is a classic unix text editor that many people know and love. JupyterLab already ships with optional vim keybindings. Jupyterlab-vim extends vim shortcuts to notebook cell operations.
A Jupyterlab extension that shows currently used variables and their values. This allows inspection of variables for both consoles and notebooks, inspection of matrices in a datagrid-viewer, and an inline and interactive inspection of Jupyter Widgets.
JupyterLab extension for live editing of LaTeX documents. This extension includes both a notebook server extension (which interfaces with the LaTeX compiler) and a lab extension (which provides the UI for the LaTeX preview). The Python package named jupyterlab_latex provides both of them as a prebuilt extension.
The JupyterLab extension is based on [the spellchecker Jupyter Notebook extension and relies on Typo.js for the actual spell checking. Spellchecker suggestions are available from the context menu. The style of the highlights can be customized in the Advanced Settings Editor. The extension provides (Hunspell) SCOWL dictionaries for: American, British, Canadian, Australian English, French, German (Germany, Austria, Switzerland), Portuguese, and Spanish. If you use JupyterLab in a browser running on a different computer than the jupyter server, please note that the dictionaries need to be installed on the server machine.
A JupyterLab extension for embedding drawio / mxgraph.
A Table of Contents extension for JupyterLab. This auto-generates a table of contents in the left area when you have a notebook or markdown document open. The entries are clickable, and scroll the document to the heading in question.
This extension adds a Google Drive file browser to the left sidebar of JupyterLab. When you are logged into your Google account, you will have the files stored in your GDrive available to JupyterLab. To run this extension, you need to authenticate your JupyterLab deployment (whether institutional or individual) with Google. In order to identify yourself to Google, you will need to register a web application with their Developers Console. Detailed instructions for setting up your application credentials can be found in setup.md.
A JupyterLab extension for browsing S3-compatible object storage.
Elyra extends JupyterLab with an AI-centric approach. Elyra currently includes the following functionality:
- Visual Pipeline Editor
- Ability to run a notebook, Python or R script as a batch job
- Reusable Code Snippets
- Hybrid runtime support based on Jupyter Enterprise Gateway
- Python and R script editors with local/remote execution capabilities
- Python script navigation using auto-generated Table of Contents
- Python script integrated debugger (Experimental)
- Notebook navigation using auto-generated outlines using Table of Contents
- Language Server Protocol integration
- Version control using Git integration
The ML workspace is an all-in-one web-based IDE specialized for machine learning and data science. It is simple to deploy and gets you started within minutes to productively built ML solutions on your own machines. This workspace is the ultimate tool for developers preloaded with a variety of popular data science libraries (e.g., Tensorflow, PyTorch, Keras, Sklearn) and dev tools (e.g., Jupyter, VS Code, Tensorboard) perfectly configured, optimized, and integrated.
Tensorboard extension for jupyterlab. TensorBoard is a tool for providing the measurements and visualizations needed during the machine learning workflow. It enables tracking experiment metrics like loss and accuracy, visualizing the model graph, projecting embeddings to a lower dimensional space, and much more.
This JupyterLab extension displays GPU usage dashboards. It is composed of a Python package named jupyterlab_nvdashboard for the server extension and a NPM package named jupyterlab-nvdashboard for the frontend extension.
This package from Dask provides a JupyterLab extension to manage Dask clusters, as well as embed Dask’s dashboard plots directly into JupyterLab panes.
This JupyterLab extension displays system information (memory and cpu usage) and provides an alternative frontend for the jupyter-resource-usage metrics: https://github.com/jupyter-server/jupyter-resource-usage.
The he topbar can be used to place a few indicators and optimize the overall space.
This plugin adds a simple spreadsheet viewer to JupyterLab. jupyterlab-spreadsheet supports XLS, XLSX, ODS, and CSV files, and allows for basic formatting (such as cell merges). The plugin is in alpha, and doesn’t support all features of workbooks (advanced formatting, formulas, etc.). If you already have JupyterLab running, you just have to refresh the page. To open a workbook, navigate to it in the file viewer and double-click on it. To open CSV files in the plugin, right click on the file and use “Open With > Spreadsheet”.
jupyterlab-sql adds a SQL user interface to JupyterLab:
- explore your tables with a point-and-click interface
- read and modify your database with custom queries
There you have it! A full list of the top JupyterLab extensions. These will support Julia, Python, R, and more.
About Saturn Cloud
Saturn Cloud is your all-in-one solution for data science & ML development, deployment, and data pipelines in the cloud. Spin up a notebook with 4TB of RAM, add a GPU, connect to a distributed cluster of workers, and more. Join today and get 150 hours of free compute per month.