Skip to main content

NeuroEvolution in Python backed by C++ computations

Project description

Artificial Brains (ABrain) for Python

C++/Python implementation of fully evolvable Artificial Neural Networks. Uses the ES-HyperNEAT algorithms to indirectly encode ANNs with bio-mimetic patterns (repetitions, symmetry...), large number of neurons and relative robustness to input/output variations between generations. The API is served in Python and computations are performed in C++.

Documentation Status PEP8 PyPI version Downloads

tested on latest

Development

Optional dependencies:

Graphviz (dot)

To generate directed graphs for the genomes. Can only be fetched by system installer (apt-get, yum, ...). See https://graphviz.org/download/ for instructions

Kaleido

To generate non-interactive images of ANN (through plotly). Due to inconsistent support, left as an optional dependency. Use pip install abrain[...,kaleido] to get it

Todo list:

  • Functionalities:
    • Order-independent ANN evaluation (with back buffer)?

    • Crossover / historical markings

      • Actually needed?
    • MANN Integration

      • Easy extraction
      • built-in testing
      • C++ wrapper
      • Visu
    • Misc:

      • Documentation
        • Advanced usage

        • move to scikit/poetry/... ?

    • CI/CD

      • Recent install gives no loadimage plugion for "svg:cairo" for pdf output

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abrain-1.0rc0.post5.tar.gz (127.1 kB view hashes)

Uploaded Source

Built Distributions

abrain-1.0rc0.post5-pp310-pypy310_pp73-win_amd64.whl (367.0 kB view hashes)

Uploaded PyPy Windows x86-64

abrain-1.0rc0.post5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (424.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (439.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (397.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

abrain-1.0rc0.post5-pp39-pypy39_pp73-win_amd64.whl (366.9 kB view hashes)

Uploaded PyPy Windows x86-64

abrain-1.0rc0.post5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (439.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (396.8 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

abrain-1.0rc0.post5-pp38-pypy38_pp73-win_amd64.whl (367.0 kB view hashes)

Uploaded PyPy Windows x86-64

abrain-1.0rc0.post5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (422.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (436.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (396.9 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

abrain-1.0rc0.post5-cp312-cp312-win_amd64.whl (370.6 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

abrain-1.0rc0.post5-cp312-cp312-win32.whl (321.6 kB view hashes)

Uploaded CPython 3.12 Windows x86

abrain-1.0rc0.post5-cp312-cp312-musllinux_1_1_x86_64.whl (945.0 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

abrain-1.0rc0.post5-cp312-cp312-musllinux_1_1_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

abrain-1.0rc0.post5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (418.5 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (435.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-cp312-cp312-macosx_10_9_x86_64.whl (406.4 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

abrain-1.0rc0.post5-cp311-cp311-win_amd64.whl (368.7 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

abrain-1.0rc0.post5-cp311-cp311-win32.whl (324.8 kB view hashes)

Uploaded CPython 3.11 Windows x86

abrain-1.0rc0.post5-cp311-cp311-musllinux_1_1_x86_64.whl (946.3 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

abrain-1.0rc0.post5-cp311-cp311-musllinux_1_1_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

abrain-1.0rc0.post5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.2 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (441.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-cp311-cp311-macosx_10_9_x86_64.whl (398.2 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

abrain-1.0rc0.post5-cp310-cp310-win_amd64.whl (367.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

abrain-1.0rc0.post5-cp310-cp310-win32.whl (323.9 kB view hashes)

Uploaded CPython 3.10 Windows x86

abrain-1.0rc0.post5-cp310-cp310-musllinux_1_1_x86_64.whl (945.1 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

abrain-1.0rc0.post5-cp310-cp310-musllinux_1_1_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

abrain-1.0rc0.post5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (439.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-cp310-cp310-macosx_10_9_x86_64.whl (396.7 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

abrain-1.0rc0.post5-cp39-cp39-win_amd64.whl (357.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

abrain-1.0rc0.post5-cp39-cp39-win32.whl (324.2 kB view hashes)

Uploaded CPython 3.9 Windows x86

abrain-1.0rc0.post5-cp39-cp39-musllinux_1_1_x86_64.whl (945.4 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

abrain-1.0rc0.post5-cp39-cp39-musllinux_1_1_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

abrain-1.0rc0.post5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (423.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (439.1 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-cp39-cp39-macosx_10_9_x86_64.whl (396.7 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

abrain-1.0rc0.post5-cp38-cp38-win_amd64.whl (367.2 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

abrain-1.0rc0.post5-cp38-cp38-win32.whl (324.1 kB view hashes)

Uploaded CPython 3.8 Windows x86

abrain-1.0rc0.post5-cp38-cp38-musllinux_1_1_x86_64.whl (945.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

abrain-1.0rc0.post5-cp38-cp38-musllinux_1_1_i686.whl (1.0 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

abrain-1.0rc0.post5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (419.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

abrain-1.0rc0.post5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (436.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

abrain-1.0rc0.post5-cp38-cp38-macosx_10_9_x86_64.whl (396.6 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page