JupyterLab is fundamentally intended to be an extensible environment. Any JupyterLab component can be enhanced or customized with JupyterLab extensions. New themes, viewers and file editors or renderers that allow rich results in notebooks are some of the things they can offer. Keyboard shortcuts, system settings, and menu or command panel items can be added via extensions. Extensions can depend on other extensions and offer an API for other extensions to use. JupyterLab is nothing more than a collection of extensions that are no more privileged or powerful than any other custom extension. A JupyterLab extension is simply a plug-and-play accessory that expands your options to achieve your goals. Technically speaking, the JupyterLab extension is a JavaScript library that can enhance the JupyterLab interface with various interactive features.
Here is a list of the main JupyterLab extensions
scrubber
Debugging is a crucial step to eliminate any potential problems with our code. Now that debugging across multiple IDEs is simple, you can do it right in the Jupyter notebook. Since it comes pre-installed with JupyterLab 3.x, there is no need to download it separately. It supports dual cores as of now.
Google Drive for JupyterLab
We use Google Drive to store our data in the cloud so that we can access it at any time. Adding a button or command simplifies adding Google Drive to Google Colab. Similar to how using Google Drive in JupyterLab helped us, this plugin will allow us to access our Google Drive files from our laptops.
This plugin adds a Google Drive file browser to the left sidebar of JupyterLab. JupyterLab will be able to access the files on your GDrive when you sign in to your Google account.
JupyterLab cell labels
Users can quickly create, browse, and change descriptive labels for notebook cells with the JupyterLab Cell Labels plugin. The plugin allows you to choose each cell that matches a specific label, allowing the execution of any operation on those cells. You do not need to download the separate JupyterLab cell labels extension because it is officially included with JupyterLab 3.x.
JupyterLab system monitoring
We often run our programs on Jupyter notebooks without knowing how much memory is being used. As a result, our laptop often freezes and stops working due to memory issues. It would benefit us to know the current statistics of CPU and memory consumption. A Jupyter Notebook plugin called JupyterLab system monitor displays system data, including CPU and memory utilization.
Tabine for JupyterLab
Writing code is complex without autocompletion options, especially when starting out for the first time. In addition to the time spent entering method names, the absence of autocompletion promotes shorter name styles, which is not ideal.
For a development environment to be effective, autocomplete is crucial. Using machine learning, TabNine can reliably predict what you might want to write next before you start by filling in the names of any methods or variables you’ve already started typing. That can include method names from libraries whose names you’ve forgotten, which saves a lot of time searching online.
JupyterLab Spreadsheet
You may occasionally work with spreadsheets in your role as a data scientist or data engineer. Jupyter’s inability to read Excel files natively leads us to jump between multiple programs to transition between using Jupyter for coding and Excel for visualization.
This challenge is expertly solved by jupyterlab-spreadsheet. Thanks to Jupyter Lab’s built-in Xls/xlsx spreadsheet viewing capability, we can find everything we need in one place.
JupyterLabMatplotlib
If you are a data scientist, Matplotlib is a Python library that you absolutely must master. It is a simple but effective Python program for data visualization. However, the interactive component is no longer present when we use Jupyter Lab.
Your Matplotlib can become interactive once again with the jupyter-matplotlib plugin. Your beautiful 3D plot will become interactive by enabling it with the magic command%matplotlib widget.
Jupyter Lab Git
It would be unwise not to use Git when writing any code, no matter how simple. Git allows changes to be tracked over time, giving you peace of mind that your code won’t be lost, rewritten, or changed incorrectly. Without Git, programming is essentially messing with Murphy’s Law.
The Jupiter Git plugin provides seamless integration into the program. It’s faster and easier and will encourage you to make code changes more frequently to use Git from within Jupyter. This can prevent you from losing work and allow you to make more precise edits that you can revert to in case of errors.
JupyterLab Variables Inspector
By using breakpoints and kernel steps, the debugger extension helps solve problems. The values of various objects, such as widgets and code variables, are revealed through the Variables Inspector. A resource you would love to have the first time you run into a problem. This is a fact during encoding.
JupyterLab Templates
You can move from Jupyter Notebooks to JupyterLab with this plugin. This plugin converts Jupyter notebook templates to Jupyter Lab, so you can continue to use them. You may want to use some older Jupyter Notebook templates, even if you’re just getting started with Jupyter. This additional time will allow you to do so.
JupyterLab TensorBoard
A frontend plugin for the TensorBoard in JupyterLab is called JupyterLab TensorBoard. As the tensorboard backend, it uses the tensorboard jupyter project. By providing a graphical user interface for tensorboard to start, manage, and stop in the jupyter interface, it facilitates collaboration between jupyter notebook and tensorboard (a visualization tool for tensorflow).
Jupyter ML workspace
An all-encompassing web-based integrated development environment built explicitly for machine learning and data science is known as the ML workspace.
It allows you to build ML solutions effectively on your own devices and is easy to implement. This workspace is a general-purpose solution for developers that comes preloaded with a variety of popular data science libraries (such as Tensorflow, PyTorch, Keras, and Sklearn) and development tools (such as Jupyter, VS Code, and Tensorboard), all which have been perfectly configured, optimized and integrated.
JupyterLab jupytext
This addition adds some Jupytext commands to the command palette. Although it is a modest feature, it can help in the navigation of the laptop. It can be used to choose the ideal text/ipynb combination for your laptop.
JupyterLab nbgather
A JupyterLab plugin called nbgather provides tools for debugging, finding missing code, and comparing code versions. The plugin stores a history of all the code it has executed along with the results it generates in the notebook metadata. After downloading the extension, you can sort and compare different versions of code.
Since nbgather is still in the early development stage, there might be some bugs. If you want to have organized and consistent notes, this is worth a try.
JupyterLab NBdime
You can compare and merge Jupyter Notebooks using the functionality provided by this JupyterLab plugin. Can intelligently reach and connect notebooks as he is aware of the structure of notebook papers.
Here’s a quick rundown of the key features:
- Easily compare notebooks using a terminal
- combine three notebooks with automatic dispute resolution
- See a richly illustrated comparison of notebooks.
- Provide a three-way merge tool for notebooks on the web.
- View a single notebook in a convenient terminal format.
Jupyter Lab Voyager
To view CSV and JSON data in Voyager 2, use JupyterLab’s MIME renderer plugin called Voyager. It is an easy method that allows data visualization. The connection to Voyager provided by this plugin is minimal.
JupyterLabLaTeX
The bibliography is based on BibTeX, although it can also be customized. A JupyterLab plugin called LaTeX allows you to modify LaTeX texts in real time. The extension uses Xelatex on the server, but you can tune the command by changing the jupyter notebook config.py file.
Another customizable feature is the ability to run arbitrary code using external shell commands.
Jupyter Lab HTML
This is a MIME renderer for JupyterLab that renders HTML files in the IFrame tab. By double-clicking the .html files in the file browser, you can examine the rendered HTML. A JupyterLab tab opens to display the files.
JupyterLab Content
Although it may not seem like a particular technical feature, a table of contents plugin for JupyterLab can be very useful when scrolling and searching for information.
When you have a notebook or markdown document open, it automatically creates a table of contents in the left section. The header in question can be found by scrolling through the document to the clickable entries.
JupyterLab Collapsible Headers
Collapsible Making headers collapsible is a valuable addition provided by headers. The caret created to the left of header cells can be clicked, or a shortcut can be used to collapse or unzip a selected header cell (i.e., a markdown cell beginning with multiple “#” ).
Jupyter Dash
The Jupyter Dash library simplifies the creation of Dash applications from Jupyter frameworks (for example, Classic Notebook, JupyterLab, Visual Studio Code notebooks, nteract, PyCharm notebooks, etc.).
Numerous beneficial features include:
- Blockless execution
- External, online and JupyterLab display options
- Hot reloading is the ability to instantly update a currently running web application when changes are made to the program’s code.
- A small user interface for reporting errors resulting from failed property validation and exceptions thrown within callbacks is called error reporting.
- Proxy detection in Jupyter
- manufacturing deployment
- Dash Enterprise Workspaces
JupyterLab SQL
The latter provides a SQL user interface to JupyterLab using the jupyterlab-SQL extension. With a point-and-click interface, you can explore your tables; using custom queries, you can read and edit your database.
Don’t forget to join our 16k+ ML SubReddit, discord channel, and electronic newsletter, where we share the latest AI research news, exciting AI projects, and more. If you have any questions about the article above or if we missed anything, feel free to email us at [email protected]
Prathamesh Ingle is a mechanical engineer and works as a data analyst. He is also an AI professional and a certified data scientist with an interest in AI applications. He is enthusiastic about exploring new technologies and advancing with his real life applications.