Important

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.magics.config

Implementation of configuration-related magic functions.

1 Class

class IPython.core.magics.config.ConfigMagics(**kwargs: Any)

Bases: Magics

__init__(shell)

Create a configurable given a config config.

Parameters:
  • 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.

Notes

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.

config(s)

configure IPython

%config Class[.trait=value]

This magic exposes most of the IPython config system. Any Configurable class should be able to be configured with the simple line:

%config Class.trait=value

Where value will be resolved in the user’s namespace, if it is an expression or variable name.

Examples

To see what classes are available for config, pass no arguments:

In [1]: %config
Available objects for config:
    AliasManager
    DisplayFormatter
    HistoryManager
    IPCompleter
    LoggingMagics
    MagicsManager
    OSMagics
    PrefilterManager
    ScriptMagics
    TerminalInteractiveShell

To view what is configurable on a given class, just pass the class name:

In [2]: %config LoggingMagics
LoggingMagics(Magics) options
---------------------------
LoggingMagics.quiet=<Bool>
    Suppress output of log state when logging is enabled
    Current: False

but the real use is in setting values:

In [3]: %config LoggingMagics.quiet = True

and these values are read from the user_ns if they are variables:

In [4]: feeling_quiet=False

In [5]: %config LoggingMagics.quiet = feeling_quiet