Thanks for this wonderful tool! I noticed the order of edges in the output dot file is not reproducible between different calls when several source files are provided. A quick fix would be to update [`writer.py:58`](https://github.com/Technologicat/pyan/blob/a16f5d5124e1e3a696b0402347fe7f8fdd171a58/pyan/writers.py#L58) so that instead of: ```python for edge in self.graph.edges: ``` We had: ```python for edge in sorted(self.graph.edges, key=lambda x: (x.source.id, x.target.id)): ``` That would let us use `pyan` in a git precommit hook, as it would not introduce spurious and unnecessary changes in the git diff. I can make the PR, just let me know.