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))

Edit: `nauty` also have various convenient interfaces, e.g. from Python ([SageMath](http://sagemath.org) and [pynauty](https://web.cs.dal.ca/~peter/software/pynauty/html/))