Fundamentals 7 min read

Introducing the JupyterLab Visual Debugger and How to Install It

This article explains why Jupyter needs a visual debugger, describes the newly released JupyterLab Debugger extension, provides installation steps for the front‑end plugin and xeus‑python kernel, and compares it with VS Code visual debugging tools.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
Introducing the JupyterLab Visual Debugger and How to Install It

Jupyter notebooks offer great interactivity but lack built‑in visual debugging, which is essential for large codebases; the Jupyter team therefore released the first version of a visual debugger for JupyterLab.

The new debugger allows setting breakpoints, viewing variables, and navigating call stacks directly within the notebook interface.

To use it, install the front‑end extension with:

<code>jupyter labextension install @jupyterlab/debugger</code>

For the back‑end, the kernel must support the Jupyter Debug Protocol; currently only xeus-python can be used:

<code>conda install xeus-python -c conda-forge</code>

After installing both components, the debugger works out‑of‑the‑box, and an online demo is available without any local installation.

Xeus‑python is the first kernel to support Jupyter debugging. It is a C++ implementation of the Jupyter kernel protocol that enables building language kernels with plug‑in concurrency models and a lightweight codebase, making it easy to iterate and update.

The JupyterLab debugger extension provides IDE‑like features such as a side‑panel file explorer, source preview, breakpoint setting next to code cells, and visual markers indicating the current execution point.

It also supports viewing previously executed cells in read‑only mode, debugging multiple notebooks simultaneously, and inspecting variables via tree and table viewers.

Future plans include richer variable rendering and conditional breakpoints.

The article also mentions a VS Code visual debugging tool that visualizes data structures (e.g., linked lists, trees, plots) during execution, offering customizable visualizers like Plotly, Tree, and Grid, though Python support is still under discussion.

Overall, the JupyterLab visual debugger and related tools aim to bring IDE‑level debugging capabilities to the interactive notebook environment.

ideDebuggerJupyterLabVS Codexeus-python
Python Programming Learning Circle
Written by

Python Programming Learning Circle

A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.