Back to browse
GitHub Repository

Genetic algorithm and evolutionary optimization engine with built-in diagnostics and AI-agent steering — GA, CMA-ES, differential evolution, island models, NSGA-II/III, and MAP-Elites.

1 starsPython

Evogine – Zero-dependency evolutionary optimization for Python

by sku10·Mar 4, 2026·1 point·0 comments

AI Analysis

●●●BangerWizardryBig BrainNiche Gem

Six optimizers, zero dependencies, agent-steerable mid-run—genuinely thoughtful design for research.

Strengths
  • Zero dependency bloat (numpy optional) + full reproducibility via seeding; rare in Python ML libraries.
  • Agent-steerable mid-run: on_generation callbacks let LLM agents tune hyperparameters live—genuinely novel integration point.
  • Built-in diagnostics (diversity metrics, stagnation detection, parameter recommendations) are structured for machine-readability.
Weaknesses
  • Niche audience (quantitative research, optimization specialists); limited mainstream adoption potential.
  • Benchmarks against scipy.optimize and platypus not provided; performance parity unverified.
Target Audience

ML researchers, quantitative traders, optimization engineers, AI agent builders

Similar To

scipy.optimize · DEAP · Platypus

Post Description

Evogine is a pure Python evolutionary optimization library with no required dependencies. Six optimizers under one consistent API: genetic algorithms, CMA-ES, differential evolution (SHADE/L-SHADE), island models, multi-objective (NSGA-II/III), and MAP-Elites.

I built it because I needed evolutionary optimization across multiple projects (stock prediction, NHL game modeling) and found existing libraries either too heavy on dependencies or too magical. Design goals were: zero dependency bloat (numpy optional for CMA-ES only), full reproducibility via seeding, and clean control over everything.

Some things that might be interesting to HN:

- Built-in diagnostics — every generation reports diversity metrics, stagnation detection, and parameter adjustment recommendations - Agent-steerable — on_generation callbacks can return parameter overrides mid-run, designed for LLM agents to tune hyperparameters on the fly - Landscape analysis — samples your fitness function and recommends which optimizer to use - Flexible worker control — workers=4, workers=-1 (all cores minus one), workers=0 (all cores) - 425 tests, Python 3.10–3.13, MIT licensed

pip install evogine

Happy to answer questions about the design, evolutionary algorithms, or use cases.

Similar Projects