https://github.com/pkalivas/radiate
A fast and flexible evolution engine for implementing artificial evolution and genetic programming techniques
https://github.com/pkalivas/radiate
artificial-intelligence evolutionary-algorithm evolutionary-algorithms genetic-algorithm genetic-engine genetic-programming neat neuroevolution python rust
Last synced: 6 days ago
JSON representation
A fast and flexible evolution engine for implementing artificial evolution and genetic programming techniques
- Host: GitHub
- URL: https://github.com/pkalivas/radiate
- Owner: pkalivas
- License: mit
- Created: 2019-11-17T20:50:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2026-02-22T11:35:15.000Z (7 days ago)
- Last Synced: 2026-02-22T17:06:15.612Z (6 days ago)
- Topics: artificial-intelligence, evolutionary-algorithm, evolutionary-algorithms, genetic-algorithm, genetic-engine, genetic-programming, neat, neuroevolution, python, rust
- Language: Rust
- Homepage: https://pkalivas.github.io/radiate/
- Size: 33.6 MB
- Stars: 241
- Watchers: 9
- Forks: 20
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust - pkalivas/radiate
- awesome-rust-cn - pkalivas/radiate
- awesome-rust - pkalivas/radiate - A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree. (Libraries / Artificial Intelligence)
- fucking-awesome-rust - pkalivas/radiate - A customizable parallel genetic programming engine capable of evolving solutions for supervised, unsupervised, and reinforcement learning problems. Comes with complete and customizable implementation of NEAT and Evtree. (Libraries / Artificial Intelligence)
- awesome-rust-with-stars - pkalivas/radiate - 01-22 | (Libraries / Artificial Intelligence)
README
Radiate
___
For more details check radiate's [user guide](https://pkalivas.github.io/radiate/) or cargo [docs](https://docs.rs/radiate/latest/radiate/).
Radiate is a powerful library for implementing genetic algorithms and artificial evolution techniques. It provides a fast and flexible framework for creating, evolving, and optimizing solutions to complex problems using principles
inspired by natural selection and genetics. The core is written in Rust and is available for Python.
* Traditional genetic algorithm implementation.
* Single & Multi-objective optimization support.
* Neuroevolution (graph-based representation - [evolving neural networks](http://www.scholarpedia.org/article/Neuroevolution)) support. Simmilar to [NEAT](https://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf).
* Genetic programming support ([tree-based representation](https://en.wikipedia.org/wiki/Gene_expression_programming#:~:text=In%20computer%20programming%2C%20gene%20expression,much%20like%20a%20living%20organism.))
* Built-in support for parallelism.
* Extensive selection, crossover, and mutation operators.
* Opt-in speciation for maintaining diversity.
* Novelty search support.
* First-class metric tracking.
---
## Installation
### Rust
Add this to your `Cargo.toml`:
```toml
[dependencies]
radiate = { version = "1.2.21", features = ["x"] }
```
### Python
```bash
pip install radiate # --or-- uv add radiate
```
---
## Building from source
```bash
git clone https://github.com/pkalivas/radiate.git
cd radiate
```
The core build options are below, there are a few others that can be found through the `make help` command.
* `make build` to build both Rust and Python packages in develop mode
* add `ARGS="--release"` to build both packages in release mode
* add `PY=3.x` to build python package for specific python version (e.g. `PY=3.12`, `PY=3.13t` for free-threading interpreter)
* `make test-rs` to run tests for rust
* `make test-py` to run tests for python package