Top 33 JupyterLab Extensions 2022

In this article, we will share the top JupyterLab extensions in our 2022 survey of the landscape.

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 2022 survey of the landscape.

Below is a our list for easy navigation:

Viz

  1. bokeh
  2. Chart-editor
  3. Dash
  4. Matplotlib
  5. Plotly
  6. Voyager

Code Tools

  1. Code Formatter
  2. Collapsible Headings
  3. Execution Time
  4. GitHub
  5. Git
  6. Jupytext
  7. LSP (Language Server Protocol)
  8. NBdime
  9. Kite
  10. Nbgather
  11. Vim
  12. variableInspector

Publishing

  1. LaTeX
  2. Spellchecker
  3. Drawio
  4. Table of Contents

Data

  1. Google Drive
  2. S3 Browser

Machine Learning

  1. Elyra
  2. Jupyter ML-workspace
  3. TensorBoard

Performance:

  1. NV Dashboard
  2. Dask
  3. System Monitor
  4. Topbar

For Analysts

  1. Spreadsheet
  2. SQL

Viz


Bokeh Logo

Bokeh

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.



JupyterLab Logo

Chart-Editor

A JupyterLab extension for editing Plotly charts. 



Dash by Plotly Logo

Dash

A JupyterLab extension for rendering Plotly Dash apps as a separate window in JupyterLab. 



Mathplotlib logo

Matplotlib

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 Logo

Plotly

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.



Voyager Logo

Voyager

A JupyterLab MIME renderer extension to view CSV and JSON data in Voyager 2

Code Tools

Code Formatter

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.

Collapsible Headings

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.

Execution Time

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 Logo

GitHub

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. 



Git Logo

Git

A JupyterLab extension for version control using Git.



Jupytext Logo

Jupytext

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. 

LSP (Language Server Protocol)

Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol.

NBdime

NBdime provides tools for diffing and merging of Jupyter notebooks. 

Kite

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

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 editor Logo

jupyterlab-vim

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. 

variableInspector

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.

Publishing



Latex Logo

LaTeX

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.

Spellchecker

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. 



draw.io Logo

Draw.io

A JupyterLab extension for embedding drawio / mxgraph.

Table of Contents

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.

Data


Google Drive Logo

Google Drive

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.



s3 browser logo

S3 Browser

A JupyterLab extension for browsing S3-compatible object storage.

Machine Learning



Elyra Logo

Elyra

Elyra extends JupyterLab with an AI centric approach. Elyra currently includes the following functionality:



Jupyter ML-Workspace Logo

Jupyter ML-Workspace

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 Logo

TensorBoard

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.

Performance


NV Dashboard

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.



Dask Logo

Dask

This package from Dask provides a JupyterLab extension to manage Dask clusters, as well as embed Dask’s dashboard plots directly into JupyterLab panes.

System Monitor 

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



Topbar Logo

Topbar

The he topbar can be used to place a few indicators and optimize the overall space.

For Analysts

Spreadsheet

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”.



My SQL logo

SQL

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

End

There you have it! A full list of the top JupyterLab extensions for 2022. These will support Julia, Python, R, and more.

If you’d like to get a quick start and jump into high-powered notebooks using these extensions, get started on Saturn Cloud for free here.