Metadata-Version: 2.4
Name: mango-genetic
Version: 0.1.0a2
Summary: Library with a collection of useful classes and methods to DRY
Author-email: baobab soluciones <mango@baobabsoluciones.es>
License: Apache Software License
Project-URL: repository, https://github.com/baobabsoluciones/mango
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy<2.0.0,>=1.24.4
Requires-Dist: mango[data]==0.3.0a8
Provides-Extra: dev
Requires-Dist: coverage[toml]>=7.0; extra == "dev"
Dynamic: license-file

# Mango Genetic

A Python library for implementing genetic algorithms and evolutionary computation methods.

## Overview

Mango Genetic provides a comprehensive framework for building and running genetic algorithms. It includes implementations of various genetic operators such as selection, crossover, mutation, and replacement strategies.

## Features

- **Individual Management**: Base classes for representing individuals with different encoding types (real, binary, integer, categorical)
- **Population Control**: Population management with configurable size and generation limits
- **Selection Methods**: Multiple selection strategies including roulette wheel, tournament, rank-based, and elitism
- **Crossover Operators**: Various crossover methods like blend, one-split, two-split, linear, flat, gaussian, and mask
- **Mutation Control**: Configurable mutation rates with static, adaptive, gene-based, and population-based approaches
- **Replacement Strategies**: Different replacement methods including elitist, stochastic elitist, random, and offspring-only
- **Configuration System**: Flexible configuration management for all genetic algorithm parameters

## Installation

```bash
pip install mango-genetic
```

## Dependencies

- Python >= 3.10
- numpy >= 1.24.4
- mango[data] == 0.3.0a8

## Quick Start

```python
from mango_genetic.config import GeneticBaseConfig
from mango_genetic.individual import Individual
from mango_genetic.population import Population

# Load configuration
config = GeneticBaseConfig("config.cfg")

# Create population and run genetic algorithm
population = Population(config, fitness_function)
population.run()
```

## Documentation

For detailed documentation, visit the [Mango Documentation](https://mango.readthedocs.io/).

## License

This project is licensed under the Apache Software License.
