Skip to main content

Web-based UI for Conway Game of Life

Project description

Web UI for Conway Game of Life

This package is a Web interface for package conway-life.

Web UI Screenshot

Installation

Use PyPi package life-web-ui

python3 -m pip install --upgrade life-web-ui

Usage

Package installs an executable script life-start (via common entry_points configuration option, so depending on your local settings it may or may not be in your $PATH)

Running this command will start a local server and open it in the default browser. To exit, press Ctrl-C to quit the server and close the browser tab.

life-start [-h] [--log {debug,info,warning,error,critical}] [-p PORT]
           [--cell PIXELS] [--space PIXELS] [--padding PIXELS] [-d]

Run Web UI for Game of Life

optional arguments:
  -h, --help            show this help message and exit
  --log {debug,info,warning,error,critical}, --log_level {debug,info,warning,error,critical}
                        Logging level (default = debug)
  -p PORT, --port PORT  Port (default = 13882)
  --cell PIXELS, --size PIXELS
                        Size of cell in pixels (default = 20)
  --space PIXELS        Spacing between cells in pixels
  --padding PIXELS      Canvas padding in pixels

Implementation notes

life-start will run a local Flask server. All computations are done in the server (not in the browser), synchronously on the Step command and asynchronously on Walk or Run. Asynchronous execution is done with a background Python thread with results polled by the browser. (Walk is different from Run in the background thread being suspended between polls).

There is also a short-lived background thread on startup to open Web browser (after a short delay to make sure server has had time to start). This won't happen if -d/--dev option is used (see below).

Development

For testing purposes, start the server with this command:

FLASK_ENV=development <VENV_ROOT>/bin/python3 <GIT_ROOT>/py-web/src/life_web_ui/__init__.py -d --log debug

Virtual environment installed under VENV_ROOT must have all dependencies listed in setup.cfg configuration file for the package (install_requires).

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

life-web-ui-0.1.0.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

life_web_ui-0.1.0.1-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file life-web-ui-0.1.0.1.tar.gz.

File metadata

  • Download URL: life-web-ui-0.1.0.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.11

File hashes

Hashes for life-web-ui-0.1.0.1.tar.gz
Algorithm Hash digest
SHA256 5a7990218d2e68a5510073de809c88225e9a32f1d3cd506c492f8171f949e515
MD5 5f61cc3d5daa1f567dc4c4bc496790ac
BLAKE2b-256 13abeb334b01acac3b562970c910b3d2a10e4e320fc79d8893756c35410622e9

See more details on using hashes here.

File details

Details for the file life_web_ui-0.1.0.1-py3-none-any.whl.

File metadata

  • Download URL: life_web_ui-0.1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.11

File hashes

Hashes for life_web_ui-0.1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c296228f37ca9680c47990e615521140e411b8f0ac02e8aa86882088c025bf78
MD5 5966dfbc1d8327dd59d86e6c2bd0c0d5
BLAKE2b-256 1ebb6e96f9715ab4be10426c271da65645930e0c6faabd43e6a2cf27335c2c7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page