# GoLPy
[![GitHub
license](https://img.shields.io/github/license/Zeta611/golpy?style=flat-square)](https://github.com/Zeta611/golpy/blob/master/LICENSE)
[![PyPI](https://img.shields.io/pypi/v/golpy?style=flat-square)](https://pypi.org/project/golpy/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)
GoLPy is an efficient Conway's Game of Life implemented in Python using NumPy.
## Example Output
The following GIF can be generated using the command:
```sh
life --demo glidergun --out glider_gun.gif --ppc 10 --pos TL -W60 -H40
```
![The Gosper Glider Gun](glider_gun.gif)
## Installation
```sh
pip install golpy
```
## Usage
```sh
usage: life [-h] (-i GRID_INPUT | -d DEMO) [-o FILE | --debug-print]
[-W WIDTH] [-H HEIGHT] [-M MAX_GEN] [--ppc PIXELS] [-P POSITION]
[-p]
optional arguments:
-h, --help show this help message and exit
-i GRID_INPUT, --in GRID_INPUT
Parse the initial grid from <GRID_INPUT>
-d DEMO, --demo DEMO Try one of the provided demos: one of 'glidergun' and
'glidergen'
-o FILE, --out FILE Place the output into <FILE>
--debug-print Print the generated frames directly to the terminal,
instead of saving them
-W WIDTH, --width WIDTH
Width of the grid
-H HEIGHT, --height HEIGHT
Height of the grid
-M MAX_GEN, --max-gen MAX_GEN
Number of generations to simulate
--ppc PIXELS Set the width and the height of each cell to <PIXELS>
-P POSITION, --pos POSITION
One of 'C', 'T', 'B', 'L', 'R', 'TL', 'TR', 'BL', and
'BR'
-p, --profile Measure the performance
```
To use without installing,
```sh
python -m golpy # ...
```
## Input Format
```txt
........................O
......................O.O
............OO......OO............OO
...........O...O....OO............OO
OO........O.....O...OO
OO........O...O.OO....O.O
..........O.....O.......O
...........O...O
............OO
```
Use `.` for a dead cell, `O` (`chr(79)`) for a live cell.
## License
[MIT](LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/zeta611/py-game-of-life",
"name": "golpy",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "Game of Life",
"author": "Jay Lee",
"author_email": "jaeho.lee@snu.ac.kr",
"download_url": "https://files.pythonhosted.org/packages/6d/2f/b11fecc81c2d510accd8031fe5e9ffeff04fcda9f27fe099b1368a89bf9c/golpy-0.3.0.tar.gz",
"platform": null,
"description": "# GoLPy\n\n[![GitHub\nlicense](https://img.shields.io/github/license/Zeta611/golpy?style=flat-square)](https://github.com/Zeta611/golpy/blob/master/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/golpy?style=flat-square)](https://pypi.org/project/golpy/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)\n\nGoLPy is an efficient Conway's Game of Life implemented in Python using NumPy.\n\n## Example Output\n\nThe following GIF can be generated using the command:\n\n```sh\nlife --demo glidergun --out glider_gun.gif --ppc 10 --pos TL -W60 -H40\n```\n\n![The Gosper Glider Gun](glider_gun.gif)\n\n## Installation\n\n```sh\npip install golpy\n```\n\n## Usage\n\n```sh\nusage: life [-h] (-i GRID_INPUT | -d DEMO) [-o FILE | --debug-print]\n [-W WIDTH] [-H HEIGHT] [-M MAX_GEN] [--ppc PIXELS] [-P POSITION]\n [-p]\n\noptional arguments:\n -h, --help show this help message and exit\n -i GRID_INPUT, --in GRID_INPUT\n Parse the initial grid from <GRID_INPUT>\n -d DEMO, --demo DEMO Try one of the provided demos: one of 'glidergun' and\n 'glidergen'\n -o FILE, --out FILE Place the output into <FILE>\n --debug-print Print the generated frames directly to the terminal,\n instead of saving them\n\n -W WIDTH, --width WIDTH\n Width of the grid\n -H HEIGHT, --height HEIGHT\n Height of the grid\n\n -M MAX_GEN, --max-gen MAX_GEN\n Number of generations to simulate\n --ppc PIXELS Set the width and the height of each cell to <PIXELS>\n -P POSITION, --pos POSITION\n One of 'C', 'T', 'B', 'L', 'R', 'TL', 'TR', 'BL', and\n 'BR'\n\n -p, --profile Measure the performance\n```\n\nTo use without installing,\n\n```sh\npython -m golpy # ...\n```\n\n## Input Format\n\n```txt\n........................O\n......................O.O\n............OO......OO............OO\n...........O...O....OO............OO\nOO........O.....O...OO\nOO........O...O.OO....O.O\n..........O.....O.......O\n...........O...O\n............OO\n```\n\nUse `.` for a dead cell, `O` (`chr(79)`) for a live cell.\n\n## License\n\n[MIT](LICENSE)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Efficient Conway's Game of Life using NumPy",
"version": "0.3.0",
"project_urls": {
"Homepage": "https://github.com/zeta611/py-game-of-life",
"Repository": "https://github.com/zeta611/py-game-of-life"
},
"split_keywords": [
"game",
"of",
"life"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c153a70d29d911da5182430292e8c04d5a38612120a1e99c563446d07430ff98",
"md5": "1f5b2bc0d8ef8fce0007d07d3357e345",
"sha256": "26ed4648356a87baafa11a6cdba7e528226f8b1f9337968bd7d5652a79436d78"
},
"downloads": -1,
"filename": "golpy-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1f5b2bc0d8ef8fce0007d07d3357e345",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 6865,
"upload_time": "2024-05-01T04:41:44",
"upload_time_iso_8601": "2024-05-01T04:41:44.839529Z",
"url": "https://files.pythonhosted.org/packages/c1/53/a70d29d911da5182430292e8c04d5a38612120a1e99c563446d07430ff98/golpy-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6d2fb11fecc81c2d510accd8031fe5e9ffeff04fcda9f27fe099b1368a89bf9c",
"md5": "2689effff6ef6084a31e3e91d0a3944a",
"sha256": "dc5ecef4f293f597801f08836a0c08380cf725c4aaac254286aca5e591111799"
},
"downloads": -1,
"filename": "golpy-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "2689effff6ef6084a31e3e91d0a3944a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 5744,
"upload_time": "2024-05-01T04:41:46",
"upload_time_iso_8601": "2024-05-01T04:41:46.565246Z",
"url": "https://files.pythonhosted.org/packages/6d/2f/b11fecc81c2d510accd8031fe5e9ffeff04fcda9f27fe099b1368a89bf9c/golpy-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-01 04:41:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zeta611",
"github_project": "py-game-of-life",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "golpy"
}