evomatic


Nameevomatic JSON
Version 0.0.6 PyPI version JSON
download
home_pagehttps://github.com/Robert-Forrest/evomatic
SummaryEvolutionary algorithm for development of alloy materials
upload_time2022-12-07 02:57:02
maintainer
docs_urlNone
authorRobert Forrest
requires_python>=3.6
licenseBSD 3-Clause License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Evomatic

![Tests](https://github.com/Robert-Forrest/evomatic/actions/workflows/tests.yml/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/evomatic/badge/?version=latest)](https://evomatic.readthedocs.io/en/latest/?badge=latest)

Evomatic is an genetic algorithm tool for the development of new alloys.

## Installation

The evomatic package can be installed from
[pypi](https://pypi.org/project/evomatic/) using pip:

``pip install evomatic``

Evomatic makes heavy use of the
[metallurgy](https://github.com/Robert-Forrest/metallurgy) package to manipulate
and approximate properties of alloys. The
[cerebral](https://github.com/Robert-Forrest/cerebral) package can be used by
evomatic to obtain predictions of alloy properties on-the-fly during evolution.

## Usage

Basic usage of evomatic involves setting some targets and running an evolution,
the following example shows evolution of a small population towards alloys with
high mass:

```python
>>> import evomatic as evo

>>> evolver = evo.Evolver(targets={"maximise": ["mass"]}, population_size=50)

>>> history = evolver.evolve()

>>> history["alloys"]
                       alloy        mass  generation  rank   fitness
                       Og100  295.000000           7     0  1.000000
                 Og92.4Fl7.6  294.544000          11     1  0.998433
            Og91.4Lv7.4Cm1.2  294.276000           9     2  0.997512
          Og78Mc14Lv6.2Hs1.8  293.726000          11     3  0.995622
                       Lv100  293.000000           2     4  0.993127
                         ...         ...         ...   ...       ...
  Ar38.8Li28.5B24.9Sc5.7I2.1   25.396895          10   587  0.073521
                     Si79H21   22.398830          10   588  0.063218
                Li83.7Zr16.3   20.678292           6   589  0.057305
                 Li97.9Db2.1   12.464260           5   590  0.029078
                       He100    4.002602           4   591  0.000000
```

In this simple example, there is no better material for the objective of maximum
mass than pure Oganesson. 

## Documentation

Documentation is available [here.](https://evomatic.readthedocs.io/en/latest/api.html)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Robert-Forrest/evomatic",
    "name": "evomatic",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Robert Forrest",
    "author_email": "robertforrest@live.com",
    "download_url": "https://files.pythonhosted.org/packages/4b/be/d96bd9639604d6425903db5a9010dd5c9112929813a7bc447ae37b30ea66/evomatic-0.0.6.tar.gz",
    "platform": "unix",
    "description": "# Evomatic\n\n![Tests](https://github.com/Robert-Forrest/evomatic/actions/workflows/tests.yml/badge.svg)\n[![Documentation Status](https://readthedocs.org/projects/evomatic/badge/?version=latest)](https://evomatic.readthedocs.io/en/latest/?badge=latest)\n\nEvomatic is an genetic algorithm tool for the development of new alloys.\n\n## Installation\n\nThe evomatic package can be installed from\n[pypi](https://pypi.org/project/evomatic/) using pip:\n\n``pip install evomatic``\n\nEvomatic makes heavy use of the\n[metallurgy](https://github.com/Robert-Forrest/metallurgy) package to manipulate\nand approximate properties of alloys. The\n[cerebral](https://github.com/Robert-Forrest/cerebral) package can be used by\nevomatic to obtain predictions of alloy properties on-the-fly during evolution.\n\n## Usage\n\nBasic usage of evomatic involves setting some targets and running an evolution,\nthe following example shows evolution of a small population towards alloys with\nhigh mass:\n\n```python\n>>> import evomatic as evo\n\n>>> evolver = evo.Evolver(targets={\"maximise\": [\"mass\"]}, population_size=50)\n\n>>> history = evolver.evolve()\n\n>>> history[\"alloys\"]\n                       alloy        mass  generation  rank   fitness\n                       Og100  295.000000           7     0  1.000000\n                 Og92.4Fl7.6  294.544000          11     1  0.998433\n            Og91.4Lv7.4Cm1.2  294.276000           9     2  0.997512\n          Og78Mc14Lv6.2Hs1.8  293.726000          11     3  0.995622\n                       Lv100  293.000000           2     4  0.993127\n                         ...         ...         ...   ...       ...\n  Ar38.8Li28.5B24.9Sc5.7I2.1   25.396895          10   587  0.073521\n                     Si79H21   22.398830          10   588  0.063218\n                Li83.7Zr16.3   20.678292           6   589  0.057305\n                 Li97.9Db2.1   12.464260           5   590  0.029078\n                       He100    4.002602           4   591  0.000000\n```\n\nIn this simple example, there is no better material for the objective of maximum\nmass than pure Oganesson. \n\n## Documentation\n\nDocumentation is available [here.](https://evomatic.readthedocs.io/en/latest/api.html)\n\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License",
    "summary": "Evolutionary algorithm for development of alloy materials",
    "version": "0.0.6",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "b3466bd44fb1d74e73dfd355b047d47a",
                "sha256": "1223beab4d05123cb7c25eac463f288cfc09cddeed168a1f45f0f4c4cda2898b"
            },
            "downloads": -1,
            "filename": "evomatic-0.0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b3466bd44fb1d74e73dfd355b047d47a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 19169,
            "upload_time": "2022-12-07T02:57:00",
            "upload_time_iso_8601": "2022-12-07T02:57:00.573674Z",
            "url": "https://files.pythonhosted.org/packages/0e/45/68cc79a1c35790380966dc9cc31710407dad82c1f9d82e4af2b6d64a7e75/evomatic-0.0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "17e9a0e6194beb0e6d2b85eb2208cb01",
                "sha256": "567819870c2bf586bea924a4687bc4b9b6b243c52026068bb597083da3d974cc"
            },
            "downloads": -1,
            "filename": "evomatic-0.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "17e9a0e6194beb0e6d2b85eb2208cb01",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 24349,
            "upload_time": "2022-12-07T02:57:02",
            "upload_time_iso_8601": "2022-12-07T02:57:02.046413Z",
            "url": "https://files.pythonhosted.org/packages/4b/be/d96bd9639604d6425903db5a9010dd5c9112929813a7bc447ae37b30ea66/evomatic-0.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-07 02:57:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "Robert-Forrest",
    "github_project": "evomatic",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "evomatic"
}
        
Elapsed time: 0.02302s