There are algorithms that will directly enumerate non-isomorphic graphs, without duplicates, e.g. `geng` available as a part of [nauty](http://users.cecs.anu.edu.au/~bdm/nauty/) and it also have procedures to generate non-isomorphic digraphs with a fixed underlying graph, one is `directg` (see chapter 15 of [nauty manual](http://users.cecs.anu.edu.au/~bdm/nauty/nug26.pdf)