Skip to main content

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 soup searcher and the 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

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.

Metadata

Release files for python-lifelib 2.5.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-lifelib 2.5.6
File Size Uploaded Provenance Actions
python-lifelib-2.5.6.tar.gz 725.3 kB Without provenance Details for python-lifelib-2.5.6.tar.gz

Release files / python-lifelib-2.5.6.tar.gz

Download URL python-lifelib-2.5.6.tar.gz
Size 725.3 kB
Tags Source
SHA-256 checksum
How to use checksums
25cad90d0bfc4354914d2c89951ab2221ab942add84d07e1470c109a1726d2c0
BLAKE2b-256 checksum
How to use checksums
f049a1f2212a54627d199f9e7516131568b7169c547cb068ceb2ea65bcf2cb10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.0

Security for python-lifelib 2.5.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.5.6 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page