Skip to main content
HomeTutorialsData Science

Getting Started with JupyterLab Tutorial

In this article, we will introduce you to JupyterLab, one of the most popular IDE for data science.
Updated Mar 2023  · 7 min read

A jupyter lab

It’s impossible to understand software development without programming languages. True, a software developer with no programming language is like a taxi driver with no car. However, things are more complex. Just as GPS makes taxi drivers’ life easier, so does Integrated Development Environments (also known as IDEs) for programmers. 

IDEs are designed to enable programmers to write code and develop software applications more efficiently. IDEs increase programmer productivity by putting together multiple utilities into a single interface. Writing, testing, and debugging code, as well as editing functionalities, such as syntax highlighting, bracket-matching, and code autocompletion, are among the most common features of modern IDEs. 

There are many IDEs particularly well-suited for data science, including DataCamp’s Workspace. In this article, we will introduce you to JupyterLab, the next generation of Jupyter Notebook, probably the most popular IDE for data science. Released in 2018, JupyterLab offers a flexible user interface and more features than the classic Jupyter Notebook, and it’s certainly the present and the future of Project Jupyter. Willing to get started with JupyterLab? Keep reading!

A Brief Introduction to Jupyter Notebook

When Jupyter Notebook was launched for the first time in 2014, it rapidly revolutionized the IDE landscape. Recently considered one of the most important computing projects, which has changed the process of scientific publishing forever, Jupyter has become the de facto standard in data science.

Jupyter Notebook works as a server-client application, allowing coders to edit and run notebooks via a web browser. The application can be executed on a computer without Internet access, or it can be installed on a remote server, where you can access it through the Internet.

Initially designed to support Julia, Python, and R –three of the most popular programming languages for data science–today, Jupyter supports over 40 programming languages. 

Jupyter is made of two main components.

  • Kernel. It is a program that runs and introspects the user’s code. By default, Jupyter has a kernel for Python code, but there are also kernels available for other programming languages.
  • Dashboard. A notebook is primarily composed of a cell sequence, which can contain elements such as code, text, visualizations, images, and formulas. Besides cells, the dashboard includes various tools to configure the notebook workflow, debug code, export notebooks in different formats, browse documents, and many more. 

Jupyter notebook screenshot

As an improved version of Jupyter Notebook, JupyterLab adds new features and capabilities, although the core components remain intact.

Getting Started with JupyterLab

In order to use JupyterLab, you first will need to install it on your computer, as with any other program. This can be done in different ways, depending on your preferences: using pip, Anaconda, or Docker.

Installing JupyterLab with pip

Pip is the standard package manager in Python. To install JupyterLab with pip, you just have to run on the command line:

>>pip install jupyterlab

After running this instruction, pip will install the JupyterLab packages as well as all the dependencies required for JupyterLab to function. If you want to know more about how to manage packages in Python, check out our Pip Python Tutorial for Package Management.

Once you have successfully installed JupyterLab on your computer, you just have to run the following statement to open up JupyterLab:

>>jupyter lab

Then you'll see the application opening in your preferred web browser on the following address: http://localhost:8888/lab 

JupyterLab screenshot

Installing JupyterLab with Anaconda

Anaconda is a package manager, an environment manager, and a Python distribution that contains a collection of many open-source packages. Anaconda is a great choice if you want to get started in data science. You no longer need to worry about how to install Python or JupyterLab, as they get installed automatically in modern Anaconda distributions.

The easiest way to launch JupyterLab is through the Anaconda Navigator, an application that allows you to make use of Anaconda functionalities in a user-friendly and no-code way. As you can see in the picture below, both Jupyter Notebook and JupyterLab are already installed. You just have to click on the Launch button to open JupyterLab on your web browser. 

Anaconda navigator screenshot

However, in certain cases –for example, when you create a new conda environment–, you may need to install JupyterLab on that environment. To do so, the fastest way is by running the following on the conda command line (Anaconda Prompt on Windows and terminal on macOS and Linux):

>>conda install -c conda-forge jupyterlab

Installing JupyterLab with Docker

Docker is an open platform to run software in containers. These containers are self-contained and isolated processes that allow you to separate your applications from your infrastructure so you can deliver software quickly. 

If you have Docker installed, you can install and use JupyterLab by selecting one of the many Docker images supported by the Jupyter Docker Stacks. You can consider these images as pre-packaged bundles of software that can be automatically downloaded from Docker when you run them.

