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"
}