nmk.model.config
nmk configuration objects
Attributes
Pattern to locate config reference in string |
|
Pattern to recognize final config items |
|
Used config item types |
Classes
nmk configuration item base class |
|
Static config item (defined in project file) |
|
Merged config item base class |
|
Merged list config item |
|
Merged list config item |
|
Resolved config item class |
Module Contents
- nmk.model.config.CONFIG_REF_PATTERN
Pattern to locate config reference in string
- nmk.model.config.FINAL_ITEM_PATTERN
Pattern to recognize final config items
- nmk.model.config.ConfigTypes
Used config item types
- class nmk.model.config.NmkConfig
Bases:
abc.ABCnmk configuration item base class
- name: str
Item name
- model: object
Model instance
- path: pathlib.Path
Defining project file path
- property is_final: bool
Returns true if current item is a final one
- property value: ConfigTypes
Returns current item value
- resolve(cache: bool = True, resolved_from: set[str] | None = None) ConfigTypes
Resolves item value
- Parameters:
cache – use cached value, if already resolved
resolved_from – set of item names referencing this item
- Returns:
resolved item value
- property value_type: type[Any]
- Abstractmethod:
Value type for this item; to be overridden by sub-classes
- Returns:
value type
- class nmk.model.config.NmkStaticConfig
Bases:
NmkConfigStatic config item (defined in project file)
- static_value: str | int | bool | list[Any] | dict[str, Any]
Project defined value
- volatile: bool = False
Disable cache for this item
- property value_type: type[Any]
Value type for this static item
- Returns:
value type
- class nmk.model.config.NmkMergedConfig
Bases:
NmkConfigMerged config item base class
- static_list: list[NmkStaticConfig]
List of merged static items
- traverse_list(items: list, out_list: list, cache: bool, resolved_from: set[str], holder)
Recursive list resolution
- Parameters:
items – list of items to be traversed
out_list – resolved output list
cache – use cache or not
resolved_from – set of item names referencing this item
- traverse_dict(items: dict, out_dict: dict, cache: bool, resolved_from: set[str], holder)
Recursive dict resolution
- Parameters:
items – dict of items to be traversed
out_dict – resolved output dict
cache – use cache or not
resolved_from – set of item names referencing this item
- class nmk.model.config.NmkListConfig
Bases:
NmkMergedConfigMerged list config item
- property value_type: type[Any]
Value type for this item
- Returns:
list type
- class nmk.model.config.NmkDictConfig
Bases:
NmkMergedConfigMerged list config item
- property value_type: type[Any]
Value type for this item
- Returns:
dict type
- class nmk.model.config.NmkResolvedConfig
Bases:
NmkConfigResolved config item class
- resolver: collections.abc.Callable
Config resolver instance for this item
- params: NmkDictConfig
Resolver parameters
- resolve(cache: bool = True, resolved_from: set[str] = None) str | int | bool | list | dict
Resolves item value (with disabled cache if resolver is volatile)
- Parameters:
cache – use cached value, if already resolved
resolved_from – set of item names referencing this item
- Returns:
resolved item value
- property value_type: type[Any]
Value type for this item
- Returns:
value type