NoPdb: Non-interactive Python Debugger
By O. Cífka
NoPdb is a programmatic (non-interactive) debugger for Python. This means it gives you access to debugger-like superpowers directly from your code. With NoPdb, you can:
- capture function calls, including arguments, local variables, return values and stack traces
- set “breakpoints” that trigger user-defined actions when hit, namely:
- evaluate expressions to retrieve their values later
- execute arbitrary code, including modifying local variables
- enter an interactive debugger like
pdb
NoPdb is also a convenient tool for inspecting machine learning model internals. For example, this notebook and this post show how to use it to visualize Transformer (ViT) attention in PyTorch.
- Installation:
pip install nopdb
- Github
- Docs
- PyTorch ViT tutorial as a Medium post, blog post and Colab notebook