Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Data Science
  3. monkeys

monkeys

Python

A strongly-typed genetic programming framework for Python that makes evolutionary algorithms accessible and fun.

GitHubGitHub
124 stars14 forks0 contributors

What is monkeys?

monkeys is a strongly-typed genetic programming framework for Python that represents solutions as executable tree structures. It allows users to specify solution forms and scoring methods, enabling intelligent search through potential programs to solve problems like game AI, bug repair, and algorithm design.

Target Audience

Python developers and researchers interested in evolutionary algorithms, genetic programming, automated problem-solving, or AI experimentation who want a flexible and accessible toolkit.

Value Proposition

Developers choose monkeys for its strong typing system that simplifies program structure specification, its ease of use with comprehensive tutorials, and its applicability to a wide range of domains from academic research to practical AI solutions.

Overview

A strongly-typed genetic programming framework for Python

Use Cases

Best For

  • Experimenting with genetic programming concepts in Python
  • Generating programs or rules from examples (e.g., linting rules)
  • Solving logic puzzles or optimization problems algorithmically
  • Researching evolutionary algorithms and program synthesis
  • Creating game AI or adaptive systems via evolutionary methods
  • Automated debugging or code repair through program evolution

Not Ideal For

  • Projects requiring real-time or low-latency AI solutions, as genetic programming's iterative evolution can be computationally slow.
  • Teams looking for pre-built machine learning models without custom problem specification, since monkeys requires defining solution structures and scoring functions.
  • Environments not based on Python, as it is a Python-exclusive framework.

Pros & Cons

Pros

Strong Typing System

Implements strongly-typed genetic programming, allowing easy specification of program structures and constraints, as highlighted in the README's description of the variant used.

Accessible Setup and Learning

Offers quick installation via pip and comprehensive Jupyter notebook tutorials, making it easy to start experimenting with genetic programming without extensive configuration.

Broad Problem Applicability

Applicable to diverse domains from game AI to code repair, demonstrated through examples like linting by example and logic puzzle solving in the provided notebooks.

Python Version Compatibility

Supports both Python 2.7 and 3.x, ensuring it can be used in a wide range of Python environments, as noted in the features.

Cons

High Computational Overhead

Genetic programming involves evaluating populations of programs iteratively, which can be resource-intensive and slow for complex problems, limiting use in performance-critical scenarios.

Manual Configuration Burden

Users must define all aspects of the problem, including types and fitness functions, which can be time-consuming and require deep domain knowledge, unlike plug-and-play AI tools.

Niche Community and Ecosystem

Compared to mainstream AI libraries, monkeys has a smaller community, which may limit available resources, third-party integrations, and support for troubleshooting.

Frequently Asked Questions

Quick Stats

Stars124
Forks14
Contributors0
Open Issues4
Last commit8 years ago
CreatedSince 2017

Tags

#ai#metaprogramming#strongly-typed#evolutionary-algorithms#python#framework#automated-reasoning#ai-research#optimization#program-synthesis#machine-learning#genetic-programming#python-framework

Built With

P
Python

Included in

Data Science3.4k
Auto-fetched 18 hours ago

Related Projects

deapdeap

Distributed Evolutionary Algorithms in Python

Stars6,424
Forks1,164
Last commit3 months ago
PyGADPyGAD

Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).

Stars2,213
Forks499
Last commit15 days ago
Genetic Programming in Python (GitHub)Genetic Programming in Python (GitHub)

Genetic Programming in Python, with a scikit-learn inspired API

Stars1,871
Forks323
Last commit6 months ago
sklearn-geneticsklearn-genetic

Genetic feature selection module for scikit-learn

Stars327
Forks75
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub