elasticai.creator.ir.graph#

Module Contents#

Classes#

API#

class elasticai.creator.ir.graph.ReadOnlyGraph[source]#

Bases: typing.Protocol

abstract property successors: collections.abc.Mapping[N, collections.abc.Mapping[N, E]]#
abstract property predecessors: collections.abc.Mapping[N, collections.abc.Mapping[N, E]]#
class elasticai.creator.ir.graph.Graph[source]#

Bases: elasticai.creator.ir.graph.ReadOnlyGraph[elasticai.creator.ir.graph.Graph.N, elasticai.creator.ir.graph.Graph.E], typing.Protocol

abstractmethod add_node(node: N, /) Self[source]#
abstractmethod add_edge(src: N, dst: N, attributes: E | None = None, /) Self[source]#
abstractmethod remove_node(node: N, /) Self[source]#
abstractmethod remove_edge(src: N, dst: N, /) Self[source]#
abstractmethod add_nodes(*nodes: N) Self[source]#
abstractmethod add_edges(*edges: tuple[N, N, E] | tuple[N, N]) Self[source]#
class elasticai.creator.ir.graph.AdjacencyMap(mapping: dict[K, dict[K, V]] | None = None)[source]#

Bases: collections.abc.Mapping[elasticai.creator.ir.graph.AdjacencyMap.K, collections.abc.Mapping[elasticai.creator.ir.graph.AdjacencyMap.K, elasticai.creator.ir.graph.AdjacencyMap.V]]

__getitem__(key: K) collections.abc.Mapping[K, V][source]#
__contains__(key: object) bool[source]#
__iter__() collections.abc.Iterator[K][source]#
__len__() int[source]#
__repr__() str[source]#
join(other: collections.abc.Mapping[K, collections.abc.Mapping[K, V]] | dict[K, dict[K, V]]) Self[source]#
drop(k1: K, k2: K | None = None) Self[source]#
class elasticai.creator.ir.graph.GraphImpl(default_edge_attributes_factory: collections.abc.Callable[[], E], predecessors: elasticai.creator.ir.graph.AdjacencyMap[T, E] = AdjacencyMap(), successors: elasticai.creator.ir.graph.AdjacencyMap[T, E] = AdjacencyMap())[source]#

Bases: elasticai.creator.ir.graph.Graph[elasticai.creator.ir.graph.GraphImpl.T, elasticai.creator.ir.graph.GraphImpl.E]

add_node(node: T, /) Self[source]#
add_nodes(*nodes: T) Self[source]#
property successors: elasticai.creator.ir.graph.AdjacencyMap[T, E]#
property predecessors: elasticai.creator.ir.graph.AdjacencyMap[T, E]#
add_edge(src: T, dst: T, attributes: E | None = None, /) Self[source]#
__eq__(other: object) bool[source]#
add_edges(*edges: tuple[T, T, E | None] | tuple[T, T]) Self[source]#
remove_edge(src: T, dst: T, /) Self[source]#
remove_node(node: T, /) Self[source]#