[Python-Dev] PEP 553: Built-in debug()

Fernando Perez fperez.net at gmail.com
Wed Sep 6 19:55:20 EDT 2017

If I may suggest a small API tweak, I think it would be useful if 
breakpoint() accepted an optional header argument. In IPython, the 
equivalent for non-postmortem debugging is IPython.embed, which can be 
given a header. This is useful to provide the user with some 
information about perhaps where the breakpoint is coming from, relevant 
data they might want to look at, etc:

from IPython import embed

def f(x=10):
    y = x+2
    embed(header="in f")
    return y

x = 20
embed(header="Top level")

I understand in most cases these are meant to be deleted right after 
usage and the author is likely to have a text editor open next to the 
terminal where they're debugging.  But still, I've found myself putting 
multiple such calls in a code to look at what's going on in different 
parts of the execution stack, and it can be handy to have a bit of 
information to get your bearings.

Just a thought...



More information about the Python-Dev mailing list