public

graphviz (0.8.4)

Published 2025-06-28 16:32:57 +00:00 by publish

Installation

pip install --index-url  graphviz

About this package

Simple Python interface for Graphviz

Graphviz

|PyPI version| |License| |Supported Python| |Format| |Docs|

|Travis| |Codecov|

This package facilitates the creation and rendering of graph descriptions in the DOT_ language of the Graphviz_ graph drawing software (master repo_) 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.

Use the view option/method to directly inspect the resulting (PDF, PNG, SVG, etc.) file with its default application. Graphs can also be rendered and displayed within Jupyter notebooks_ (formerly known as IPython notebooks, example) as well as the Jupyter Qt Console_.

Installation

This package runs under Python 2.7, and 3.4+, use pip_ to install:

.. code:: bash

$ pip install graphviz

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

Make sure that the directory containing the dot executable is on your systems' path.

Quickstart

Create a graph object:

.. code:: python

>>> from graphviz import Digraph

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

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

Add nodes and edges:

.. code:: python

>>> 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:

.. code:: python

>>> 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:

.. code:: python

>>> dot.render('test-output/round-table.gv', view=True)  # doctest: +SKIP
'test-output/round-table.gv.pdf'

.. image:: https://raw.github.com/xflr6/graphviz/master/docs/round-table.png :align: center

See also

  • pygraphviz_ |--| full-blown interface wrapping the Graphviz C library with SWIG
  • graphviz-python_ |--| official Python bindings (documentation_)
  • pydot_ |--| stable pure-Python approach, requires pyparsing

License

This package is distributed under the MIT license_.

.. _pip: https://pip.readthedocs.io .. _Graphviz: https://www.graphviz.org .. _master repo: https://gitlab.com/graphviz/graphviz/ .. _download page: https://www.graphviz.org/download/ .. _DOT: https://www.graphviz.org/doc/info/lang.html .. _Jupyter notebooks: https://jupyter.org .. _IPython notebooks: https://ipython.org/notebook.html .. _example: https://nbviewer.jupyter.org/github/xflr6/graphviz/blob/master/examples/notebook.ipynb .. _Jupyter Qt Console: https://qtconsole.readthedocs.io

.. _pygraphviz: https://pypi.org/project/pygraphviz/ .. _graphviz-python: https://pypi.org/project/graphviz-python/ .. _documentation: https://www.graphviz.org/pdf/gv.3python.pdf .. _pydot: https://pypi.org/project/pydot/

.. _MIT license: https://opensource.org/licenses/MIT

.. |--| unicode:: U+2013

.. |PyPI version| image:: https://img.shields.io/pypi/v/graphviz.svg :target: https://pypi.org/project/graphviz/ :alt: Latest PyPI Version .. |License| image:: https://img.shields.io/pypi/l/graphviz.svg :target: https://pypi.org/project/graphviz/ :alt: License .. |Supported Python| image:: https://img.shields.io/pypi/pyversions/graphviz.svg :target: https://pypi.org/project/graphviz/ :alt: Supported Python Versions .. |Format| image:: https://img.shields.io/pypi/format/graphviz.svg :target: https://pypi.org/project/graphviz/ :alt: Format .. |Docs| image:: https://readthedocs.org/projects/graphviz/badge/?version=stable :target: https://graphviz.readthedocs.io/en/stable/ :alt: Readthedocs .. |Travis| image:: https://img.shields.io/travis/xflr6/graphviz.svg :target: https://travis-ci.org/xflr6/graphviz :alt: Travis .. |Codecov| image:: https://codecov.io/gh/xflr6/graphviz/branch/master/graph/badge.svg :target: https://codecov.io/gh/xflr6/graphviz :alt: Codecov

Requirements

Requires Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
Details
PyPI
2025-06-28 16:32:57 +00:00
19
Sebastian Bank
MIT
16 KiB
Assets (1)
Versions (1) View all
0.8.4 2025-06-28