EasyGA is a python package designed to provide an easy-to-use Genetic Algorithm. The package is designed to work right out of the box, while also allowing the user to customize features as they see fit.
Project description
EasyGA - Genetic Algorithms made Easy
EasyGA is a python package designed to provide an easy-to-use Genetic Algorithm. The package is designed to work right out of the box, while also allowing the user to customize features as they see fit.
Check out our wiki for more information.
Installation:
Run the rolling to install:
pip3 install EasyGA
Getting started with EasyGA:
import EasyGA
# Create the Genetic algorithm
ga = EasyGA.GA()
# Evolve the whole genetic algorithm until termination has been reached
ga.evolve()
# Print out the current generation and the population
ga.print_generation()
ga.print_population()
Output:
Current Generation : 15
Current population:
Chromosome - 0 [7][4][4][5][3][5][5][8][3][7] / Fitness = 3
Chromosome - 1 [7][4][4][5][3][5][5][8][3][7] / Fitness = 3
Chromosome - 2 [7][4][4][5][3][5][5][8][3][7] / Fitness = 3
Chromosome - 3 [7][4][4][5][3][5][5][8][3][7] / Fitness = 3
Chromosome - 4 [7][2][4][5][3][5][5][8][3][7] / Fitness = 3
Chromosome - 5 [7][2][4][5][3][5][5][8][3][7] / Fitness = 3
Chromosome - 6 [5][8][8][6][10][10][5][7][2][7] / Fitness = 2
Chromosome - 7 [5][8][8][6][10][10][5][7][2][7] / Fitness = 2
Chromosome - 8 [5][8][8][6][10][10][5][7][2][7] / Fitness = 2
Chromosome - 9 [7][2][8][10][3][5][5][8][1][7] / Fitness = 2
How Testing works
Getting started with testing
pip3 install pytest
Navigate to your EasyGA folder and run:
python3 -m pytest
Output
============================================= test session starts =========================
platform darwin -- Python 3.8.6rc1, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
rootdir: /Users/github/EasyGA
collected 2 items
test_EasyGA.py .. [100%]
============================================== 2 passed in 0.04s ==========================
This is only an example and we will create hundreds of tests so this list will become bigger and bigger.
Developing EasyGA:
If you know how to use Github and git ignore this section.
Getting started with development
To work together we plan on using github and the git framework. This is made easy with the Atom software.
Download Atom for whatever OS you have. https://atom.io/
Use the github tab to pull the github repository. Its self explanitory.
Use the run_testing.py file inside the src folder to run your code and test while we build the package.
Upload to PyPi
- Change version number to whatever plus 1
- Rename "src" folder to "EasyGA"
- Run these two commands
python setup.py bdist_wheel sdist // Build the package for publishing
twine upload dist/* // Upload package to PyPI
The second command requires a username and password.
Other options
Download the repository to some folder - If you never used git. Look up a youtube tutorial. It will all make sense.
git clone https://github.com/danielwilczak101/EasyGA.git
Or download as a zip file.
https://github.com/danielwilczak101/EasyGA/archive/master.zip
Use the run_testing.py file inside the src folder to run your code and test while we build the package.
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
File details
Details for the file EasyGA-1.4.2.tar.gz
.
File metadata
- Download URL: EasyGA-1.4.2.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.6rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 921966ead3be95519e31b36ef379ec9996927ca5ac750db3d02319e97d69cd52 |
|
MD5 | de3052845cee1370d15f69c3d3cad900 |
|
BLAKE2b-256 | 2440580e3500e4936f482118fa5ded39908ff47784863cbe370bd617fd4e2dff |
Provenance
File details
Details for the file EasyGA-1.4.2-py3-none-any.whl
.
File metadata
- Download URL: EasyGA-1.4.2-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.6rc1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfa0162a54e2175450bbe4f94416e32dd7044e0175f5c7b26cb4aa59ccafbfd9 |
|
MD5 | 035df47b65cb819397f6d06aed4423ec |
|
BLAKE2b-256 | d7b7d60e2ab9c5138185c52c31ee69fa782da40a407079a97db3d360cf6d637c |