JupyterLab
01 / 02

Interface, Notebooks & Kernels

JupyterLab: Interface, Notebooks & Kernels

JupyterLab is the next-generation web-based IDE for Jupyter. It replaces the classic Jupyter Notebook UI with a flexible, tabbed workspace supporting notebooks, terminals, text editors, and file browsers side by side.

Installation & Launch

pip install jupyterlab
jupyter lab                        # launch in browser
jupyter lab --port=8889            # custom port
jupyter lab --no-browser           # headless (get URL from output)
jupyter lab --ip=0.0.0.0           # bind to all interfaces (remote server)

# Install specific version
pip install jupyterlab==4.0.0

# With conda
conda install -c conda-forge jupyterlab

Notebooks

A notebook is a JSON document (.ipynb) containing cells — code, Markdown, or raw. Each notebook connects to a kernel (Python, R, Julia, etc.) that executes code cells.

# Cell types
# Code cell: executes code in the kernel language
import numpy as np
arr = np.arange(10)
arr ** 2

# Markdown cell: renders Markdown/LaTeX
# Use ## headings, **bold**, *italic*, $E = mc^2$

# Raw cell: not executed, not rendered — used for nbconvert directives
Keyboard shortcuts (command mode — press Esc):
  A          — insert cell Above
  B          — insert cell Below
  D D        — delete cell
  M          — change to Markdown
  Y          — change to Code
  Shift+Enter — run cell, move to next
  Ctrl+Enter  — run cell, stay
  Alt+Enter   — run cell, insert below
  Z           — undo cell deletion
  0 0         — restart kernel
  1-6         — change heading level (Markdown)

Edit mode (press Enter):
  Tab            — autocomplete
  Shift+Tab      — inspect signature/docstring
  Ctrl+/         — toggle comment
  Ctrl+Shift+-   — split cell at cursor

Kernels

# List available kernels
jupyter kernelspec list

# Install a new kernel (e.g., for a venv)
pip install ipykernel
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"

# Remove kernel
jupyter kernelspec remove myenv

# Other language kernels
pip install IRkernel       # R
# julia: run Pkg.add("IJulia") in Julia REPL

JupyterLab Interface

  • Left sidebar: file browser, running terminals/kernels, extension manager, table of contents.

  • Main area: tabs for notebooks, editors, terminals, CSV viewers. Drag tabs to split view.

  • Command palette (Ctrl+Shift+C): search all commands — faster than menus.

  • Context menus: right-click cells or file browser entries for common actions.

  • Settings editor (Settings → Advanced Settings): customize keybindings, themes, autosave.

  • Single-document mode (View → Simple Interface): hides sidebar for distraction-free work.

Keep your own version of these notes — editable, searchable, and organised by your stack.

Start free