Skip to main content

pyscail

pyscail is a package for creating cellular automata. It allows you to specify the allowed states, and the transitions between them, and does everything else for you

rock-paper-scissors gif

Installation

You need to have python (>= 3.11) installed on your system. Once you have that, you can:

pip install pyscail

(or pip3, depending on your system)

The project's link on PyPI: https://pypi.org/project/pyscail/

Usage

See this video for a demonstration of how to use the library: https://youtu.be/BjPNs30i2TQ

A brief summary - provide a class with a next method and a display method. Provide a initialization function that returns an instance of your class given some coordinates. Provide a settings object that you can make using method provided by the library. Optionally, provide a function that will be called once each generation.

Then, simply call scail.run to run the ruleset.

Belusov-Zhabotinsky gif

Demos

See the following video for a demonstration on how to write code using this library.

See the demos folder for a lot more (and more varied) examples on how to use the library. Written demo automata include:

  • Conway's game of life
  • The modified game of life with extinction
  • Langton's ant

Langton gif

everything gif

Other

Kernel Caching

Kernel caching is an option you can enable through kernels.initialize_kernel_caching If this is set, then instead of being calculated every frame, the neighborhoods of a given point will be calculated once then cached. This will probably not cause any issues unless you change your neighborhood strategy mid-simulation.

Still, I didn't notice a significant speedup upon implementing caching, so for now it is just an option that is turned off by default.

Release files for pyscail 0.1.0

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

Source distribution (sdist)

Source distribution for pyscail 0.1.0
File Size Uploaded
pyscail-0.1.0.tar.gz 96.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyscail 0.1.0
File Interpreter ABI Platform
pyscail-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 96.2 MB

Release files / pyscail-0.1.0.tar.gz

Download URL pyscail-0.1.0.tar.gz
Size 96.2 MB
Tags Source
SHA-256 checksum
How to use checksums
16e97e032f9fdacfb95b19ee430355338a35e56dab7d9bea18af3893c99ee4ed
BLAKE2b-256 checksum
How to use checksums
f810b068ececb1475b1ce1c3525b1d4aa47051b9b5ae3fb26402fbdacd4b60b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.5

Release files / pyscail-0.1.0-py3-none-any.whl

Download URL pyscail-0.1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3011e70ea79d83af63ef932f7d0ab344736e8e7bed0161b9762f565be0ec8452
BLAKE2b-256 checksum
How to use checksums
a17c4c08aeee478afb1d7f4f2e0cf3b2e5b9c78b3316bea1230baddd7e95ad73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.14

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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