message_ix_models.tests.util.test_config.C3
- class message_ix_models.tests.util.test_config.C3(bar_1: float = 0.01, subconfig_a: ~message_ix_models.tests.util.test_config.C1 = <factory>, subconfig_b: ~message_ix_models.tests.util.test_config.C2 = <factory>)[source]
Bases:
ConfigHelperA class with a plain attribute and 2 instances of classes.
- __init__(bar_1: float = 0.01, subconfig_a: ~message_ix_models.tests.util.test_config.C1 = <factory>, subconfig_b: ~message_ix_models.tests.util.test_config.C2 = <factory>) None
Methods
__init__([bar_1, subconfig_a, subconfig_b])from_dict(data)Construct an instance from data with name manipulation.
hexdigest([length])Return a hex digest that is unique for distinct settings on the instance.
read_file(path[, key])Update configuration from file.
replace(**kwargs)Like
dataclasses.replace()with name manipulation.update([arg])Update attributes in-place.
Attributes
bar_1subconfig_asubconfig_b- hexdigest(length: int = -1) str
Return a hex digest that is unique for distinct settings on the instance.
Uses
dataclasses.asdict(). This means that if the names of fields defined by a subclass change—including if fields are added or removed—the result will differ. The returned value should be the same across versions of Python.- Returns:
If length is greater than 0, a string of this length; otherwise a 32-character string from
blake2s.hexdigest().- Return type:
- read_file(path: Path, key: str = '') None
Update configuration from file.
- Parameters:
path – to a
.yamlfile containing a top-level mapping.key – if given, read data not from the top level of the file, but from a sub- mapping under the top-level key key.
optional – if given, read data not from the top level of the file, but from a sub- mapping under the top-level key key.
- replace(**kwargs)
Like
dataclasses.replace()with name manipulation.
- update(arg: Mapping | None = None, **kwargs) None
Update attributes in-place.
- Raises:
AttributeError – Any of the kwargs are not fields in the data class.