python-lifelib


Namepython-lifelib JSON
Version 2.5.6 PyPI version JSON
download
home_pagehttps://gitlab.com/apgoucher/lifelib
SummaryAlgorithms for manipulating and simulating patterns in cellular automata
upload_time2022-12-21 13:16:05
maintainer
docs_urlNone
authorAdam P. Goucher
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            What is lifelib?
----------------

`lifelib` is a collection of algorithms for simulating and manipulating
patterns in cellular automata. It can be included in your project in
either of two ways:

 - **Python package**: `lifelib` can be imported as a Python package,
   and is compatible with both Python 2.7 and Python 3.5 (and beyond).
   We recommend this for everyday use, as the Python bindings are more
   high-level and user-friendly.

 - **C++ header files**: if you have a project written in C++11 or above,
   specific components of `lifelib` may be included. This approach is
   used by the [apgsearch](https://gitlab.com/apgoucher/apgmera) soup
   searcher and the [slmake](https://gitlab.com/apgoucher/slmake) glider
   synthesis compiler. Note that `lifelib` is header-only owing to the
   use of templates.

System requirements
-------------------

For `lifelib` to work, you need a computer with an **x86-64 processor**.
This includes most personal computers, but not smartphones, tablets, or the
Raspberry Pi.

It runs easily in a POSIX environment, such as:

 - Linux / Unix;
 - Mac OS X;
 - Windows (using Cygwin);
 - Windows 10 (using WSL);

and requires a C++ compiler (gcc or clang) and Python (ideally with numpy).

The Python version of `lifelib` can actually run in Windows' native Python
(e.g. Anaconda). A suitable Cygwin installation still needs to exist on the
machine and be locatable by `lifelib`; the Python package contains a function
(`lifelib.install_cygwin()`) to automatically and painlessly handle this.

Documentation
-------------

 - [Quick start][1]
 - [Installation notes][2]
 - [The structure of lifelib][3]
 - [Example usage for Python][4]
 - [Editing patterns][5]
 - [Analysing and viewing patterns][6]

[1]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/quickstart.md
[2]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/install.md
[3]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/structure.md
[4]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/exampleusage.md
[5]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/editing.md
[6]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/analysis.md

Future directions
-----------------

 - Currently lifelib is specific to 64-bit x86 architecture; ideally
   support for other architectures will be introduced.
 - An experimental _logic synthesis_ branch is under development. That
   will allow custom rules (expressed as rule tables or trees) to be
   automatically compiled into Boolean circuits.
 - In addition to the existing C++11 and Python bindings, the author
   is aiming to add Wolfram Language bindings for the library.
            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/apgoucher/lifelib",
    "name": "python-lifelib",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Adam P. Goucher",
    "author_email": "adam@hatsya.com",
    "download_url": "https://files.pythonhosted.org/packages/f0/49/a1f2212a54627d199f9e7516131568b7169c547cb068ceb2ea65bcf2cb10/python-lifelib-2.5.6.tar.gz",
    "platform": null,
    "description": "What is lifelib?\n----------------\n\n`lifelib` is a collection of algorithms for simulating and manipulating\npatterns in cellular automata. It can be included in your project in\neither of two ways:\n\n - **Python package**: `lifelib` can be imported as a Python package,\n   and is compatible with both Python 2.7 and Python 3.5 (and beyond).\n   We recommend this for everyday use, as the Python bindings are more\n   high-level and user-friendly.\n\n - **C++ header files**: if you have a project written in C++11 or above,\n   specific components of `lifelib` may be included. This approach is\n   used by the [apgsearch](https://gitlab.com/apgoucher/apgmera) soup\n   searcher and the [slmake](https://gitlab.com/apgoucher/slmake) glider\n   synthesis compiler. Note that `lifelib` is header-only owing to the\n   use of templates.\n\nSystem requirements\n-------------------\n\nFor `lifelib` to work, you need a computer with an **x86-64 processor**.\nThis includes most personal computers, but not smartphones, tablets, or the\nRaspberry Pi.\n\nIt runs easily in a POSIX environment, such as:\n\n - Linux / Unix;\n - Mac OS X;\n - Windows (using Cygwin);\n - Windows 10 (using WSL);\n\nand requires a C++ compiler (gcc or clang) and Python (ideally with numpy).\n\nThe Python version of `lifelib` can actually run in Windows' native Python\n(e.g. Anaconda). A suitable Cygwin installation still needs to exist on the\nmachine and be locatable by `lifelib`; the Python package contains a function\n(`lifelib.install_cygwin()`) to automatically and painlessly handle this.\n\nDocumentation\n-------------\n\n - [Quick start][1]\n - [Installation notes][2]\n - [The structure of lifelib][3]\n - [Example usage for Python][4]\n - [Editing patterns][5]\n - [Analysing and viewing patterns][6]\n\n[1]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/quickstart.md\n[2]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/install.md\n[3]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/structure.md\n[4]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/exampleusage.md\n[5]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/editing.md\n[6]: https://gitlab.com/apgoucher/lifelib/blob/master/doc/analysis.md\n\nFuture directions\n-----------------\n\n - Currently lifelib is specific to 64-bit x86 architecture; ideally\n   support for other architectures will be introduced.\n - An experimental _logic synthesis_ branch is under development. That\n   will allow custom rules (expressed as rule tables or trees) to be\n   automatically compiled into Boolean circuits.\n - In addition to the existing C++11 and Python bindings, the author\n   is aiming to add Wolfram Language bindings for the library.",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Algorithms for manipulating and simulating patterns in cellular automata",
    "version": "2.5.6",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "a4e98303254ee8b62187292c1b618e6b",
                "sha256": "25cad90d0bfc4354914d2c89951ab2221ab942add84d07e1470c109a1726d2c0"
            },
            "downloads": -1,
            "filename": "python-lifelib-2.5.6.tar.gz",
            "has_sig": false,
            "md5_digest": "a4e98303254ee8b62187292c1b618e6b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 725336,
            "upload_time": "2022-12-21T13:16:05",
            "upload_time_iso_8601": "2022-12-21T13:16:05.923379Z",
            "url": "https://files.pythonhosted.org/packages/f0/49/a1f2212a54627d199f9e7516131568b7169c547cb068ceb2ea65bcf2cb10/python-lifelib-2.5.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-21 13:16:05",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "gitlab_user": "apgoucher",
    "gitlab_project": "lifelib",
    "lcname": "python-lifelib"
}
        
Elapsed time: 0.02340s