tlcconfig.option_loader
#
This module contains the OptionLoader class, which is used to load and store the 3LC options.
Module Contents#
Classes#
Class |
Description |
---|---|
Holds the value of a 3LC option |
|
Load the 3LC options. |
Functions#
Function |
Description |
---|---|
Format the type for human-readable output. |
|
Check if the type of the given instance matches the hinted type. Returns True if it matches, otherwise returns a tuple of False and a descriptive error message. |
|
Return the default config file. |
|
Return the default config file location. |
API#
- tlcconfig.option_loader.check_type(instance: Any, hinted: type) tuple[bool, str] #
Check if the type of the given instance matches the hinted type. Returns True if it matches, otherwise returns a tuple of False and a descriptive error message.
- tlcconfig.option_loader.get_default_config_file_locations() list[str] #
Return the default config file location.
- class tlcconfig.option_loader.OptionValue(cls: type[tlcconfig.options.OPTION])#
Holds the value of a 3LC option
- class tlcconfig.option_loader.OptionLoader(config_file: str | None = None, initialize: bool = True, set_additional_arguments: Callable[[tlcconfig.option_loader.OptionLoader], tuple[Any, list[str]]] | None = None)#
Load the 3LC options.
Note
Even if config_file is passed in, values from environment variables will override values from the config file.
- Parameters:
config_file – The config file to use. If None, the default config files will be searched for and used if they exist.
initialize – If True, the options will be read from the config file and environment variables. This is the default.
- Raises:
FileNotFoundError – If config_file is set and does not exists.
- get_config() dict[type[tlcconfig.options.OPTION], Any] #
Return the current configuration as a dictionary.
- get_value(option: type[tlcconfig.options.OPTION]) Any #
Return the value of an option.
- get_config_source(option: type[tlcconfig.options.OPTION]) tlcconfig.options.ConfigSource #
Return the value of an option.
- set_value(option: type[tlcconfig.options.OPTION], value: Any, config_source: tlcconfig.options.ConfigSource = ConfigSource.API) None #
Set the value of an option.
- write_to_yaml_file(filename: str, overwrite: bool = False, doc_strings: bool = True) bool #
Write the current configuration to a YAML file.
- Parameters:
filename – The name of the file to write to, if not set the default config file will be used as returned by
get_default_config_file
.overwrite – If True, the file will be overwritten if it exists. If False, the file will not be written.
doc_strings – If True, doc strings will be included as comments in the output YAML file.
- update_from_project_root_config_file() None #
Update the configuration from the project root config file.
- static set_instance(option_loader: tlcconfig.option_loader.OptionLoader) None #
Set the instance of the OptionLoader to be used by the rest of the package.
- Parameters:
option_loader – The OptionLoader instance to be used by the rest of the application.
- static instance() tlcconfig.option_loader.OptionLoader #
Return the instance of the OptionLoader to be used by the rest of the application.
If the instance has not been set, a new instance will be created using the defaults.
- Returns:
The OptionLoader instance to be used by the rest of the application.
- Raises:
ValueError – If no valid OptionLoader can be created.
- static resolve_effective_config_file(path: str | None = None, env: dict[str, str] | None = None) str | None #
Return the effective config file path.
This method is deprecated and will be removed in a future release.
This method will search for a valid config file in the following order:
Path specified by the path argument
Path specified by the TLC_CONFIG_FILE environment variable
Default config file locations
- Parameters:
path – The path to the config file to use. If None, the default config files will be searched for.
env – Dict for environment variables. If None, os.environ will be used.
- Returns:
A string with a path to a config file. Returns None if no config file can be found.
- Raises:
FileNotFoundError – If the path argument or TLC_CONFIG_FILE environment variable is specified but the file does not exist.