Skip to main content

Algorithms for manipulating and simulating patterns in cellular automata

Project description

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 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.

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

python-lifelib-2.1.11.tar.gz (663.7 kB view hashes)

Uploaded Source

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