JupyterLab Intermediate

JupyterLab is the next-generation web-based interface for Project Jupyter. It provides a flexible, integrated environment that combines notebooks, code editors, terminals, and custom components in a single, tabbed workspace.

JupyterLab vs Jupyter Notebook

FeatureJupyter Notebook (Classic)JupyterLab
InterfaceSingle notebook per tabMulti-tab, split-pane workspace
File BrowserSeparate dashboard pageIntegrated sidebar panel
TerminalSeparate windowBuilt-in terminal tab
Text EditorBasicFull-featured with syntax highlighting
Extensionsnbextensions (server-side)Modern extension system (client-side)
Drag & DropLimitedDrag cells, tabs, and files freely
Multiple ViewsNoView same notebook in multiple panels
CSV/JSON ViewerNoBuilt-in viewers for data files
Dark ThemeExtension requiredBuilt-in dark theme

Installation

# Install JupyterLab
pip install jupyterlab

# Or with conda
conda install -c conda-forge jupyterlab

# Start JupyterLab
jupyter lab

# Start on specific port
jupyter lab --port 8889

Interface

JupyterLab's interface consists of several key areas:

  • Menu bar: File, Edit, View, Run, Kernel, Tabs, Settings, Help
  • Left sidebar: File browser, running kernels, table of contents, extensions manager
  • Main work area: Tabbed workspace with drag-and-drop arrangement of panels
  • Status bar: Kernel status, cursor position, and notification area

Key Interface Features

  • File browser: Navigate your filesystem, create files/folders, upload, and download
  • Terminals: Open system terminals directly in JupyterLab tabs
  • Consoles: Interactive Python/R consoles linked to kernels
  • Notebooks side by side: Split your workspace to view multiple notebooks simultaneously
  • CSV viewer: Open CSV files as formatted, sortable tables
  • Image viewer: Preview images directly in the workspace
  • JSON viewer: Explore JSON files with collapsible tree view

Extensions System

JupyterLab has a modern extension system:

# List installed extensions
jupyter labextension list

# Install an extension
pip install jupyterlab-git

# Popular extensions
pip install jupyterlab-lsp          # Language server protocol (autocomplete)
pip install jupyterlab-drawio       # Diagrams
pip install jupyterlab-system-monitor # CPU/memory monitor
pip install jupyterlab_code_formatter # Code formatting

Drag and Drop

  • Drag tabs to rearrange or split the workspace into multiple panels
  • Drag cells within notebooks to reorder them
  • Drag files from the file browser into notebooks to generate import code
  • Create side-by-side views by dragging a tab to the edge of the work area

Multiple Views

JupyterLab lets you create multiple synchronized views of the same document:

  • Right-click a notebook tab and select "New View for Notebook"
  • Edit in one view, and changes appear in the other instantly
  • Useful for viewing results at the bottom while editing code at the top

Built-in Terminal

Access a full system terminal without leaving JupyterLab:

  • Open from File → New → Terminal
  • Run git commands, install packages, manage files
  • Multiple terminals can be open simultaneously
  • Supports bash, zsh, PowerShell, or any system shell

Git Integration

# Install Git extension
pip install jupyterlab-git

# After installation, the Git panel appears in the left sidebar
# Features:
# - View changed files
# - Stage/unstage changes
# - Commit with messages
# - Push/pull from remotes
# - View diff for notebooks
# - Branch management

Customization

  • Themes: Switch between light and dark themes in Settings → Theme
  • Keyboard shortcuts: Customize in Settings → Advanced Settings Editor → Keyboard Shortcuts
  • Font size: Adjust code and content font sizes in settings
  • Layout: Save and restore workspace layouts
Recommendation: If you are starting fresh, use JupyterLab instead of the classic Jupyter Notebook. JupyterLab is the actively developed interface and provides a superior experience. Jupyter Notebook 7.0+ is actually built on JupyterLab technology.

Ready to Go Deeper?

Live instructor-led courses from our partners. Affiliate disclosure.