There are algorithms that will directly enumerate non-isomorphic graphs, without duplicates, e.g. geng
available as a part of 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)
Edit: nauty
also have various convenient interfaces, e.g. from Python (SageMath and pynauty)