simdb.config package

Config module.

The config module contains the code for reading the global and user configuration files which are used to populate the Config object passed to other parts of SimDB.

class simdb.config.Config(file_name=None)[source]

Bases: object

CONFIG_FILE_NAME: str = 'simdb.cfg'
NOTHING = <simdb.config.config.Config._NothingSentinel object>
property api_version: str
property config_directory: Path

Returns the directory that the local user configuration file is loaded from. @return:

property debug: bool

Returns the debug status flag.

property default_remote: str | None

Returns the default remote used by the SimDB client.

delete_option(name: str) None[source]

Delete the option with the given name from the configuration.

@param name: the name of the option to delete

delete_section(name: str) None[source]

Delete the section with the given name from the configuration.

This will also delete all options contained in this section.

@param name: the name of the section to delete

get_option(name: str, default: int | float | bool | str | None | _NothingSentinel = <simdb.config.config.Config._NothingSentinel object>) int | float | bool | str[source]

Returns the value for the option with the given name from the configuration.

@param name: the name of the option to return @param default: the value to return if the option is not found in the configuration @return: the value of the found option, or the default if given and the option is not found @raise KeyError if the option is not found and no default is given

get_section(name: str, default: Dict[str, int | float | bool | str] | None = None) Dict[str, int | float | bool | str][source]

Returns the section from the configuration with the given name.

@param name: the name of the section to find @param default: a dictionary that will be returned if the section is not found @return: the section corresponding to the given name, or the default if given and the section is not found @raise KeyError if the section is not found and no default is given

get_string_option(name: str, default: str | None | _NothingSentinel = <simdb.config.config.Config._NothingSentinel object>) str[source]

Returns the value for the option with the given name from the configuration but also ensures the resulting value is a string.

@see get_option @raise TypeError if the found value was not a string

list_options() List[str][source]

List all the options found in the configuration.

@return: the values found as a list of “name: value” strings

load(file: TextIO | None = None) None[source]

Load the configuration.

This loads the configuration from the given file and the site config and user config files.

The location of these files are either specified by SIMDB_USER_CONFIG_PATH and SIMDB_SITE_CONFIG_PATH environmental variables or in the appdirs.site_config_dir(‘simdb’) and appdirs.user_config_dir(‘simdb’).

The user config file is loaded after the site config file and will overwrite any settings specified. The given file is loaded after both the site and user config files.

Parameters:

file – The location of a config file to load.

save() None[source]

Save the current state of the configuration to a configuration file in the users configuration directory.

sections() List[str][source]

Return all sections in the configuration.

set_option(name: str, value: int | float | bool | str) None[source]

Set the option with the given name to the given value.

@param name: the name of the option to set @param value: the value to set the option to

property user_config_path: Path
property verbose: bool

Returns the SimDB client verbosity flag.

exception simdb.config.ConfigError[source]

Bases: Exception

Submodules