Welcome to NEAT-Python’s documentation!

Warning

Breaking Changes in v1.0.0

Version 1.0.0 introduces breaking changes that affect existing code:

  • Innovation number tracking: Now fully implemented per NEAT paper - checkpoints from v0.x are incompatible

  • Parallel evaluation: ThreadedEvaluator and DistributedEvaluator removed; use ParallelEvaluator

  • Configuration: New required parameters must be explicitly specified

See the Migration Guide for neat-python 1.0 guide for detailed upgrade instructions.

NEAT is a method developed by Kenneth O. Stanley for evolving arbitrary neural networks. NEAT-Python is a pure Python implementation of NEAT, with no dependencies other than the Python standard library.

Currently this library supports Python versions 3.8 through 3.14, as well as PyPy 3.

For academic researchers: See NEAT-Python for Academic Research for guidance on using neat-python in research publications.

Many thanks to the original authors of this implementation, Cesar Gomes Miguel, Carolina Feher da Silva, and Marcio Lobo Netto!

Note

Some of the example code has other dependencies. For your convenience there is a conda environment YAML file in the examples directory you can use to set up an environment that will support all of the current examples. TODO: Improve README.md file information for the examples.

For further information regarding general concepts and theory, please see Selected Publications on Stanley’s website, or his AMA on Reddit.

If you encounter any confusing or incorrect information in this documentation, please open an issue in the GitHub project.

Contents:

User Guides

Indices and tables