{"id":37742955,"url":"https://github.com/8nhuman8/nebular-automata","last_synced_at":"2026-01-16T14:12:27.603Z","repository":{"id":63001977,"uuid":"264238238","full_name":"8nhuman8/nebular-automata","owner":"8nhuman8","description":"The program for visualizing a probabilistic cellular automata","archived":false,"fork":false,"pushed_at":"2025-03-21T07:35:26.000Z","size":56554,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-21T08:29:01.864Z","etag":null,"topics":["cellular-automata","probabilistic-models","python","stochastic-simulation","visualization"],"latest_commit_sha":null,"homepage":"https://t.me/nebular_automata","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/8nhuman8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-15T16:04:07.000Z","updated_at":"2025-03-21T07:35:30.000Z","dependencies_parsed_at":"2025-03-21T08:36:10.605Z","dependency_job_id":null,"html_url":"https://github.com/8nhuman8/nebular-automata","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/8nhuman8/nebular-automata","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8nhuman8%2Fnebular-automata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8nhuman8%2Fnebular-automata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8nhuman8%2Fnebular-automata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8nhuman8%2Fnebular-automata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/8nhuman8","download_url":"https://codeload.github.com/8nhuman8/nebular-automata/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8nhuman8%2Fnebular-automata/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cellular-automata","probabilistic-models","python","stochastic-simulation","visualization"],"created_at":"2026-01-16T14:12:26.879Z","updated_at":"2026-01-16T14:12:27.593Z","avatar_url":"https://github.com/8nhuman8.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nebular Automata\n\nThe program for visualizing a probabilistic cellular automata\n\n![intro_gif](docs/README/intro.gif)\n\n## Table of contents\n\n- [Idea](#idea)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Command-line arguments description](#command-line-arguments-description)\n- [Credits and references](#credits-and-references)\n- [License](#license)\n- [Gallery](#gallery)\n\n## Idea\n\n\u003e The original idea was found [here](https://vk.com/math_dosug?w=wall-149993556_46382), and the author is this [person](https://vk.com/id504076319).\n\nLet a square be surrounded on each side by a new square of the same size with a chance of **q**. Newly formed squares reproduce other squares and so on, to infinity.\nWe will limit the growth of the population by setting a certain maximum allowable number of squares, upon reaching which the program will be completed.\n\nAs you probably noticed when looking at the images [below](#gallery), the edges of the shapes have a different color, into which the initial color smoothly flows. This was done not only to illustrate the process of structure development, but also for greater saturation and prettiness of images.\n\n## Installation\n\nInstall/upgrade required packages with `pip install -r requirements.txt --upgrade`.\n\n## Usage\n\n1. Check out all the command-line parameters [below](#command-line-arguments-description).\n2. Then you can specify the colors and allowed reproduction directions in the [`config.json`](configs/config.json).\n3. Run the `renderer.py` with `python src/renderer.py [parameters you need]`.\n\n## Command-line arguments description\n\n```console\nusage: renderer.py [-h] [-sp Y X] [-p FLOAT] [-mc INT] [-minp FLOAT] [-maxp FLOAT] [-rc] [-rbg] [-cn INT] [-s INT] [-o] [-fi] [-t] [-si] [-pi PATH] [-dsi] [-sv]\n                   [-pv PATH] [-vfps INT] [-vs INT] [-sg] [-pg PATH] [-gd INT]\n                   width height\n\noptions:\n  -h, --help            show this help message and exit\n\nRequired options:\n  width                 The width of the image.\n  height                The height of the image.\n\nBasic options:\n  -sp Y X, --start-point Y X\n                        The coordinate of a starting point. Default value: middle of the image.\n  -p FLOAT, --probability FLOAT\n                        The probability that a square will multiply in a one direction. Default value: 0.51\n  -mc INT, --max-count INT\n                        The maximum number of squares in the image. Default value: (width * height) // 2.\n  -minp FLOAT, --min-percent FLOAT\n                        The program will work until the nebula is filled with a chosen or greater percentage.\n  -maxp FLOAT, --max-percent FLOAT\n                        The program will work until the nebula is filled with a chosen percentage.\n\nColoring options:\n  -rc, --random-colors  All colors will be chosen randomly.\n  -rbg, --random-background\n                        The background color will be chosen randomly.\n  -cn INT, --colors-number INT\n                        The number of colors to use in the image. Default value: 3. Use with: -rc.\n\nAdditional options:\n  -s INT, --seed INT    The program will generate the nebula based on the entered seed. In this case, the generation time is significantly increased.\n  -o, --opaque          All colors will be opaque including background.\n  -fi, --fade-in        Starting color is white. The color of each new generation will fade into the specified color. Use with: -rc -cn 1\n  -t, --torus           The nebula will develop on a grid with toroidal topology.\n\nImage options:\n  -si, --save-image     The rendered image will be saved.\n  -pi PATH, --path-image PATH\n                        The path where the image will be saved. Default path: output/\n  -dsi, --dont-show-image\n                        Do not show image in the end.\n\nVideo options:\n  -sv, --save-video     The rendered video will be saved.\n  -pv PATH, --path-video PATH\n                        The path where the video will be saved. Default path: output/\n  -vfps INT, --video-fps INT\n                        The frame rate of the video. Default value: 60.\n  -vs INT, --video-size INT\n                        The size of the video in MB to which the size of the original video will be reduced using compression.\n\nGIF options:\n  -sg, --save-gif       The rendered GIF will be saved.\n  -pg PATH, --path-gif PATH\n                        The path where the GIF will be saved. Default path: output/\n  -gd INT, --gif-duration INT\n                        The display duration of each frame of the GIF in milliseconds. Default value: 30.\n```\n\n## Credits and references\n\nThe original idea was found [here](https://vk.com/math_dosug?w=wall-149993556_46382), and the author is this [person](https://vk.com/id504076319).\n\n## License\n\n[Nebular Automata](https://github.com/8nhuman8/nebular-automata) specific code is distributed under [MIT License](https://github.com/8nhuman8/nebular-automata/blob/master/LICENSE).\n\nCopyright (c) 2022 Artyom Bezmenov\n\n## Gallery\n\n![gallery_image_1](docs/README/1.png)\n![gallery_image_2](docs/README/2.png)\n![gallery_image_3](docs/README/3.png)\n![gallery_image_4](docs/README/4.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8nhuman8%2Fnebular-automata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F8nhuman8%2Fnebular-automata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8nhuman8%2Fnebular-automata/lists"}