elasticai.creator.ir.core.implementation#
Module Contents#
Classes#
Data#
API#
- elasticai.creator.ir.core.implementation.N#
‘TypeVar(…)’
- elasticai.creator.ir.core.implementation.E#
‘TypeVar(…)’
- elasticai.creator.ir.core.implementation.StoredT#
‘TypeVar(…)’
- elasticai.creator.ir.core.implementation.VisibleT#
‘TypeVar(…)’
- elasticai.creator.ir.core.implementation.P#
‘ParamSpec(…)’
- class elasticai.creator.ir.core.implementation.NodeFn[source]#
Bases:
typing.Protocol[elasticai.creator.ir.core.implementation.N]
- class elasticai.creator.ir.core.implementation.EdgeFn[source]#
Bases:
typing.Protocol[elasticai.creator.ir.core.implementation.E]
- class elasticai.creator.ir.core.implementation.Implementation(*, graph: elasticai.creator.graph.Graph[str], node_fn: elasticai.creator.ir.core.implementation.NodeFn = Node, edge_fn: elasticai.creator.ir.core.implementation.EdgeFn = Edge, data: dict[str, elasticai.creator.ir.base.Attribute] | None = None)[source]#
Bases:
elasticai.creator.ir.base.IrData,typing.Generic[elasticai.creator.ir.core.implementation.N,elasticai.creator.ir.core.implementation.E]- __slots__#
(‘data’, ‘graph’, ‘_node_fn’, ‘_edge_fn’, ‘_nodes’, ‘_edges’)
- name: str#
None
- type: str#
None
- add_nodes(ns: collections.abc.Iterable[elasticai.creator.ir.core.core.Node]) Self[source]#
- add_edges(es: collections.abc.Iterable[elasticai.creator.ir.core.core.Edge]) Self[source]#
- successors(node: str | elasticai.creator.ir.core.core.Node) collections.abc.Mapping[str, elasticai.creator.ir.core.implementation.N][source]#
- predecessors(node: str | elasticai.creator.ir.core.core.Node) collections.abc.Mapping[str, elasticai.creator.ir.core.implementation.N][source]#
- get_node_mapping(keys: collections.abc.Callable[[], collections.abc.Iterable[str]]) collections.abc.Mapping[str, elasticai.creator.ir.core.implementation.N][source]#
Create a read-only mapping of names to Nodes in the order of
keys().
- get_edge_mapping(keys: collections.abc.Callable[[], collections.abc.Iterable[tuple[str, str]]]) collections.abc.Mapping[tuple[str, str], elasticai.creator.ir.core.implementation.E][source]#
Create a read-only mapping of (src, dst) pairs to Edges in the order of
keys().
- nodes(_: dict[str, elasticai.creator.ir.base.Attribute]) collections.abc.Mapping[str, elasticai.creator.ir.core.implementation.N]#
- edges(_: dict[str, elasticai.creator.ir.base.Attribute]) collections.abc.Mapping[tuple[str, str], elasticai.creator.ir.core.implementation.E]#
- sync_data_with_graph() Self[source]#
Removes nodes/edges from data that are not in the graph, add empty fields for new nodes/edges.
- load_from_dict(d: dict[str, Any]) Implementation[N, E][source]#
Load attributes, nodes and edges from a dictionary, that was created by
as_dict.Opposed to the constructor, this will add all nodes and edges to the underlying graph.
Important
This will override all state of the current object.