### Navigation

- index
- modules |
- next |
- previous |
- home|
- search|
- documentation »
- The IPython API »

# core.profiledir

## Module: `core.profiledir`

Inheritance diagram for `IPython.core.profiledir`:

An object for managing IPython profile directories.

Authors:

- Brian Granger
- Fernando Perez
- Min RK

## Classes

### `ProfileDir`

class `IPython.core.profiledir.``ProfileDir`(**kwargs)

  Bases: `IPython.config.configurable.Configurable`

  An object to manage the profile directory and its resources.

  The profile directory is used by all IPython applications, to manage configuration, logging and security.

  This object knows how to find, create and manage these directories. This should be used by any code that wants to handle profiles.

  `__init__`(**kwargs)

    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.

    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)
                # Then any other code you need to finish initialization.

    This ensures that instances will be configured properly.

  `check_dirs`()
  `check_log_dir`()
  `check_pid_dir`()
  `check_security_dir`()
  classmethod `class_config_section`()

    Get the config class config section

  classmethod `class_get_help`()

    Get the help string for this class in ReST format.

  classmethod `class_get_trait_help`(trait)

    Get the help string for a single trait.

  classmethod `class_print_help`()

    Get the help string for a single trait and print it.

  classmethod `class_trait_names`(**metadata)

    Get a list of all the names of this classes traits.

    This method is just like the `trait_names()` method, but is unbound.

  classmethod `class_traits`(**metadata)

    Get a list of all the traits of this class.

    This method is just like the `traits()` method, but is unbound.

    The TraitTypes returned don’t know anything about the values that the various HasTrait’s instances are holding.

    This follows the same algorithm as traits does and does not allow for any simple way of specifying merely that a metadata name exists, but has any value. This is because get_metadata returns None if a metadata key doesn’t exist.

  `config`

    A trait whose value must be an instance of a specified class.

    The value can also be an instance of a subclass of the specified class.

  `copy_config_file`(config_file, path=None, overwrite=False)

    Copy a default config file into the active profile directory.

    Default configuration files are kept in `IPython.config.default`. This function moves these from that location to the working profile directory.

  classmethod `create_profile_dir`(profile_dir, config=None)

    Create a new profile directory given a full path.

    Parameters :

    profile_dir : str

    > The full path to the profile directory. If it does exist, it will be used. If not, it will be created.

  classmethod `create_profile_dir_by_name`(path, name=u'default', config=None)

    Create a profile dir by profile name and path.

    Parameters :

    path : unicode

    > The path (directory) to put the profile directory in.

    name : unicode

    > The name of the profile. The name of the profile directory will be “profile_<profile>”.

  `created` = None
  classmethod `find_profile_dir`(profile_dir, config=None)

    Find/create a profile dir and return its ProfileDir.

    This will create the profile directory if it doesn’t exist.

    Parameters :

    profile_dir : unicode or str

    > The path of the profile directory. This is expanded using `IPython.utils.genutils.expand_path()`.

  classmethod `find_profile_dir_by_name`(ipython_dir, name=u'default', config=None)

    Find an existing profile dir by profile name, return its ProfileDir.

    This searches through a sequence of paths for a profile dir. If it is not found, a `ProfileDirError` exception will be raised.

    The search path algorithm is: 1. `os.getcwdu()` 2. `ipython_dir`

    Parameters :

    ipython_dir : unicode or str

    > The IPython directory to use.

    name : unicode or str

    > The name of the profile. The name of the profile directory will be “profile_<profile>”.

  `location`

    A trait for unicode strings.

  `log_dir`

    A trait for unicode strings.

  `log_dir_name`

    A trait for unicode strings.

  `on_trait_change`(handler, name=None, remove=False)

    Setup a handler to be called when a trait changes.

    This is used to setup dynamic notifications of trait changes.

    Static handlers can be created by creating methods on a HasTraits subclass with the naming convention ‘_[traitname]_changed’. Thus, to create static handler for the trait ‘a’, create the method _a_changed(self, name, old, new) (fewer arguments can be used, see below).

    Parameters :

    handler : callable

    > A callable that is called when a trait changes. Its signature can be handler(), handler(name), handler(name, new) or handler(name, old, new).

    name : list, str, None

    > If None, the handler will apply to all traits. If a list of str, handler will apply to all names in the list. If a str, the handler will apply just to that name.

    remove : bool

    > If False (the default), then install the handler. If True then unintall it.

  `pid_dir`

    A trait for unicode strings.

  `pid_dir_name`

    A trait for unicode strings.

  `security_dir`

    A trait for unicode strings.

  `security_dir_name`

    A trait for unicode strings.

  `trait_metadata`(traitname, key)

    Get metadata values for trait by key.

  `trait_names`(**metadata)

    Get a list of all the names of this classes traits.

  `traits`(**metadata)

    Get a list of all the traits of this class.

    The TraitTypes returned don’t know anything about the values that the various HasTrait’s instances are holding.

    This follows the same algorithm as traits does and does not allow for any simple way of specifying merely that a metadata name exists, but has any value. This is because get_metadata returns None if a metadata key doesn’t exist.

### `ProfileDirError`

class `IPython.core.profiledir.``ProfileDirError`

  Bases: `exceptions.Exception`

  `__init__`()

    x.__init__(...) initializes x; see x.__class__.__doc__ for signature

  `args`
  `message`

### Navigation

- index
- modules |
- next |
- previous |
- home|
- search|
- documentation »
- The IPython API »