For example, if you want to install Doker’s image jupyter/datascience-notebook, which includes libraries for data analysis from Julia, Python, and R, you just have to run the following on the Docker command:

>>docker run -it -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/scipy-notebook

For more details and examples on how to use JupyterLab on Docker, check out the documentation. Also, for a detailed introduction to Docker, we highly recommend this DataCamp tutorial.

JupyterLab Interface

JupyterLab interface is a remastered version of the Jupyter Notebook interface, providing a new set of modular building blocks for interactive and efficient computing. JupyterLab integrates several coding tools into one single interface, thus offering a coding experience that resembles more to traditional IDEs. 

JupyterLab interface screenshot

JupyterLab interface comprises the following main elements: 

  • Work area. The main work area comes with a new tab-based layout that allows you to combine different documents (notebooks, data files, HTML, pdfs, images, etc.) and coding tools (terminal, code consoles, text editor, etc.) into panels of tabs that can be resized or subdivided through drag and drop. The tab-based system, absent in Jupyter Notebook, allows for more integrated and efficient programming, as developers are able to do most of their tasks without leaving JupyterLab. 
  • Left sidebar. The collapsible sidebar contains various commonly-used tabs, including:
    • File browser. It allows you to manage files and folders on your computer.
    • Tab and kernel manager. It provides a list of tabs in the main work area and of running kernels and terminals.
    • Table of contents. An interactive index based on headings included in markdown cells.
    • Extension manager. It allows you to install new applications and plugins to improve your JupyterLab experience (see more below). 
  • Right sidebar. A second collapsible sidebar that contains:
    • Property inspector. It allows you to inspect with close detail the information and properties of the cells. 
    • Debugger (see more below)
  • Menu bar. The menu bar at the top of JupyterLab includes top-level menus with actions available in JupyterLab. The different menus are: 
    • File: actions related to files and directories.
    • Edit: actions related to editing documents and other activities.
    • View: actions that change the appearance of JupyterLab.
    • Run: actions for running code in different activities.
    • Kernel: actions for managing kernels.
    • Tabs: a list of the open documents and activities in the work area.
    • Settings: common settings and an advanced settings editor. One of the coolest features of JupyterLab is the possibility to choose different themes for the interface, including Dark Mode.
    • Help: a list of JupyterLab and kernel help links.

Debugging in JupyterLab

The goal behind debugging is to point out the causes of the bugs found in your program during the testing process, and thus adjust your code to output your accurate and desired result. 

Data progressions, and more broadly, software developers, monitor the interactions between and changes in the program's variables in a debugging process. You can investigate the potential causes for the errors in your program by seeing how each different function, method, or even line of code alters the value and functionality of the variables.

Jupyter Notebook and the first versions of JupyterLab incorporated the %debug built-in magic command to conduct debugging tasks. However, the tool is quite rudimentary compared to debuggers in other IDEs. 

Luckily, the latest versions of JupyerLab include a Debugger front-end by default, It includes the traditional debugging capabilities, including setting breakpoints, stepping into functions, and inspecting variables. You can activate it from the right sidebar, as shown in the image below: 

JupyterLab debugging interface

JupyterLab Extensions

JupyterLab is already a powerful and well-equipped tool, with new features that will make your coding experience more IDE-like. However, if you feel that some functionalities are missing or you want to enhance JupyterLab capabilities, you should check Jupyter Extensions.

Written in JavaScript, JUpyterLab extensions are pieces of software containing one or more plugins to add new capabilities to JupyterLab, such as new themes, file editor, and new command shortcuts. 

There are two types of JupyterLab extensions: 

  • Prebuilt extension. They don’t require a rebuild of JupyterLab.
  • Source extension. They require a rebuild of JupyterLab when installed. Rebuilding JupyterLab requires Node.js –an open-source, cross-platform environment for running JavaScript applications– to be installed. 

If you use conda with conda-forge packages, you can get Node.js with:

>>conda install -c conda-forge nodejs

There are several ways to manage JupyterLab extensions, but we highly recommend you use the built-in Extension Manager. Accessed through the puzzle icon on the life sidebar, the Extension manager allows you to install and disable extensions with no coding required.

JupyterLab extension view

For more information about JupyterLab extensions and how to manage them, check out JupyterLab documentation.

JupyterLab vs Jupyter Notebook

​​Below, you can find a table of differences between Jupyter Notebook and JupyterLab:

 

Jupyter Notebook

JupyterLab

Release date

2014

