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

2 Classes

class IPython.terminal.interactiveshell.PtkHistoryAdapter(shell)

Bases: History

Prompt toolkit has it’s own way of handling history, Where it assumes it can Push/pull from history.


Add string to the history.


This should be a generator that yields str instances.

It should yield the most recent items first, because they are the most important. (The history can already be used, even when it’s only partially loaded.)

store_string(string: str) None

Store the string in persistent storage.

class IPython.terminal.interactiveshell.TerminalInteractiveShell(**kwargs: Any)

Bases: 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

property debugger_cls

Version of debugger where KeyboardInterrupt exits the debugger altogether.


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.


cmd (str) – Command to execute.

3 Functions


We do not need to protect against error, this is taken care at a higher level where any reformat error is ignored. Indeed we may call reformatting on incomplete code.