# Module: `core.application`

An application for IPython.

All top-level applications should use the classes in this module for handling configuration and creating configurables.

The job of an `Application` is to create the master configuration object and then create the configurable objects, passing the config to them.

Authors:

- Brian Granger
- Fernando Perez
- Min RK

## 1 Class

class `IPython.core.application.``BaseIPythonApplication`(**kwargs)

  Bases: `IPython.config.application.Application`

  `__init__`(**kwargs)
  `excepthook`(etype, evalue, tb)

    this is sys.excepthook after init_crashhandler

    set self.verbose_crash=True to use our full crashhandler, instead of a regular traceback with a short message (crash_handler_lite)

  `init_config_files`()

    [optionally] copy default config files into profile dir.

  `init_crash_handler`()

    Create a crash handler, typically setting sys.excepthook to it.

  `init_profile_dir`()

    initialize the profile dir

  `load_config_file`(suppress_errors=True)

    Load the config file.

    By default, errors in loading config are handled, and a warning printed on screen. For testing, the suppress_errors option is set to False, so errors will make tests fail.

  `stage_default_config_file`()

    auto generate default config file, and stage it into the profile.