Development Status
- 4 - Beta
Intended Audience
- Developers
- Science/Research
Programming Language
- C
- Python
- Python :: 3
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
- Python :: 3.14
- Python :: Implementation :: CPython
- Python :: Implementation :: PyPy
Topic
- Software Development :: Libraries :: Python Modules
- Scientific/Engineering :: Information Analysis
- Scientific/Engineering :: Mathematics
- Scientific/Engineering :: Visualization
PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz graph data structure and layout algorithms. PyGraphviz provides a similar programming interface to NetworkX (https://networkx.org).
Website (including documentation): https://pygraphviz.github.io
Mailing list: https://groups.google.com/forum/#!forum/pygraphviz-discuss
Bug reports: https://github.com/pygraphviz/pygraphviz/issues
Simple example
>>> import pygraphviz as pgv
>>> G = pgv.AGraph()
>>> G.add_node("a")
>>> G.add_edge("b", "c")
>>> print(G)
strict graph "" {
a;
b -- c;
}
Install
PyGraphviz requires Graphviz. Please see INSTALL.txt for details.
License
Released under the 3-Clause BSD license (see LICENSE):
Copyright (C) 2006-2026 PyGraphviz Developers Aric Hagberg <aric.hagberg@gmail.gov> Dan Schult <dschult@colgate.edu> Manos Renieris
The binary wheels distributed on PyPI bundle the Graphviz libraries and command-line tools, which are licensed separately under the Eclipse Public License v2.0 (see LICENSE.graphviz).
Wheel compatibility matrix
| Platform | CPython 3.10 | CPython 3.11 | CPython 3.12 | CPython 3.13 | CPython 3.14 |
|---|---|---|---|---|---|
| macosx_11_0_arm64 | |||||
| macosx_11_0_x86_64 | |||||
| manylinux_2_28_aarch64 | |||||
| manylinux_2_28_x86_64 | |||||
| win_amd64 |