Individual project as part of Level 4 at University of Glasgow. The main purpose of this project is to generate all non-isomorphic graphs under some constraints.