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


Release date



Open source?



Tab system

Single tab

Multiple, modular tabs, everything in one view 

Debugging capabilities

%debug magic command


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


Light and Dark


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


  • 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

Open Workspace


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.

Related courses

Introduction to Python

BeginnerSkill Level
4 hr
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

Google Cloud for Data Scientists: Harnessing Cloud Resources for Data Analysis

How can using Google Cloud make data analysis easier? We explore examples of companies that have already experienced all the benefits.
Oleh Maksymovych's photo

Oleh Maksymovych

9 min

A Guide to Docker Certification: Exploring The Docker Certified Associate (DCA) Exam

Unlock your potential in Docker and data science with our comprehensive guide. Explore Docker certifications, learning paths, and practical tips.
Matt Crabtree's photo

Matt Crabtree

8 min

Bash & zsh Shell Terminal Basics Cheat Sheet

Improve your Bash & zsh Shell skills with the handy shortcuts featured in this convenient cheat sheet!
Richie Cotton's photo

Richie Cotton

6 min

Functional Programming vs Object-Oriented Programming in Data Analysis

Explore two of the most commonly used programming paradigms in data science: object-oriented programming and functional programming.
Amberle McKee's photo

Amberle McKee

15 min

A Comprehensive Introduction to Anomaly Detection

A tutorial on mastering the fundamentals of anomaly detection - the concepts, terminology, and code.
Bex Tuychiev's photo

Bex Tuychiev

14 min

Pandas Profiling (ydata-profiling) in Python: A Guide for Beginners

Learn how to use the ydata-profiling library in Python to generate detailed reports for datasets with many features.
Satyam Tripathi's photo

Satyam Tripathi

9 min

See MoreSee More