Library with a collection of useful classes and methods to DRY
Project description
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
Using uv:
uv add mango-genetic
Using pip:
pip install mango-genetic
Dependencies
Python >= 3.10
numpy >= 1.24.4
mango[data] == 1.0.2
Quick Start
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.
License
This project is licensed under the Apache Software License.
Support
For questions, issues, or contributions, please contact:
Email: mango@baobabsoluciones.es
Create an issue on the repository
—
Made with ❤️ by baobab soluciones
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mango_genetic-1.0.2.tar.gz.
File metadata
- Download URL: mango_genetic-1.0.2.tar.gz
- Upload date:
- Size: 62.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6baf08a5b3e1e5ff1f786fab235d75ca351e36036162445e94ee9a6194f07bde
|
|
| MD5 |
1125a9fd59b747fe23e30c11b2e58dd2
|
|
| BLAKE2b-256 |
0dcf5230086f6247e663a449cd6410fabce6db4e019ae7877afbb92b4c0720ed
|
File details
Details for the file mango_genetic-1.0.2-py3-none-any.whl.
File metadata
- Download URL: mango_genetic-1.0.2-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6956ab8da49e88221decfb9c7e4cc3a738f486c445fc11623e35e307b4cca7a
|
|
| MD5 |
6753140f630a87e0bfd7b78c1cc84b22
|
|
| BLAKE2b-256 |
a58367c1242ffbb171c081416725633131e11378c995c8977f467d469414cc84
|