graphviz
Simple Python interface for Graphviz
Install
graphviz on PyPI
pip
pip install graphvizuv
uv add graphvizpoetry
poetry add graphvizPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 424 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: graphviz-0.21-py3-none-any.whl
Keywords: graph, visualization, dot, render
About graphviz
from the package's own PyPI description — quoted content, verbatim
Graphviz
|PyPI version| |License| |Supported Python| |Downloads|
|Build| |Codecov| |Readthedocs-stable| |Readthedocs-latest|
|Binder-stable|
This package facilitates the creation and rendering of graph descriptions in
the DOT_ language of the Graphviz_ graph drawing software (upstream 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 <notebook_>, nbviewer <notebook-nbviewer_>)
as well as the Jupyter QtConsole_.
Links
- GitHub: https://github.com/xflr6/graphviz
- PyPI: https://pypi.org/project/graphviz/
- Documentation: https://graphviz.readthedocs.io
- Changelog: https://graphviz.readthedocs.io/en/latest/changelog.html
- Issue Tracker: https://github.com/xflr6/graphviz/issues
- Download:...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Generates DOT language graph descriptions and renders them using Graphviz, enabling programmatic creation of directed and undirected graphs with nodes and edges that can be exported to PDF, PNG, SVG, and other formats.
Low friction: pure Python wheel with no runtime dependencies. Actively maintained (latest release 2025-06-15, last commit 2026-07-11) with 1805 GitHub stars and support for Python 3.9–3.13.
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.
Usage
pip install graphviz
import graphviz
dot = graphviz.Digraph(comment='Example')
dot.node('A', 'Node A')
dot.node('B', 'Node B')
dot.edge('A', 'B')
print(dot.source)
The Graphviz system software (not this package) must be installed separately and the `dot` executable must be on your system PATH to render graphs to files or view them.
Verdict: Mature, well-maintained library for programmatic graph creation in Python with no Python dependencies and permissive licensing. Requires separate installation of the Graphviz system software to render output, but the Python package itself installs cleanly and supports current Python versions through 3.13.
Needs verification
- Whether the package is suitable for large-scale graph generation or has performance limitations with complex graphs.
- Support status for rendering to less common output formats beyond PDF, PNG, and SVG.
Similar packages
permissive · top 1,000 on PyPI
notebookpermissive · top 1,000 on PyPI
nbconvertpermissive · top 1,000 on PyPI
pydeckpermissive · top 1,000 on PyPI
ipywidgetspermissive · top 1,000 on PyPI
widgetsnbextensionpermissive · top 1,000 on PyPI
readme-rendererpermissive · top 1,000 on PyPI
plotlypermissive · top 1,000 on PyPI
ipython-pygments-lexerspermissive · top 1,000 on PyPI
matplotlib-inlinepermissive · top 1,000 on PyPI