Background

I recently had the need to build a custom renderer for graphs generated by graphviz for a project visualizing computation graphs for RNNs.

Graphviz has an output format called plain and plain-ext which generates a very simple text-based layout specification for all nodes and edges in the input graph. It’s pretty well spec’d out in the official docs for the most part: https://graphviz.org/docs/outputs/plain/.

Here’s an example of what plain-ext output format looks like for a simple graph: