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.interactiveshell

IPython terminal interface using prompt_toolkit

1 Class

class IPython.terminal.interactiveshell.TerminalInteractiveShell(*args, **kwargs)

Bases: IPython.core.interactiveshell.InteractiveShell

__init__(*args, **kwargs)

Create a configurable given a config config.

  • config (Config) – If this is empty, default values are used. If config is a Config instance, it will be used to configure the instance.
  • parent (Configurable instance, optional) – The parent Configurable instance of this object.


Subclasses of Configurable must call the __init__() method of Configurable before doing anything else and using super():

class MyConfigurable(Configurable):
    def __init__(self, config=None):
        super(MyConfigurable, self).__init__(config=config)
        # Then any other code you need to finish initialization.

This ensures that instances will be configured properly.


Overridden from the parent class to use fancy rewriting prompt


Modified Pdb class, does not load readline.

for a standalone version that uses prompt_toolkit, see IPython.terminal.debugger.TerminalPdb and IPython.terminal.debugger.set_trace()


Switch prompts to classic for %doctest_mode


Call the given cmd in a subprocess using os.system on Windows or using the system shell on other platforms.

Parameters:cmd (str) – Command to execute.

1 Function