core.config#
The Config class initializes and parses configurations for all other steps. It supports CLI argument parsing, loading from YAML file, and overrides to allow flexible setup in various environments.
Module Contents#
- core.config.DEFAULT_CONFIG_FILE = 'secrets/orchestration.yaml'#
- core.config.EMPTY_CONFIG#
- class core.config.AuthenticationJsonParseAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)#
Bases:
argparse.ActionInformation about how to convert command line strings to Python objects.
Action objects are used by an ArgumentParser to represent the information needed to parse a single argument from one or more strings from the command line. The keyword arguments to the Action constructor are also all attributes of Action instances.
- Keyword Arguments:
which (- option_strings -- A list of command-line option strings) – should be associated with this action.
object (- dest -- The name of the attribute to hold the created)
be (- nargs -- The number of command-line arguments that should) –
consumed. By default, one argument will be consumed and a single value will be produced. Other values include:
N (an integer) consumes N arguments (and produces a list)
’?’ consumes zero or one arguments
’*’ consumes zero or more arguments (and produces a list)
’+’ consumes one or more arguments (and produces a list)
Note that the difference between the default and nargs=1 is that with the default, a single value will be produced, while with nargs=1, a list containing a single value will be produced.
the (- metavar -- The name to be used for the option's argument with) – option uses an action that takes no values.
specified. (- default -- The value to be produced if the option is not)
and (- type -- A callable that accepts a single string argument,) – returns the converted value. The standard Python types str, int, float, and complex are useful examples of such callables. If None, str is used.
None, (- choices -- A container of values that should be allowed. If not) – after a command-line argument has been converted to the appropriate type, an exception will be raised if it is not a member of this collection.
the – command line. This is only meaningful for optional command-line arguments.
argument. (- help -- The help string describing the)
the – help string. If None, the ‘dest’ value will be used as the name.
- class core.config.UniqueAppendAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)#
Bases:
argparse.ActionInformation about how to convert command line strings to Python objects.
Action objects are used by an ArgumentParser to represent the information needed to parse a single argument from one or more strings from the command line. The keyword arguments to the Action constructor are also all attributes of Action instances.
- Keyword Arguments:
which (- option_strings -- A list of command-line option strings) – should be associated with this action.
object (- dest -- The name of the attribute to hold the created)
be (- nargs -- The number of command-line arguments that should) –
consumed. By default, one argument will be consumed and a single value will be produced. Other values include:
N (an integer) consumes N arguments (and produces a list)
’?’ consumes zero or one arguments
’*’ consumes zero or more arguments (and produces a list)
’+’ consumes one or more arguments (and produces a list)
Note that the difference between the default and nargs=1 is that with the default, a single value will be produced, while with nargs=1, a list containing a single value will be produced.
the (- metavar -- The name to be used for the option's argument with) – option uses an action that takes no values.
specified. (- default -- The value to be produced if the option is not)
and (- type -- A callable that accepts a single string argument,) – returns the converted value. The standard Python types str, int, float, and complex are useful examples of such callables. If None, str is used.
None, (- choices -- A container of values that should be allowed. If not) – after a command-line argument has been converted to the appropriate type, an exception will be raised if it is not a member of this collection.
the – command line. This is only meaningful for optional command-line arguments.
argument. (- help -- The help string describing the)
the – help string. If None, the ‘dest’ value will be used as the name.
- class core.config.DefaultValidatingParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True, exit_on_error=True)#
Bases:
argparse.ArgumentParserObject for parsing command line strings into Python objects.
- Keyword Arguments:
(default (- usage -- A usage message) –
os.path.basename(sys.argv[0]))(default – auto-generated from arguments)
does (- description -- A description of what the program)
descriptions (- epilog -- Text following the argument)
one (- parents -- Parsers whose arguments should be copied into this)
messages (- formatter_class -- HelpFormatter class for printing help)
arguments (- argument_default -- The default value for all)
containing (- fromfile_prefix_chars -- Characters that prefix files) – additional arguments
arguments
conflicts (- conflict_handler -- String indicating how to handle)
option (- add_help -- Add a -h/-help)
unambiguously (- allow_abbrev -- Allow long options to be abbreviated)
with (- exit_on_error -- Determines whether or not ArgumentParser exits) – error info when an error occurs
- error(message)#
Override of error to format a nicer looking error message using logger
- parse_known_args(args=None, namespace=None)#
Override of parse_known_args to also check the ‘defaults’ values - which are passed in from the config file
- core.config.to_dot_notation(yaml_conf: ruamel.yaml.CommentedMap | dict) dict#
- core.config.from_dot_notation(dotdict: dict) dict#
- core.config.is_list_type(value)#
- core.config.is_dict_type(value)#
- core.config.merge_dicts(dotdict: dict, yaml_dict: ruamel.yaml.CommentedMap) ruamel.yaml.CommentedMap#
- core.config.read_yaml(yaml_filename: str) ruamel.yaml.CommentedMap#
- core.config.store_yaml(config: ruamel.yaml.CommentedMap, yaml_filename: str) None#
- core.config.is_valid_config(config: ruamel.yaml.CommentedMap) bool#