DEAP/deap

Distributed Evolutionary Algorithms in Python

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 35 minutes ago
Added to GitGenius on September 10th, 2026
Created on May 21st, 2014
Open Issues & Pull Requests: 281 (+0)
GitHub issues: Enabled
Number of forks: 1,162
Total Stargazers: 6,438 (+0)
Total Subscribers: 187 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

DEAP is a Python framework for building and running distributed evolutionary algorithms.

The framework addresses the challenge of implementing complex evolutionary computation workflows by providing a modular toolkit that separates algorithm logic from problem representation. It works by offering reusable components for genetic algorithms, genetic programming, evolution strategies, and particle swarm optimization, allowing developers to compose these primitives into custom algorithms. The architecture emphasizes flexibility through a functional programming style, enabling users to define fitness functions, genetic operators, and selection mechanisms independently and then combine them as needed. Built-in support for parallel and distributed execution means algorithms can scale across multiple processors or machines without requiring fundamental changes to the algorithm code.

DEAP suits projects where you need to explore solution spaces through evolutionary methods but want to avoid building optimization infrastructure from scratch. It works well for optimization problems, parameter tuning, and symbolic regression tasks where the solution representation and evaluation logic are problem-specific. The framework is particularly valuable if you anticipate needing to parallelize your search across multiple cores or nodes, since this capability is integrated rather than bolted on afterward. Teams should choose this tool when they want a balance between algorithmic flexibility and implementation convenience, rather than a black-box optimizer or a highly specialized solver for a narrow problem class.

Development activity shows consistent engagement with the codebase through regular commits addressing bug fixes and incremental improvements. The project maintains an organized issue tracker where problems are documented and tracked to resolution. Pull requests are reviewed and integrated into the main branch, indicating an active merge workflow. Documentation is actively maintained alongside code changes, suggesting the maintainers keep written guidance synchronized with implementation. The test suite receives ongoing attention with new tests added as functionality evolves.