Tuesday
Oct. 13, 2020, 4 p.m.–Oct. 13, 2020, 4:30 p.m.
in Jupyter Core
A visual debugger in Jupyter
- Audience level:
- Novice
Brief Summary
In this talk, we introduce the visual debugger of JupyterLab 3.0. We show its capabilities with small demonstrations in Jupyter notebooks and consoles. We discuss basic and advanced debugging use cases and lay out a roadmap for future development.
Outline
This will be a functional talk to show the new debugging capabilities in JupyterLab 3.0 that were first announced in a blog post featuring an earlier version: https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559
The structure of the talk is as follows:
How did users debug notebooks before?
print
, pdb
, VSCode, PyCharm, etc.
Debugging in Jupyter kernels
- How can we support multiple kernels? DAP, etc.
- Extending the kernel messaging specification
- Splitting the shell and control channels
- Wrapping the DAP
- Introduction to
xeus-python
- Why we cannot implement the DAP in IPython (yet)
- The concurrency model of
xeus
- Extending the DAP
A visual debugger front-end for JupyterLab
- Demo of debugging a Python notebook
- Basics of the UI:
- starting a debug session
- setting breakpoints
- examining variables
- Advanced usage
- stepping in/out of code
- conditional breakpoints
- executing code while stopped in a breakpoint
- deleted cells
- debugging multiple notebooks simultaneously
- Roadmap for future development
- Rich MIME-type rendering (e.g.,
DataFrame
support)
- Supporting more kernels
Acknowledgments
- Institutional support: Two Sigma, Bloomberg, QuantStack
- Community contributors (with links to individual projects)