2018

Open source?

Yes

Yes

Tab system

Single tab

Multiple, modular tabs, everything in one view 

Debugging capabilities

%debug magic command

Debugger

Data file viewer

Data files view as text files

Data can be viewed in table format

Coding experience 

Feels like a standalone tool

Feels like an IDE

Themes by default

White

Light and Dark

Advantages

  • Simplicity
  • Steep learning curve
  • Modular and customizable tabs provide efficiency and flexibility.
  • Provide tools and features that increase productivity.

Disadvantages

  • Changing between notebooks and documents can be tedious.
  • Limited tools and features.
  • May feel over-engineered because of the many features.
  • Shallow learning curve

Future developments

Remains as a legacy old version

The future of the Project Jupyter

DataCamp Workspace for Data Science

If you’re looking for an online, cloud-based IDE that allows you to write code and analyze data collaboratively and share your data insights, DataCamp Workspace is a great choice. 

Workspace is a cloud-based data analysis platform that is designed to help you get started quickly and easily. With Workspace, you can skip the time-consuming setup process and start working with data right away. There is no need to install anything, as everything is accessible through the browser. 

When using Workspace, you’ll find built-in datasets that you can use instantly, as well as pre-built templates with pre-written code. Workspace is accessible to all skill levels, with low and no-code tools available to create stunning reports and visualizations. 

It also supports Python and R, both with native SQL integrations and comes pre-configured and pre-installed with the world's most popular data science packages. 

Run and edit the code from this tutorial online

Run Code

Conclusion

You made it to the end. Congratulations! We hope you enjoyed this tutorial about JupyterLab. Because of its cell-based structure, which focuses on interactive, exploratory computing, Jupyter rapidly became a revolutionary tool, the preferred IDE for data professionals. Compared to Jupyter Notebook, JupyterLab is a more refined tool, bringing together the best of notebooks and traditional IDEs, such as RStudio, and PyCharm

So, if you are new to data science and wonder whether you should choose Jupyter Notebook or JUpyterLab, we highly recommend you choose the latter. Willing to know more about Jupyter? Check out the following DataCamp materials:

JupyterLab Tutorial FAQs

  • What is an IDE?
    IDEs are programs designed to enable programmers to write code and develop software applications more efficiently. IDEs increase programmer productivity by putting together multiple utilities into a single interface.
  • What is JupyterLab?
    JupyterLab is the latest Jupyter’s web-based IDE for notebooks, code, and data.
  • What is a notebook?
    A notebook is a document that contains elements such as code, equations, visualizations, and text, following a cell-based structure.
  • Can I use Python in JupyterLab?
    Yes, as well as other programming languages for data science, such as R, and Julia
  • What is JupyterLab Extension Manager?
    It allows you to install new applications and plugins to improve your JupyterLab experience
  • Should I choose Jupyter Notebook or JupyterLab?
    Since JupyterLab is the present and the future of the Jupyter Project, we highly recommend you choose JupyterLab.
Topics

Related courses

Certification available

Course

Introduction to Python

4 hr
5.4M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
See MoreRight Arrow
Related

A Data Science Roadmap for 2024

Do you want to start or grow in the field of data science? This data science roadmap helps you understand and get started in the data science landscape.
Mark Graus's photo

Mark Graus

10 min

Python NaN: 4 Ways to Check for Missing Values in Python

Explore 4 ways to detect NaN values in Python, using NumPy and Pandas. Learn key differences between NaN and None to clean and analyze data efficiently.
Adel Nehme's photo

Adel Nehme

5 min

Seaborn Heatmaps: A Guide to Data Visualization

Learn how to create eye-catching Seaborn heatmaps
Joleen Bothma's photo

Joleen Bothma

9 min

Test-Driven Development in Python: A Beginner's Guide

Dive into test-driven development (TDD) with our comprehensive Python tutorial. Learn how to write robust tests before coding with practical examples.
Amina Edmunds's photo

Amina Edmunds

7 min

Exponents in Python: A Comprehensive Guide for Beginners

Master exponents in Python using various methods, from built-in functions to powerful libraries like NumPy, and leverage them in real-world scenarios to gain a deeper understanding.
Satyam Tripathi's photo

Satyam Tripathi

9 min

Python Linked Lists: Tutorial With Examples

Learn everything you need to know about linked lists: when to use them, their types, and implementation in Python.
Natassha Selvaraj's photo

Natassha Selvaraj

9 min

See MoreSee More