Efficient algorithms for generating all small graphs up to isomorphism are based
on canonical labeling processes that compute a canonical ("distinguished") node
labeling of a graph. Combining the naive backtracking algorithm for generating
all labeled graphs with the aforementioned canonical labeling process in a
non-trivial way, one can enumerate all graphs up to isomorphism.
The goal of this project is to give an improved and more general implementation,
which is extendible with user-defined filters for various graph properties.