Workshops

Back to Home

Guided, hands-on workshops that run in JupyterLab using the jupyterlab-workshop extension. Each workshop walks you through a topic step by step, with the instructions beside the notebooks, terminals and files you work in.

Pick a group of workshops below to see what each workshop covers. Most can then be launched as a whole collection on mybinder.org, in GitHub Codespaces, or, where available, directly in your browser using JupyterLite. Those that can only be run on your own machine link to their GitHub repository instead.

Guided JupyterLab workshops that teach Python decorators: what they do, how to write them, and why they work. Standard library only, and they run in the browser.
14 workshops About 3h 30m Runs in browser
Guided JupyterLab workshops for wrapt: writing decorators, monkey patching, and object proxies.
  • Decorators with wrapt (12)
  • Monkey patching with wrapt (10)
  • Object proxies with wrapt (10)
3 collections 32 workshops About 8h 5m
Guided JupyterLab workshops that teach wrapture: wrapping call sites without changing the code being observed, for monkey patching, testing and tracing.
24 workshops About 6h 25m
Guided JupyterLab workshops for Tachyon, the sampling profiler in Python 3.15: what a sampling profiler is and how to read one, then profiling real applications with it.
  • Profiling with Tachyon (14)
  • Tachyon on real applications (7)
2 collections 21 workshops About 5h 55m
Guided JupyterLab workshops for the Claude Agent SDK for Python: what an agent is and how to run one, how to extend it, and how to build a chat application on it.
  • Agent foundations with the Claude Agent SDK (10)
  • Extending an agent with the Claude Agent SDK (9)
  • Building a chat app with the Claude Agent SDK (8)
3 collections 27 workshops About 8h 5m Runs locally only