hydra.graphviz.dot module

A model from the Graphviz DOT graph description language. Based on the grammar at https://graphviz.org/doc/info/lang.html.

class hydra.graphviz.dot.AttrList(value: T)

Bases: Node[Sequence[Sequence[EqualityPair]]]

A Graphviz DOT attribute list: one or more comma/semicolon-separated lists of key-value pairs.

TYPE_ = Name(value='hydra.graphviz.dot.AttrList')
class hydra.graphviz.dot.AttrStmt(type: AttrType, attributes: AttrList)

Bases: object

A Graphviz DOT attribute statement applying default attributes to graph, node, or edge elements.

ATTRIBUTES = Name(value='attributes')
class Builder(_type: 'AttrType' = None, _attributes: 'AttrList' = None)

Bases: object

attributes(attributes)
build()
type(type)
TYPE = Name(value='type')
TYPE_ = Name(value='hydra.graphviz.dot.AttrStmt')
attributes: AttrList
static builder()
type: AttrType
with_attributes(attributes)
with_type(type)
class hydra.graphviz.dot.AttrType(*values)

Bases: Enum

The target of a Graphviz DOT attribute statement: graph, node, or edge.

EDGE = Name(value='edge')
GRAPH = Name(value='graph')
NODE = Name(value='node')
TYPE_ = Name(value='hydra.graphviz.dot.AttrType')
class hydra.graphviz.dot.CompassPt(*values)

Bases: Enum

A Graphviz DOT compass point, used to select a specific side of a node for edge attachment.

C = Name(value='c')
E = Name(value='e')
N = Name(value='n')
NE = Name(value='ne')
NONE = Name(value='none')
NW = Name(value='nw')
S = Name(value='s')
SE = Name(value='se')
SW = Name(value='sw')
TYPE_ = Name(value='hydra.graphviz.dot.CompassPt')
W = Name(value='w')
class hydra.graphviz.dot.EdgeStmt(left: NodeOrSubgraph, right: Sequence[NodeOrSubgraph], attributes: object)

Bases: object

A Graphviz DOT edge statement connecting a chain of nodes or subgraphs.

ATTRIBUTES = Name(value='attributes')
class Builder(_left: 'NodeOrSubgraph' = None, _right: 'Sequence[NodeOrSubgraph]' = None, _attributes: 'Optional[AttrList]' = None)

Bases: object

attributes(attributes)
build()
left(left)
right(right)
LEFT = Name(value='left')
RIGHT = Name(value='right')
TYPE_ = Name(value='hydra.graphviz.dot.EdgeStmt')
attributes: object
static builder()
left: NodeOrSubgraph
right: Sequence[NodeOrSubgraph]
with_attributes(attributes)
with_left(left)
with_right(right)
class hydra.graphviz.dot.EqualityPair(left: Id, right: Id)

Bases: object

A Graphviz DOT key = value pair.

class Builder(_left: 'Id' = None, _right: 'Id' = None)

Bases: object

build()
left(left)
right(right)
LEFT = Name(value='left')
RIGHT = Name(value='right')
TYPE_ = Name(value='hydra.graphviz.dot.EqualityPair')
static builder()
left: Id
right: Id
with_left(left)
with_right(right)
class hydra.graphviz.dot.Graph(strict: bool, directed: bool, id: object, statements: Sequence[Stmt])

Bases: object

A Graphviz DOT graph: an optionally strict, optionally directed graph with an optional ID and a list of statements.

class Builder(_strict: 'bool' = None, _directed: 'bool' = None, _id: 'Optional[Id]' = None, _statements: 'Sequence[Stmt]' = None)

Bases: object

build()
directed(directed)
id(id)
statements(statements)
strict(strict)
DIRECTED = Name(value='directed')
ID = Name(value='id')
STATEMENTS = Name(value='statements')
STRICT = Name(value='strict')
TYPE_ = Name(value='hydra.graphviz.dot.Graph')
static builder()
directed: bool
id: object
statements: Sequence[Stmt]
strict: bool
with_directed(directed)
with_id(id)
with_statements(statements)
with_strict(strict)
class hydra.graphviz.dot.Id(value: T)

