Skip to main content

Elementary Computational Automata for PYthon

Project description

ecapybara

ecapybara, Elementary Cellular Automata for PYthon + BARA

GitHubs Actions build status (Pylint)

Iterate the 256 elementary cellular automata starting from a fixed inital state (center cell 'live', all others 'dead').

Usage

Installed package

pip install ecapybara
python3 -m ecapybara.ecapydriver

You will be prompted to select one of the rules from 0-255, and the number of steps you would like to iterate. Output will be scaled to fit the number of columns in your terminal window with some padding.

Console mode

python3 src/ecapybara/ecapydriver.py

Sample output

rule 22, 50 steps

TODO

  • Larger number of steps doesn't generate expected output.
  • Needs to be modularized.
  • Needs unit tests.
  • Needs click interface for CLI.
  • Needs to write images using PILlow.
  • Logging needs work.
  • Streaming from API not working
  • Needs some JS or other trickery to get browser window width
  • Add ability to scale fundamental elements
  • Add ability to 'page' back and forth between different rules in browser view
  • Programmatically generate visual representation of rules
  • Needs ability to start from randomized seed
  • COLORS !!!
  • Animation modes (fades, slow transitions)

Mascot

The official mascot of ecapybara is the e-capybara.

e-capybara, our mascot

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

ecapybara-0.0.3.tar.gz (14.1 MB view hashes)

Uploaded Source

Built Distribution

ecapybara-0.0.3-py3-none-any.whl (16.5 kB view hashes)

Uploaded Python 3

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