heat.engine.dependencies module
updated: 2023-04-14 08:22
heat.engine.dependencies module
-
exception heat.engine.dependencies.CircularDependencyException(**kwargs)[source]
Bases: HeatException
-
msg_fmt = 'Circular Dependency Found: %(cycle)s'
-
class heat.engine.dependencies.Dependencies(edges=None)[source]
Bases: object
Helper class for calculating a dependency graph.
-
graph(reverse=False)[source]
Return a copy of the underlying dependency graph.
-
leaves()[source]
Return an iterator over all of the leaf nodes in the graph.
-
required_by(last)[source]
List the keys that require the specified node.
-
requires(source)[source]
List the keys that the specified node requires.
-
roots()[source]
Return an iterator over all of the root nodes in the graph.
-
translate(transform)[source]
Translate all of the nodes using a transform function.
Returns a new Dependencies object.
-
class heat.engine.dependencies.Graph(*args)[source]
Bases: defaultdict
A mutable mapping of objects to nodes in a dependency graph.
-
copy()[source]
Return a copy of the graph.
-
edges()[source]
Return an iterator over all of the edges in the graph.
-
map(func)[source]
Map the supplied function onto each node in the graph.
Return a dictionary derived from mapping the supplied function onto
each node in the graph.
-
reverse_copy()[source]
Return a copy of the graph with the edges reversed.
-
static toposort(graph)[source]
Return a topologically sorted iterator over a dependency graph.
This is a destructive operation for the graph.
-
class heat.engine.dependencies.Node(requires=None, required_by=None)[source]
Bases: object
A node in a dependency graph.
-
copy()[source]
Return a copy of the node.
-
disjoint()[source]
Return True if this node is both a leaf and a stem.
-
require
-
required_by(source=None)[source]
List the keys that require this node, and optionally add new one.
-
requires(target=None)[source]
List the keys that this node requires, and optionally add a new one.
-
reverse_copy()[source]
Return a copy of the node with the edge directions reversed.
-
satisfy
-
stem()[source]
Return True if this node is a stem (required by nothing).
updated: 2023-04-14 08:22