markdown-graphviz-inline
Render inline graphs with Markdown and Graphviz (python3 version)
What it is and what it does
markdown-graphviz-inline is a Markdown extension that embeds Graphviz diagram rendering directly into the Markdown processing pipeline. When you write a fenced code block tagged with `graphviz` and a Graphviz command (dot, neato, fdp, sfdp, twopi, or circo), the extension executes that command and replaces the block with an inline SVG or PNG image. This eliminates the need for external build steps or output directory configuration.
The package is designed to work out-of-the-box with Python Markdown–based static site generators like MkDocs, Pelican, and Nikola. It depends only on Markdown as a runtime library and requires that Graphviz command-line tools be installed on the system where the Markdown is processed. The extension supports both modern fenced-code-block syntax and legacy template-style notation.
Use it for:
- Render architecture diagrams, flowcharts, or entity-relationship diagrams directly in MkDocs documentation without post-processing.
- Generate graph visualizations in Pelican or Nikola blogs by writing Graphviz syntax inline in Markdown source.
- Create technical documentation with embedded SVG or PNG diagrams that are version-controlled as text in the Markdown source.
- Build knowledge-base or wiki sites where diagram definitions are stored alongside narrative text in Markdown files.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Markdown extension that converts inline Graphviz diagram definitions into embedded SVG or PNG images during document rendering.
Yes, if you use a Python Markdown–based static site generator and have Graphviz installed on your build system. The extension is lightweight, has no complex dependencies, and solves a real problem—embedding diagrams without external configuration. However, maintenance is dormant (last release 2025-01-27), so verify compatibility with your specific Markdown and generator versions before relying on it for production.
Install
markdown-graphviz-inline on PyPI
pip
pip install markdown-graphviz-inlineuv
uv add markdown-graphviz-inlinepoetry
poetry add markdown-graphviz-inlineInstalling markdown-graphviz-inline
Before you install
Low install friction; a pure-Python wheel with a single runtime dependency on Markdown. Maintenance is dormant—last release was 2025-01-27 with no activity since, though the repository remains active and unarchived.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install markdown-graphviz-inline
In mkdocs.yml or equivalent:
markdown_extensions:
- markdown_inline_graphviz
In your Markdown file:
```graphviz dot output.svg
digraph G {
A -> B
}
```
Requires Graphviz command-line tools (dot, neato, fdp, sfdp, twopi, circo) to be installed on the system; the extension is a Markdown plugin only and does not bundle Graphviz itself.
Verify before relying
- Whether the package works reliably with modern Python versions beyond 3.6, given classifiers list only up to 3.6.
- Current state of compatibility with recent versions of Markdown and popular static site generators (MkDocs, Pelican, Nikola).
- Whether system Graphviz installation is reliably detected and whether error handling is robust when Graphviz is missing.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — Markdown |
| Maintenance | dormant — 564 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 582,109/month — #5,902 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: markdown_graphviz_inline-1.1.3-py3-none-any.whl
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
markdown-inline-graphviz-extensionA Markdown extension that converts inline…
permissive · top 15,000 on PyPI
graphvizGenerates DOT language source code for graph…
permissive · top 1,000 on PyPI
mkdocs-plugin-inline-svgA MkDocs plugin that replaces SVG image…
permissive · top 15,000 on PyPI
pydot-ngpydot-ng provides a Python interface to…
permissive · top 15,000 on PyPI
GvGenGvGen generates Graphviz dot files…
permissive · top 15,000 on PyPI
pydotplusPyDotPlus provides a Python interface to…
permissive · top 15,000 on PyPI
pydotpydot is a Python interface to Graphviz that…
permissive · top 1,000 on PyPI
plantuml-markdownA Markdown extension that converts PlantUML…
permissive · top 5,000 on PyPI
pygraphvizPyGraphviz provides a Python interface to…
permissive · top 5,000 on PyPI
wavedromConverts WaveDrom-compatible JSON…
permissive · top 15,000 on PyPI