|
PyTimeloop
|
A node that is a dictionary of other nodes. More...


Public Member Functions | |
| __init__ (self, *args, __node_skip_parse=False, **kwargs) | |
| require_one_of (cls, *args) | |
| Require that at least one of the given keys is present. | |
| require_all_or_none_of (cls, *args) | |
| Require that all or none of the given keys are present. | |
| "DictNode" | combine (self, "DictNode" other) |
| Combines this dictionary with another dictionary. | |
| "DictNode" | from_yaml_files (cls, *Union[str, List[str], Path, list[Path]] files, Dict[str, Any] jinja_parse_data=None, **kwargs) |
| Loads a dictionary from one more more yaml files. | |
| Any | __getitem__ (self, Any __key) |
| None | __setitem__ (self, Any __key, Any __value) |
| Any | get (self, Any __key, Any __default=None) |
| Gets a key from the dictionary. | |
| Any | setdefault (self, Any __key, Any __default=None) |
| Sets the default value for a key. | |
| Any | pop (self, Any __key, Any __default=None) |
| Pops a key from the dictionary. | |
| None | check_unrecognized (self, *args, **kwargs) |
| Check for unrecognized keys in this node and all subnodes. | |
| __getattr__ (self, name) | |
| Index into the attributes or the contents of this node. | |
| __setattr__ (self, name, value) | |
Public Member Functions inherited from pytimeloop.timeloopfe.common.nodes.Node | |
| __init__ (self, *args, **kwargs) | |
| get_specifiers_from_processors (cls, "BaseSpecification" spec) | |
| Get the specifiers that have been set from processors. | |
| reset_specifiers_from_processors (cls, Optional[Type] processor=None) | |
| Reset the specifiers that have been set from processors. | |
| declare_attrs (cls, *args, **kwargs) | |
| Initialize the attributes of this node. | |
| reset_processor_elems (cls, Optional[Type] processor=None) | |
| recognize_all (cls, bool recognize_all=True) | |
| Set whether all attributes under this node should be recognized. | |
| str | get_tag (self) |
| Get the tag of this node. | |
| Iterable[Tuple[Union[str, int], Any]] | items (self) |
| Get iterable of (key, value) or (index, value) pairs. | |
| T | combine_index (self, Union[str, int] key, T value) |
| Combine the value at the given key with the given value. | |
| str | get_name (self, Union[Set, None] seen=None) |
| Get the name of this node. | |
| Any | recursive_apply (self, callable func, bool self_first=False, set applied_to=None) |
| Apply a function to this node and all subnodes. | |
| clean_empties (self) | |
| Remove empty nodes from this node and all subnodes. | |
| bool | isempty (self) |
| Return True if this node is empty. | |
| bool | isempty_recursive (self) |
| Return True if this node or all subnodes are empty. | |
| add_attr (cls, str key_or_tag, Optional[Union[type, Tuple[type,...], Tuple[None,...], Tuple[str,...], None]] required_type=None, Any default=default_unspecified_, Optional[Callable] callfunc=None, Optional[bool] part_name_match=None, Optional[bool] no_change_key=None, Any _processor_responsible_for_removing=None, Optional[Dict[str, TypeSpecifier]] _add_checker_to=None) | |
| Initialize a type specifier for this class. | |
| List[T] | get_nodes_of_type (self, Type[T] node_type) |
| Return a list of all subnodes of a given type. | |
| Callable | get_setter_lambda (self, Union[str, int] keytag) |
| Get a function that can be used to set a value in this node. | |
| Callable | get_combiner_lambda (self, Union[str, int] keytag) |
| Get a function that can be used to combine a value to this node. | |
| List[Tuple[Any, Callable]] | get_setters_for_keytag (self, str keytag, bool recursive=True) |
| Get a list of tuples of the form (value, setter) for all keys/tags in this node that match the given key/tag. | |
| List[Tuple[Any, Callable]] | get_combiners_for_keytag (self, str keytag, bool recursive=True) |
| Get a list of tuples of the form (value, combiner) for all keys/tags in this node that match the given key/tag. | |
| List[Tuple[Any, Callable]] | get_setters_for_type (self, Type t, bool recursive=True) |
| Get a list of tuples of the form (value, setter) for all keys/tags in this node that match the given type. | |
| List[Tuple[Any, Callable]] | get_combiners_for_type (self, Type t, bool recursive=True) |
| Get a list of tuples of the form (value, combiner) for all keys/tags in this node that match the given type. | |
| __str__ (self) | |
| Return the name of this node. | |
| __format__ (self, format_spec) | |
| Formats the name of this node. | |
| bool | is_defined_non_default_non_empty (self, str key) |
| Returns True if the given key is defined in this node and is not the default value and is not empty. | |
| Any | __getitem__ (self, Union[str, int] key) |
| Get the value at the given key or index. | |
| __setitem__ (self, Union[str, int] key, Any value) | |
| Set the value at the given key or index. | |
| parse_expressions (self, Optional[Dict[str, Any]] symbol_table=None, Optional[set] parsed_ids=None, Optional[Callable] callfunc=None) | |
| Parse expressions in this node and all subnodes. | |
| unique_class_name (cls) | |
| Return a unique name for this class. | |
Protected Member Functions | |
| _update_combine_pre_parse (self, dict other) | |
| None | _check_alias (self, key) |
Protected Member Functions inherited from pytimeloop.timeloopfe.common.nodes.Node | |
| Dict[str, TypeSpecifier] | _get_type_specifiers (cls, "BaseSpecification" spec) |
| Get the type specifiers for this node. | |
| _get_all_recognized (self) | |
| Dict[Union[str, int], TypeSpecifier] | _get_index2checker (self, Optional[List[Tuple[str, Any]]] key2elem=None) |
| _parse_elem (self, Union[str, int] key, TypeSpecifier check, Any value_override=None) | |
| _parse_elems (self) | |
| _parse_extra_elems (self, List[Tuple[str, Any]] key2elem) | |
| _check_unrecognized (self, ignore_empty=False, ignore_should_have_been_removed_by=False) | |
| _parse_expression (self, Union[str, int] index, Dict[str, Any] symbol_table, Optional[TypeSpecifier] checker=None) | |
Protected Attributes | |
| _require_one_of = _require_one_of | |
| _require_all_or_none_of = _require_all_or_none_of | |
Protected Attributes inherited from pytimeloop.timeloopfe.common.nodes.Node | |
| tuple | _init_args = (args, kwargs) |
| bool | _default_parse = False |
Private Attributes | |
| __class__ | |
Additional Inherited Members | |
Static Public Member Functions inherited from pytimeloop.timeloopfe.common.nodes.Node | |
| "BaseSpecification" | get_global_spec () |
| Get the global specification object. | |
| set_global_spec ("BaseSpecification" spec) | |
| Set the global specification object. | |
| Any | try_combine (Any a, Any b, Union["Node", None] innonde=None, Union[int, str, None] index=None) |
| Try to combine two values. | |
Public Attributes inherited from pytimeloop.timeloopfe.common.nodes.Node | |
| Node | parent_node = None |
| "BaseSpecification" | spec = Node.get_global_spec() |
| logger = logging.getLogger(self.__class__.__name__) | |
| from_data = None | |
Static Protected Member Functions inherited from pytimeloop.timeloopfe.common.nodes.Node | |
| str | _get_tag (x) |
A node that is a dictionary of other nodes.
| pytimeloop.timeloopfe.common.nodes.DictNode.__init__ | ( | self, | |
| * | args, | ||
| __node_skip_parse = False, | |||
| ** | kwargs ) |
| pytimeloop.timeloopfe.common.nodes.DictNode.__getattr__ | ( | self, | |
| name ) |
Index into the attributes or the contents of this node.
| Any pytimeloop.timeloopfe.common.nodes.DictNode.__getitem__ | ( | self, | |
| Any | __key ) |
| pytimeloop.timeloopfe.common.nodes.DictNode.__setattr__ | ( | self, | |
| name, | |||
| value ) |
| None pytimeloop.timeloopfe.common.nodes.DictNode.__setitem__ | ( | self, | |
| Any | __key, | ||
| Any | __value ) |
|
protected |
|
protected |
| None pytimeloop.timeloopfe.common.nodes.DictNode.check_unrecognized | ( | self, | |
| * | args, | ||
| ** | kwargs ) |
Check for unrecognized keys in this node and all subnodes.
Reimplemented from pytimeloop.timeloopfe.common.nodes.Node.
| "DictNode" pytimeloop.timeloopfe.common.nodes.DictNode.combine | ( | self, | |
| "DictNode" | other ) |
Combines this dictionary with another dictionary.
If a key is present in both dictionaries, the values are combined. Otherwise, the key is taken from whichever dictionary has it.
Reimplemented in pytimeloop.timeloopfe.v4.arch.Architecture, and pytimeloop.timeloopfe.v4.constraints.Constraint.
| "DictNode" pytimeloop.timeloopfe.common.nodes.DictNode.from_yaml_files | ( | cls, | |
| *Union[str, List[str], Path, list[Path]] | files, | ||
| Dict[str, Any] | jinja_parse_data = None, | ||
| ** | kwargs ) |
Loads a dictionary from one more more yaml files.
Each yaml file should contain a dictionary. Dictionaries are combined in the order they are given.
Keyword arguments are also added to the dictionary.
Args: files: A list of yaml files to load. jinja_parse_data: A dictionary of data to use when parsing kwargs: Extra keyword arguments to add to the dictionary.
Returns: A DictNode containing the combined dictionaries.
Loads a dictionary from a list of yaml files. Each yaml file should contain a dictionary. Dictionaries are in the given order. Keyword arguments are also added to the dictionary. !
| files | A list of yaml files to load. ! |
| jinja_parse_data | A dictionary of data to use when parsing ! |
| kwargs | Extra keyword arguments to add to the dictionary. |
Reimplemented in pytimeloop.timeloopfe.common.base_specification.BaseSpecification.
| Any pytimeloop.timeloopfe.common.nodes.DictNode.get | ( | self, | |
| Any | __key, | ||
| Any | __default = None ) |
Gets a key from the dictionary.
| Any pytimeloop.timeloopfe.common.nodes.DictNode.pop | ( | self, | |
| Any | __key, | ||
| Any | __default = None ) |
Pops a key from the dictionary.
| pytimeloop.timeloopfe.common.nodes.DictNode.require_all_or_none_of | ( | cls, | |
| * | args ) |
Require that all or none of the given keys are present.
| pytimeloop.timeloopfe.common.nodes.DictNode.require_one_of | ( | cls, | |
| * | args ) |
Require that at least one of the given keys is present.
| Any pytimeloop.timeloopfe.common.nodes.DictNode.setdefault | ( | self, | |
| Any | __key, | ||
| Any | __default = None ) |
Sets the default value for a key.
|
private |
|
protected |
|
protected |