Bases: Node[str]

A Graphviz DOT identifier.

TYPE_ = Name(value='hydra.graphviz.dot.Id')
class hydra.graphviz.dot.NodeId(id: Id, port: object)

Bases: object

A Graphviz DOT node identifier, with an optional port.

class Builder(_id: 'Id' = None, _port: 'Optional[Port]' = None)

Bases: object

build()
id(id)
port(port)
ID = Name(value='id')
PORT = Name(value='port')
TYPE_ = Name(value='hydra.graphviz.dot.NodeId')
static builder()
id: Id
port: object
with_id(id)
with_port(port)
class hydra.graphviz.dot.NodeOrSubgraph

Bases: object

NodeOrSubgraphNode | NodeOrSubgraphSubgraph

NODE = Name(value='node')
SUBGRAPH = Name(value='subgraph')
TYPE_ = Name(value='hydra.graphviz.dot.NodeOrSubgraph')
class hydra.graphviz.dot.NodeOrSubgraphNode(value: T)

Bases: Node[NodeId]

class hydra.graphviz.dot.NodeOrSubgraphSubgraph(value: T)

Bases: Node[Subgraph]

class hydra.graphviz.dot.NodeStmt(id: NodeId, attributes: object)

Bases: object

A Graphviz DOT node statement, with an optional attribute list.

ATTRIBUTES = Name(value='attributes')
class Builder(_id: 'NodeId' = None, _attributes: 'Optional[AttrList]' = None)

Bases: object

attributes(attributes)
build()
id(id)
ID = Name(value='id')
TYPE_ = Name(value='hydra.graphviz.dot.NodeStmt')
attributes: object
static builder()
id: NodeId
with_attributes(attributes)
with_id(id)
class hydra.graphviz.dot.Port(id: object, position: object)

Bases: object

A Graphviz DOT port: an optional identifier and/or compass point specifying an edge attachment point.

class Builder(_id: 'Optional[Id]' = None, _position: 'Optional[CompassPt]' = None)

Bases: object

build()
id(id)
position(position)
ID = Name(value='id')
POSITION = Name(value='position')
TYPE_ = Name(value='hydra.graphviz.dot.Port')
static builder()
id: object
position: object
with_id(id)
with_position(position)
class hydra.graphviz.dot.Stmt

Bases: object

StmtNode | StmtEdge | StmtAttr | StmtEquals | StmtSubgraph

ATTR = Name(value='attr')
EDGE = Name(value='edge')
EQUALS = Name(value='equals')
NODE = Name(value='node')
SUBGRAPH = Name(value='subgraph')
TYPE_ = Name(value='hydra.graphviz.dot.Stmt')
class hydra.graphviz.dot.StmtAttr(value: T)

Bases: Node[AttrStmt]

class hydra.graphviz.dot.StmtEdge(value: T)

Bases: Node[EdgeStmt]

class hydra.graphviz.dot.StmtEquals(value: T)

Bases: Node[EqualityPair]

class hydra.graphviz.dot.StmtNode(value: T)

Bases: Node[NodeStmt]

class hydra.graphviz.dot.StmtSubgraph(value: T)

Bases: Node[Subgraph]

class hydra.graphviz.dot.Subgraph(subgraph_id: object, statements: Sequence[Stmt])

Bases: object

A Graphviz DOT subgraph, with an optional ID and a list of statements.

class Builder(_subgraph_id: 'Optional[SubgraphId]' = None, _statements: 'Sequence[Stmt]' = None)

Bases: object

build()
statements(statements)
subgraph_id(subgraph_id)
STATEMENTS = Name(value='statements')
SUBGRAPH_ID = Name(value='subgraphId')
TYPE_ = Name(value='hydra.graphviz.dot.Subgraph')
static builder()
statements: Sequence[Stmt]
subgraph_id: object
with_statements(statements)
with_subgraph_id(subgraph_id)
class hydra.graphviz.dot.SubgraphId(value: T)

Bases: Node[Optional[Id]]

The optional identifier of a Graphviz DOT subgraph.

TYPE_ = Name(value='hydra.graphviz.dot.SubgraphId')