This documentation covers a development version of IPython. The development version may differ significantly from the latest stable release.


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: core.builtin_trap

A context manager for managing things injected into builtins.

1 Class

class IPython.core.builtin_trap.BuiltinTrap(**kwargs: Any)

Bases: Configurable


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.


Store ipython references in the __builtin__ namespace.

add_builtin(key, value)

Add a builtin and save the original.


Remove any builtins which might have been added by add_builtins, or restore overwritten ones to their previous values.

remove_builtin(key, orig)

Remove an added builtin and re-set the original.