collections#
Helpers for various collections.
Module Contents#
Functions#
| 
 | Make a hash from a dictionary, list, tuple or set to any level. | 
| 
 | Copy a dictionary excluding a specific list of keys. | 
| 
 | Generate a list of the first dictionaries encountered that contain a certain key. | 
| 
 | Generate a list with all port-clock combinations found in a nested dictionary. | 
| 
 | Find the path to a port-clock combination in a nested dictionary. | 
- make_hash(obj: set | tuple | list | numpy.ndarray | dict | collections.abc.Hashable) int[source]#
- Make a hash from a dictionary, list, tuple or set to any level. - From: https://stackoverflow.com/questions/5884066/hashing-a-dictionary - Parameters:
- obj – Input collection. 
- Returns:
- Hash. 
 
- without(dict_in: dict, keys: list) dict[source]#
- Copy a dictionary excluding a specific list of keys. - Parameters:
- dict_in – Input dictionary. 
- keys – List of keys to exclude. 
 
- Returns:
- Filtered dictionary. 
 
- find_inner_dicts_containing_key(d: MutableMapping, key: collections.abc.Hashable) list[dict][source]#
- Generate a list of the first dictionaries encountered that contain a certain key. - This is achieved by recursively traversing the nested structures until the key is found, which is then appended to a list. - Parameters:
- d – The dictionary to traverse. 
- key – The key to search for. 
 
- Returns:
- A list containing all the inner dictionaries containing the specified key. 
 
- find_all_port_clock_combinations(d: dict) list[tuple[str, str]][source]#
- Generate a list with all port-clock combinations found in a nested dictionary. - Traversing the dictionary is done using the - find_inner_dicts_containing_keyfunction.- Parameters:
- d – The dictionary to traverse. 
- Returns:
- A list containing tuples representing the port and clock combinations found in the dictionary. 
 
- find_port_clock_path(hardware_config: dict, port: str, clock: str) list[source]#
- Find the path to a port-clock combination in a nested dictionary. - Parameters:
- hardware_config – The (nested) hardware config dictionary to loop over. 
- port – The port to find. 
- clock – The clock to find. 
 
- Returns:
- A list representing the keys to the port-clock combination in the hardware config. If the port-clock location is in a list, the list index is also included in this path.