# Essential JupyterLab Extensions: 2021 Overview
Written on
Chapter 1: Introduction to JupyterLab Extensions
Jupyter Notebook has long served as a platform for the gradual evolution of software concepts. As Donald Knuth, the pioneer of literate programming, stated, "consider a program as literature, crafted for human understanding rather than for computers." To address certain limitations of Jupyter Notebooks, JupyterLab was created, offering a more integrated file management system and a user experience akin to a traditional IDE. Within this environment, numerous valuable extensions can significantly enhance your workflow.
However, upon searching for effective extensions to incorporate into my daily programming tasks, I found that many articles were either outdated or listed inactive projects (e.g., those not updated in over six months). Furthermore, the Table of Contents extension, frequently highlighted, is now integrated into the core JupyterLab 3.0 release.
Consequently, I decided to curate my own compilation of essential extensions. This 2021 edition focuses exclusively on high-quality, actively maintained projects. For each extension, I will provide the GitHub stars, the date of the last commit, along with additional details like PyPi download counts and contributor numbers. The following icons will be used for clarity: β: GitHub Stars, π : Last Commit, π·: Number of Contributors, π₯: Number of Downloads.
Let's dive in!
Learning Rate is a newsletter catering to those intrigued by AI and MLOps. I share insights and updates on the latest AI developments every Friday. Sign up here!
Section 1.1: Top JupyterLab Extensions to Install
First, letβs explore the JupyterLab extensions that are worth adding to your toolkit, followed by additional features like renderers and themes.
- jupyterlab-git (β 813 Β· π 5 days ago Β· π· 52 Β· π₯ 15K/month): A version control extension for JupyterLab utilizing Git.
- debugger (β 476 Β· π 3 months ago Β· π· 11 Β· π₯ 63K/month): A user interface extension for debugging within JupyterLab. For more information, refer to the articles linked below.
This video, titled "The Best JupyterLab Extension That You Didn't Know Existed!" delves into a standout extension that can elevate your coding experience in JupyterLab.
- jupyterlab-lsp (β 803 Β· π 23 hours ago Β· π· 21 Β· π₯ 20K/month): Provides coding assistance in JupyterLab with features like code navigation, hover suggestions, linters, autocompletion, and renaming through the Language Server Protocol.
- jupyterlab-variableInspector (β 748 Β· π 2 months ago Β· π· 13 Β· π₯ 15K/month): Displays currently utilized variables and their values in JupyterLab.
- jupyterlab_code_formatter (β 413 Β· π 9 days ago Β· π· 25 Β· π₯ 12K/month): A universal code formatting tool for JupyterLab.
- jupyterlab_templates (β 223 Β· π last month Β· π· 9 Β· π₯ 4.5K/month): Enables the use of notebook templates within JupyterLab.
- jupyterlab_tensorboard (β 245 Β· π 29 days ago Β· π· 6 Β· π₯ 5.7K/month): Integrates TensorBoard functionality into JupyterLab.
- jupyterlab-system-monitor (β 154 Β· π 26 days ago Β· π· 5 Β· π₯ 8.3K/month): An extension that visualizes system metrics within JupyterLab.
- jupyterlab-execute-time (β 113 Β· π last month Β· π· 7 Β· π₯ 8.4K/month): A plugin that tracks the execution time of code in JupyterLab.
- Collapsible_Headings (β 108 Β· π 2 months ago Β· π· 4 Β· π₯ 6.9K/month): Introduces collapsible headers for JupyterLab notebooks.
- spellchecker (β 105 Β· π 23 days ago Β· π· 5 Β· π₯ 5.3K/month): A spell-checking tool for markdown cells and file editors in JupyterLab.
Additionally, I'd like to highlight idom, a project that represents a new frontier in Jupyter widgets. While not strictly a JupyterLab extension, it is an invaluable resource. More information can be found in the article linked below.
Section 1.2: Renderers in JupyterLab
In this section, we will focus on extensions that can render and display files of specific MIME types.
- jupyterlab-latex (β 350 Β· π 2 months ago Β· π· 15 Β· π₯ 3.5K/month): Facilitates live editing of LaTeX documents within JupyterLab.
- jupyterlab-drawio (β 450 Β· π 7 days ago Β· π· 15 Β· π₯ 6K/month): Embeds the open-source draw.io/mxgraph package into JupyterLab.
- jupyterlab-spreadsheet (β 95 Β· π 2 months ago Β· π· 4 Β· π₯ 3.9K/month): A plugin for viewing spreadsheet files such as Excel .xls/.xlsx and OpenOffice .ods formats.
Section 1.3: Themes for Customizing JupyterLab
In this final section, we will explore extensions that allow for customization of JupyterLab's appearance.
- jupyterlab-neon-theme (β 81 Β· π R 1 days ago Β· π·R 3Β· π₯R 11K/month): A vibrant, 80's neon-themed design for JupyterLab.
- jupyterlab-theme-solarized-dark (β 33 Β· π 12 days ago Β· π· 2 Β· π₯ 5.7K/month): An extension offering a Solarized Dark theme for JupyterLab 2.x.
Chapter 2: Conclusion
JupyterLab may not function as a traditional IDE, but it remains an essential tool for data scientists and engineers who appreciate the principles of literate programming. Alongside its built-in functionalities, JupyterLab offers a variety of extensions that can significantly enhance your coding environment and alter your development approach.
This article has presented an updated list of leading JupyterLab extensions available today. If you think I missed any crucial ones or have discovered a new extension that transformed your Jupyter usage, please share your thoughts in the comments!
Explore my other Notebook stories to elevate your skills with this powerful tool:
- Jupyter is now a full-fledged IDE
- Jupyter is Ready for Production; As-Is
- Jupyter in VS Code: Pros and Cons
- Jupyter has a perfect code editor
- The new age of Jupyter widgets
About the Author
My name is Dimitris Poulopoulos, and I am a machine learning engineer at Arrikto. I have designed and implemented AI and software solutions for prominent clients, including the European Commission, Eurostat, IMF, the European Central Bank, OECD, and IKEA.
If you're interested in more insights on Machine Learning, Deep Learning, Data Science, and DataOps, connect with me on Medium, LinkedIn, or on Twitter @james2pl. Additionally, visit the resources page on my website for excellent books and top-rated courses to start building your own Data Science curriculum!