It's actually customizable via the PYTHONBREAKPOINT environment variable and sys.breakpointhook(). The default does pdb.set_trace(), which gives you a built-in debugger prompt (not a REPL) at that location. But it can be set to execute arbitrary code, and most Python IDEs make it behave like "normal" breakpoints.