Top 9 JupyterLab extensions and how to pick yours

Posted on September 29th, 2021

If you’re a data scientist, you must have heard about JupyterLab. JupyterLab is the next evolution of Jupyter Notebooks and a full-fledged IDE. It is a culmination of usability and features that give Data Scientists all the tools they need to analyze data and present it in a way non-technical people can quickly grasp. Do you want to make JupyterLab your home for all things data science? Here’s what you need to know and have.

What is JupyterLab?

JupyterLab is the tool that is synonymous with data science. With a robust set of features, including graph drawing, real-time code execution, a built-in terminal, and everything you need for data science coding. 

The language support is broad and covers your major data science languages: Python, Julia, R, and others. JupyterLab runs as a web application, so you can try out the web version or install it on your server. It is easy to get into, even without knowledge of data science.

Above all, JupyterLab is designed to be extensible to let you get the most out of your work environment with extensions. Need a feature? You can write one. However, it is likely someone already has.

What are JupyterLab Extensions, and Why Do You Need Them?

Even the best hand-made glove will not fit perfectly without a tailor taking your measurements. Just like the glove, a work environment can never suit you perfectly without some adjustments. Extensions provide those adjustments to JupyterLab to make it fit you like a glove. 

Some Extensions are universally useful, and nearly everyone will benefit from them, while others may be more niche, and their usefulness depends on how you use JupyterLab. Regardless, here are the top 9 extensions you should know and see how they fit your hands.

How to Install JupyterLab Extensions

There are two ways to install extensions in JupyterLab. The first is for CLI lovers, which, as you might have guessed, includes a simple command typed into the console. Sometimes you would need more than one command if there are dependencies. But generally, it would like this:

jupyter labextension install @jupyterlab/[extension]

The other method is using the extension manager. Start by clicking the puzzle icon, and then enable.

JupyterLab Extension manager enable

Once extensions are enabled, you can use the search bar to find the extension you want and install it.

JupyterLab Extension manager search

It is all quite as simple as that!

Top 9 JupyterLab Extensions to Enhance Productivity

1. Debugger

A debugger is a core feature when working with code, and JupyterLab is built to debug. How core is it? This extension is now shipped with JupyterLab 3. However, if you’re using JupyterLab 2 or earlier, you’ll want to add this extension to your arsenal.

The Debugger extension allows visual debugging, set breakpoints, and most anything else you expect a debugger to do. So really, either you already have it because you’re running the latest version of JupyterLab, or you should install it.

JupyterLab Extension - debugger

2. Tabnine for JupyterLab

Typing out code without auto-complete features is a pain, especially when starting out. Besides the time wasted typing out method names, a lack of auto-complete encourages shorter naming styles, which is less than ideal. 

Auto-complete is an essential part of an efficient development environment. TabNine uses machine learning to complete the names of methods or variables you have started typing and accurately guess what you might want to write next before you begin. That may include method names from libraries that you forgot how they’re called, which saves a lot of time Googling.

3. jupyterlab-git: A Git extension for JupyterLab 

When developing any code, even with the fewest lines, you would be remiss not to use Git. Git allows tracking changes over time, so you can feel secure that your code will not be lost, overwritten, or modified erroneously. Coding without Git is just teasing Murphy’s Law.

Git extension for Jupyter is a clean integration directly into the software. Using Git from inside Jupyter is faster, easier and will help you develop the habit of pushing code changes more frequently. This can potentially save you from loss of work and help you make more granular changes to roll back to in case of bugs.

4. jupyterlab-google-drive: Cloud storage for JupyterLab using Google Drive 

Google Drive has many uses. It is a quick and easy way to share files with others or use files shared with you, especially with non-technical people unfamiliar with Git. With this Google Drive Extension, you can do everything right inside Jupyter. A comprehensive work environment makes everything go smoother.

5. jupyterlab_code_formatter: A universal code formatter for JupyterLab.

Code formatters are helpful tools that make your code more readable. Formatters are not only necessary when collaborating with others, but even if you go back and read your code, you will find that a well-formatted code is easier to read.

This extension is a universal code formatter that can use an array of external rules, even chaining several together.

6. jupyterlab-variableInspector: Variable Inspector extension for Jupyterlab 

The debugger extension helps figure out problems using breakpoints and kernel stepper. Variable Inspector reveals the values of any number of things from visual components to variables in the code. A tool you’d be glad to have the very first time you encounter an issue. Which, when coding, is a certainty.

jupyterlab variable Inspector JupyterLab Extension

7. jupyterlab_templates: Support for jupyter notebook templates in jupyterlab 

This extension will help you transition from Jupyter Notebooks to JupyterLab. If you have been using Jupyter notebook templates, this extension converts them to Jupyter Lab so you can keep using them. Even if you’re new to Jupyter, you may find some older Jupyter Notebook templates you wish to use. This extension will let you do so.

8. jupyterlab_tensorboard: Tensorboard extension for jupyterlab.

If you are using Tensorboard for visualization, or if you want to, this extension is invaluable. Integrating Tesnorboard into your presentation can elevate it with graphs and visualizations you wouldn’t be able to get otherwise. Note that using Tensorboard requires both a server-side and front-end extension.

9. jupyterlab-theme-solarized-dark: JupyterLab 2.x Solarized Dark extension 

Do you work late? Do your eyes get strained looking at white backgrounds all day? Look no further than Solarized Dark Extension. Your eyes will thank you for it.

There are, of course, more extensions out there, and I encourage you to look over the extension manager and find the ones you need. But those top 9 should get you set up to start working quickly. 

If I had to pick three essential extensions, aside from the debugger now shipped with JupyterLabs, I would tell you to install the Git extension because everyone should be using Git with their projects. TabNine, to make your coding faster and more efficient. And Solarized Dark theme, because eye strain is a hell best avoided.