hydra.overlay.python.lib.maps module

Python implementations of hydra.overlay.python.lib.maps primitives.

Inputs accept any Mapping; outputs are PersistentMap instances (returned as Mapping[K, V]). PersistentMap is a structurally-shared red-black tree, so chained primitives — typical of inference-style workloads — get O(log n) updates instead of the O(n) full-dict-copy that FrozenDict imposed.

hydra.overlay.python.lib.maps.alter(f: Callable[[object], object], key: K, mapping: Mapping[K, V]) Mapping[K, V]

Alter a value at a key using a function.

hydra.overlay.python.lib.maps.bimap(f: Callable[[K1], K2], g: Callable[[V1], V2], mapping: Mapping[K1, V1]) Mapping[K2, V2]

Map a function over the keys and values of a map.

hydra.overlay.python.lib.maps.delete(key: K, mapping: Mapping[K, V]) Mapping[K, V]

Remove a key from a map.

hydra.overlay.python.lib.maps.elems(mapping: Mapping[Any, V]) Sequence[V]

Get the values of a map, in key order.

hydra.overlay.python.lib.maps.empty() Mapping[Any, Any]

Create an empty map.

hydra.overlay.python.lib.maps.filter(predicate: Callable[[V], bool], mapping: Mapping[K, V]) Mapping[K, V]

Filter a map based on values.

hydra.overlay.python.lib.maps.filter_with_key(predicate: Callable[[K, V], bool], mapping: Mapping[K, V]) Mapping[K, V]

Filter a map based on key-value pairs.

hydra.overlay.python.lib.maps.find_with_default(default: V | Callable[[], V], key: K, mapping: Mapping[K, V]) V

Lookup a value with a default. The default is lazy (#391).

hydra.overlay.python.lib.maps.from_list(pairs: Sequence[tuple[K, V]]) Mapping[K, V]

Create a map from a list of key-value pairs.

hydra.overlay.python.lib.maps.insert(key: K, value: V, mapping: Mapping[K, V]) Mapping[K, V]

Insert a key-value pair into a map. O(log n).

hydra.overlay.python.lib.maps.is_empty(mapping: Mapping[Any, Any]) bool

Check if a map is empty.

hydra.overlay.python.lib.maps.keys(mapping: Mapping[K, Any]) Sequence[K]

Get the keys of a map, in sorted order.

hydra.overlay.python.lib.maps.lookup(key: K, mapping: Mapping[K, V]) object

Lookup a value in a map.

hydra.overlay.python.lib.maps.map(f: Callable[[V1], V2], mapping: Mapping[K, V1]) Mapping[K, V2]

Map a function over the values of a map.

hydra.overlay.python.lib.maps.map_keys(f: Callable[[K1], K2], mapping: Mapping[K1, V]) Mapping[K2, V]

Map a function over the keys of a map.

hydra.overlay.python.lib.maps.member(key: K, mapping: Mapping[K, Any]) bool

Check if a key is present in a map.

hydra.overlay.python.lib.maps.singleton(key: K, value: V) Mapping[K, V]

Create a map with a single key-value pair.

hydra.overlay.python.lib.maps.size(mapping: Mapping[Any, Any]) int

Get the size of a map.

hydra.overlay.python.lib.maps.to_list(mapping: Mapping[K, V]) Sequence[tuple[K, V]]

Convert a map to a list of key-value pairs, in sorted-key order.

hydra.overlay.python.lib.maps.union(map1: Mapping[K, V], map2: Mapping[K, V]) Mapping[K, V]

Union two maps, with the first taking precedence. O(m * log(m + n)).