Okay, sounds good. You've sold me, let's use pydot. I think we should still use something that can recurse down and call pydot appropriately, but this sounds fine to me.
I'll try to integrate pydot into the graphviz output for my merger tree this weekend. Perhaps that experience will fully inform me (us) of whether it's a good idea or not.
Stephen Skory email@example.com http://stephenskory.com/ 510.621.3687 (google voice)