Inspired from https://github.com/CodeReclaimers/neat-python but the algorithm is not the same. It still relies on the same approach of random mutation and contest based selection.
A good start to understand how it works is to look at bin/evolve
.
This is not meant to be used in real life cases as performances of object oriented approach performs well under array approaches. Objects makes it easy to understand the concepts.