message_ix_models.tests.util.test_config.C1

class message_ix_models.tests.util.test_config.C1(foo_1: int = 1, foo_2: str = '', foo_3: bool = True)[source]

Bases: ConfigHelper

A class which inherits from ConfigHelper.

__init__(foo_1: int = 1, foo_2: str = '', foo_3: bool = True) None

Methods

__init__([foo_1, foo_2, foo_3])

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

foo_1

foo_2

foo_3

classmethod from_dict(data: Mapping)

Construct an instance from data with name manipulation.

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:

str

read_file(path: Path, key: str = '') None

Update configuration from file.

Parameters:
  • path – to a .yaml file 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.