skip to navigation
skip to content

graphviz 0.4

Simple Python interface for Graphviz

Latest Version: 0.8.2

This package facilitates the creation of graph descriptions in the DOT language of the Graphviz graph drawing software from Python.

Create a graph object, assemble the graph by adding nodes and edges, and retrieve its DOT source code string. Save the source code to a file and render it with the Graphviz installation of your system.


This package runs under Python 2.7 and 3.3+, use pip to install:

$ pip install graphviz

To render the generated DOT source code, you also need to install Graphviz (download page).

Make sure that the dot executable is on your systems’ path.


Create a graph object:

>>> from graphviz import Digraph

>>> dot = Digraph(comment='The Round Table')

>>> dot  #doctest: +ELLIPSIS
< object at 0x...>

Add nodes and edges:

>>> dot.node('A', 'King Arthur')
>>> dot.node('B', 'Sir Bedevere the Wise')
>>> dot.node('L', 'Sir Lancelot the Brave')

>>> dot.edges(['AB', 'AL'])
>>> dot.edge('B', 'L', constraint='false')

Check the generated source code:

>>> print(dot.source)  # doctest: +NORMALIZE_WHITESPACE
// The Round Table
digraph {
    A [label="King Arthur"]
    B [label="Sir Bedevere the Wise"]
    L [label="Sir Lancelot the Brave"]
        A -> B
        A -> L
        B -> L [constraint=false]

Save and render the source code, optionally view the result:

>>> dot.render('test-output/round-table.gv', view=True)


Use the graph_attr, node_attr, and edge_attr arguments to change the default appearance of your graph, nodes, and edges.

>>> dot = Digraph(name='pet-shop', node_attr={'shape': 'plaintext'})

>>> dot.node('parrot')
>>> dot.node('dead')
>>> dot.edge('parrot', 'dead')

After creation, they can be edited on the graph object:

>>> dot.graph_attr['rankdir'] = 'LR'
>>> dot.edge_attr.update(arrowhead='vee', arrowsize='2')

>>> print(dot.source)  # doctest: +NORMALIZE_WHITESPACE
digraph "pet-shop" {
    graph [rankdir=LR]
    node [shape=plaintext]
    edge [arrowhead=vee arrowsize=2]
            parrot -> dead

See also


This package is distributed under the MIT license.

File Type Py Version Uploaded on Size
graphviz-0.4-py2.py3-none-any.whl (md5) Python Wheel 2.7 2014-08-27 10KB (md5) Source 2014-08-27 33KB