This documentation covers IPython versions 6.0 and higher. Beginning with version 6.0, IPython stopped supporting compatibility with Python versions lower than 3.3 including all versions of Python 2.7.

If you are looking for an IPython version compatible with Python 2.7, please use the IPython 5.x LTS release and refer to its documentation (LTS is the long term support release).

Module: terminal.debugger

1 Class

class IPython.terminal.debugger.TerminalPdb(*args, pt_session_options=None, **kwargs)

Bases: Pdb

Standalone IPython debugger.

__init__(*args, pt_session_options=None, **kwargs)

Create a new IPython debugger.

  • completekey (default None) – Passed to pdb.Pdb.

  • stdin (default None) – Passed to pdb.Pdb.

  • stdout (default None) – Passed to pdb.Pdb.

  • context (int) – Number of lines of source code context to show when displaying stacktrace information.

  • **kwargs – Passed to pdb.Pdb.


The possibilities are python version dependent, see the python docs for more info.


Repeatedly issue a prompt, accept input, parse an initial prefix off the received input, and dispatch to action methods, passing them the remainder of the line as argument.

override the same methods from cmd.Cmd to provide prompt toolkit replacement.



Start an interactive interpreter whose global namespace contains all the (global and local) names found in the current scope.


Initialize the prompt session and the prompt loop and store them in self.pt_app and self.pt_loop.

Additional keyword arguments for the PromptSession class can be specified in pt_session_options.

1 Function


Start debugging from frame.

If frame is not specified, debugging starts from caller’s frame.