ewokscore.graph.taskgraph.TaskGraph#
- class ewokscore.graph.taskgraph.TaskGraph(source=None, representation=None, **load_options)[source]#
Bases:
objectThe API for graph analysis is provided by networkx. Any directed graph is supported (cyclic or acyclic).
Loop over the dependencies of a task
for source in taskgraph.predecessors(target): link_attrs = taskgraph.graph[source][target]
Loop over the tasks dependent on a task
for target in taskgraph.successors(source): link_attrs = taskgraph.graph[source][target]
For acyclic graphs, sequential task execution can be done like this:
taskgraph.execute()
- dump(destination=None, representation=None, **kw)[source]#
- Parameters:
representation (
Union[GraphRepresentation,str,None])- Return type:
Union[str,dict,None]
- property graph_id: Hashable#
- property graph_label: str#
- property has_conditional_links: bool#
- property is_cyclic: bool#
- load(source=None, representation=None, subgraph_representation=None, **load_options)[source]#
- Parameters:
representation (
Union[GraphRepresentation,str,None])subgraph_representation (
Union[GraphRepresentation,str,None])
- Return type:
None