Class representing igraph configuration details.
Note that there is one primary instance of this class, which is used by igraph itself to retrieve configuration parameters when needed. You can access this instance with the
instance() method. You may construct other instances by invoking the constructor directly, but these instances will not affect igraph's behaviour. If you are interested in configuring igraph, use
igraph.config to get hold of the singleton instance and then modify it.
The configuration of igraph is stored in the form of name-value pairs. This object provides an interface to the configuration data using the syntax known from dict:
>>> c = Configuration() >>> c["general.verbose"] = True >>> print(c["general.verbose"]) True
Configuration keys are organized into sections, and the name to be used for a given key is always in the form section.keyname, like general.verbose in the example above. In that case, general is the name of the configuration section, and verbose is the name of the key. If the name of the section is omitted, it defaults to general, so general.verbose can be referred to as verbose:
>>> c = Configuration() >>> c["verbose"] = True >>> print(c["general.verbose"]) True
User-level configuration is stored in ~/.igraphrc per default on Linux and Mac OS X systems, or in C:\Documents and Settings\username\.igraphrc on Windows systems. However, this configuration is read only when igraph is launched through its shell interface defined in
igraph.app.shell. This behaviour might change before version 1.0.
Known configuration keys
The known configuration keys are presented below, sorted by section. When referring to them in program code, don't forget to add the section name, expect in the case of section general.
These settings are all stored in section general.
- shells: the list of preferred Python shells to be used with the command-line igraph script. The shells in the list are tried one by one until any of them is found on the system. igraph functions are then imported into the main namespace of the shell and the shell is launched. Known shells and their respective class names to be used can be found in
igraph.app.shell. Example: IPythonShell, ClassicPythonShell. This is the default, by the way.
- verbose: whether
igraphshould talk more than really necessary. For instance, if set to True, some functions display progress bars.
These settings specify the external applications that are possibly used by igraph. They are all stored in section apps.
- image_viewer: image viewer application. If set to an empty string, it will be determined automatically from the platform igraph runs on. On Mac OS X, it defaults to the Preview application. On Linux, it chooses a viewer from several well-known Linux viewers like gthumb, kuickview and so on (see the source code for the full list). On Windows, it defaults to the system's built-in image viewer.
These settings specify the default values used by plotting functions. They are all stored in section plotting.
- layout: default graph layout algorithm to be used.
- mark_groups: whether to mark the clusters by polygons when plotting a clustering object.
- palette: default palette to be used for converting integer numbers to colors. See
colors.Palettefor more information. Valid palette names are stored in colors.palettes.
- wrap_labels: whether to try to wrap the labels of the vertices automatically if they don't fit within the vertex. Default: False.
These settings specify options for external environments in which igraph is embedded (e.g., IPython and its Qt console). These settings are stored in section shell.
- ipython.inlining.Plot: whether to show instances of the
Plotclass inline in IPython's console if the console supports it. Default: True
||Static class for the implementation of custom getter/setter functions for configuration keys|
||Returns the single instance of the configuration object.|
||Checks whether the given configuration item is set.|
||Deletes the given item from the configuration.|
||Returns the given configuration item.|
||Creates a new configuration instance.|
||Sets the given configuration item.|
||Checks if the configuration has a given key.|
||Loads the configuration from the given file.|
||Saves the configuration.|
||Returns the filename associated to the object.|
||Converts an item description to a section-key pair.|
||Internal function that returns the value of a given key in a given section.|
def instance(cls): ¶
Returns the single instance of the configuration object.
Checks whether the given configuration item is set.
|item||the configuration key to check.|
|True if the key has an associated value, False otherwise.|
Deletes the given item from the configuration.
If the item has a default value, the default value is written back instead of the current value. Without a default value, the item is really deleted.
Returns the given configuration item.
|item||the configuration key to retrieve.|
|the configuration value|
Creates a new configuration instance.
|filename||file or file pointer to be read. Can be omitted.|
Sets the given configuration item.
|item||the configuration key to set|
|value||the new value of the configuration key|
Checks if the configuration has a given key.
|item||the key being sought|
Loads the configuration from the given file.
|stream||name of a file or a file object. The configuration will be loaded from here. Can be omitted, in this case, the user-level configuration is loaded.|
Saves the configuration.
|stream||name of a file or a file object. The configuration will be saved there. Can be omitted, in this case, the user-level configuration file will be overwritten.|
filename = ¶
Returns the filename associated to the object.
It is usually the name of the configuration file that was used when creating the object.
Configuration.load always overwrites it with the filename given to it. If None, the configuration was either created from scratch or it was updated from a stream without name information.
def _item_to_section_key(item): ¶
Converts an item description to a section-key pair.
|item||the item to be converted|
|if item contains a period (.), it is splitted into two parts at the first period, then the two parts are returned, so the part before the period is the section. If item does not contain a period, the section is assumed to be general, and the second part of the returned pair contains item unchanged|
Internal function that returns the value of a given key in a given section.