In your place I would at least take a look at #PyGraphviz
https://pygraphviz.github.io/documentation/stable/index.html
"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)."
It has layout and drawing, and can also export to dot.