I spent some time playing around with NetworkX (python library) today. It has all the necessary features for graph building, and the graphviz (dot) file writing seems to have enough features to accomplish what I was looking for. The small proof of concept script I put together seemed on par with what I could do with gvpr.