{"id":18346588,"url":"https://github.com/zipfian-science/natural-selection","last_synced_at":"2025-04-06T08:33:32.839Z","repository":{"id":39564754,"uuid":"289295188","full_name":"Zipfian-Science/natural-selection","owner":"Zipfian-Science","description":"A library for pure Evolutionary Algorithm tools","archived":false,"fork":false,"pushed_at":"2023-02-15T17:25:09.000Z","size":336,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T21:11:22.479Z","etag":null,"topics":["evolutionary-algorithms","evolutionary-computation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zipfian-Science.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-21T14:54:50.000Z","updated_at":"2023-04-12T11:43:45.000Z","dependencies_parsed_at":"2024-11-05T21:22:12.286Z","dependency_job_id":null,"html_url":"https://github.com/Zipfian-Science/natural-selection","commit_stats":{"total_commits":109,"total_committers":2,"mean_commits":54.5,"dds":0.00917431192660545,"last_synced_commit":"0475326a01e5fc181f938ff1e35c10a7deec41e6"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zipfian-Science%2Fnatural-selection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zipfian-Science%2Fnatural-selection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zipfian-Science%2Fnatural-selection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zipfian-Science%2Fnatural-selection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zipfian-Science","download_url":"https://codeload.github.com/Zipfian-Science/natural-selection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457572,"owners_count":20941902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["evolutionary-algorithms","evolutionary-computation"],"created_at":"2024-11-05T21:11:52.947Z","updated_at":"2025-04-06T08:33:32.459Z","avatar_url":"https://github.com/Zipfian-Science.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Natural Selection\n```\n      ,(*                                         \n           @@                                     \n*@       @@% *@                                   \n*@     @@   %@ @                                  \n @@/ @@   @@   @@                                 \n   @@@(,@(   @/ @@@@@@@\u0026@@@@@                     \n                 @ @\u0026  @@  /@@@#                  \n                 /@  @@  ,@@   @@                 \n                  ,@@   @@   @@  @                \n                    %@@@   @@    @@@@@@@@@@@@@    \n                          ,,      @  @@  @@  \u0026@@@ \n                                  %@@  @@  \u0026@@  @@\n                                   @%@@  \u0026@@     @\n                                    ,@,%@@        \n                                       @@@@@@     \n             _                   _ \n _ __   __ _| |_ _   _ _ __ __ _| |\n| '_ \\ / _` | __| | | | '__/ _` | |\n| | | | (_| | |_| |_| | | | (_| | |\n|_| |_|\\__,_|\\__|\\__,_|_|  \\__,_|_|                                   \n          _           _   _             \n ___  ___| | ___  ___| |_(_) ___  _ __  \n/ __|/ _ \\ |/ _ \\/ __| __| |/ _ \\| '_ \\ \n\\__ \\  __/ |  __/ (__| |_| | (_) | | | |\n|___/\\___|_|\\___|\\___|\\__|_|\\___/|_| |_|\n                                        \nby Zipfian Science                               \n```\nPython tools for creating and running Evolutionary Algorithm (EA) experiments.\n\n## Sauce layout\n\n```\nnatural_selection\n   |\n   |- genetic_algorithms\n   |   |- operators\n   |   |   |- selection\n   |   |   |   |- elite_selection\n   |   |   |   |- parent_selection\n   |   |   |   |- survivor_selection\n   |   |   |   \n   |   |   |- crossover\n   |   |   |- initialisation\n   |   |   |- mutation\n   |   |\n   |   |- utils\n   |       |- criteria_stopping\n   |       |- probability_functions\n   |       |- random_functions\n   |   \n   |- genetic_programs\n   |   |- functions\n   |   |- operators\n   |   |   |- initialisation\n   |   |\n   |   |- utils\n   |\n   |- deploy.py\n   |- run_tests.py\n   |- setup.py\n```\n## Run tests\n\nTo run unit tests, use the helper script `run_tests.py`.\n\n```shell script\n# To see available options\n$ python run_tests.py -h\n```\n\n## Deploying\n\nTo build and deploy to PyPi, use the helper script `deploy.py`.\n\n```shell script\n# To see available options\n$ python deploy.py -h\n```\n\n## Install and use\n\nOnce deployed, the package can be installed via pip.\n\n```shell script\n$ pip install natural-selection\n```\n\n## Branching dev repos \n\nThere are two main branches at any given point in time. These branches may only be pulled. These are:\n\n- master\n- dev\n\nOn creating a pull request for merging into dev or master, change reviews must be requested. \n\n### master\n\nThis is the production branch and is considered the golden version. Production builds are deployed from this branch. Feature development will typically be pulled into the `release` branch first but bug fixes can be directly pulled into master. \n\n### dev\n\nThis is the pre-release branch for merging tested and stable code. Although the branch is open for merging, it should still be done with communication throughout the team. \n\n## Feature development branches\n\nFeature development requires branches to be created and pushed remotely. When creating a new branch, the following naming convention should be followed:\n\n\u003e AA_description\n\nExplanation: \n- AA: the initials of the dev\n- Description: short text describing the work or feature development\n\nExample:\n\n\u003e JK_new_genetic_programming\n\nThis describes that this branch is being developed by JK (John Khoza) and that the nature of development is building a new idea in EA.\n\nThese branches have to be created from a local up to date `dev` branch, depending on where you start off a new development. Branches have to be pushed to the remote branch:  \n\n`JK_new_genetic_programming[local] -\u003e JK_new_genetic_programming[remote]`\n\nMerge requests into dev from feature development branches will be reviewed by a requested team member.\n\n## Branching and keeping up to date\n\nExample of branching:\n\n```shell script\n$ git checkout dev\n$ git pull\n$ git checkout -b AA_description\n$ git commit\n$ git push origin AA_description\n```\n\nIn case of changes to dev, a git merge/rebase will bring your branch up to date with dev and avoid conflicts. For example:\n\n```shell script\n$ git checkout dev\n$ git pull\n$ git checkout AA_description\n$ git merge dev\n```\nAlternatively, but not recommended:\n\n```shell script\n$ git checkout dev\n$ git pull\n$ git checkout AA_description\n$ git rebase dev\n```\n\n## .gitignore\n\nThis is rather crucial to keep the repository clean. When any artefacts or files are created during development that don’t relate to run time code, please add these to the `.gitignore` file so that they are not added automatically. With that said, please commit the .gitignore file itself!\n\n\n© [Zipfian Science](https://zipfian.science) 2022\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzipfian-science%2Fnatural-selection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzipfian-science%2Fnatural-selection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzipfian-science%2Fnatural-selection/lists"}