{"id":15009861,"url":"https://github.com/renpenguin/gemini-py","last_synced_at":"2025-10-03T19:30:20.306Z","repository":{"id":37866571,"uuid":"490269787","full_name":"renpenguin/gemini-py","owner":"renpenguin","description":"A monospaced 2D ASCII rendering engine for Python","archived":true,"fork":false,"pushed_at":"2024-11-01T05:12:11.000Z","size":171,"stargazers_count":37,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"stable","last_synced_at":"2025-04-06T13:22:12.749Z","etag":null,"topics":["ascii","ascii-animation","ascii-art","ascii-game","game-dev","game-development","game-engine","gemini-engine","python","python3"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/gemini-engine/","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/renpenguin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2022-05-09T12:18:02.000Z","updated_at":"2025-03-02T13:13:16.000Z","dependencies_parsed_at":"2023-01-23T20:46:25.704Z","dependency_job_id":"d261d156-8ea3-4d1c-a847-5edf55bf9c54","html_url":"https://github.com/renpenguin/gemini-py","commit_stats":null,"previous_names":["redpenguinyt/geminiengine","renpenguin/gemini-py","redpenguinyt/gemini-py"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/renpenguin/gemini-py","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renpenguin%2Fgemini-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renpenguin%2Fgemini-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renpenguin%2Fgemini-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renpenguin%2Fgemini-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/renpenguin","download_url":"https://codeload.github.com/renpenguin/gemini-py/tar.gz/refs/heads/stable","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renpenguin%2Fgemini-py/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278217052,"owners_count":25950032,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ascii","ascii-animation","ascii-art","ascii-game","game-dev","game-development","game-engine","gemini-engine","python","python3"],"created_at":"2024-09-24T19:28:58.185Z","updated_at":"2025-10-03T19:30:20.014Z","avatar_url":"https://github.com/renpenguin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gemini Engine\n\n[![PyPI version](https://img.shields.io/pypi/v/gemini-engine?logo=pypi)](https://pypi.org/project/gemini-engine)\n![Stars](https://img.shields.io/github/stars/renpenguin/GeminiEngine?color=yellow) ![Last commit](https://img.shields.io/github/last-commit/renpenguin/geminiengine) ![Code size](https://img.shields.io/github/languages/code-size/renpenguin/GeminiEngine) [![Downloads](https://img.shields.io/pypi/dm/gemini-engine)](https://pypi.org/project/gemini-engine) [![Issues](https://img.shields.io/github/issues/renpenguin/geminiengine)](https://github.com/renpenguin/GeminiEngine/issues)\n\nGemini Engine is a monospace 2D ASCII rendering engine. It includes collisions, layers, inputs and the ability to handle solid objects as well as ascii art. Examples can be found on the [GeminiExamples github](https://github.com/renpenguin/GeminiExamples)\n\nWARNING: It’s important to use a monospace font in the terminal for the engine to render images properly\n\n## Quick start\n\nGemini Engine can be installed using pip:\n\n```\npython3 -m pip install -U gemini-engine\n```\n\nIf you want to run the latest version of the code, you can install from github:\n\n```\npython3 -m pip install -U git+https://github.com/renpenguin/GeminiEngine.git@latest\n```\n\nNow that you have installed the library, instance a Scene and an Entity, then render the scene\n\n```py\nfrom gemini import Scene, Entity\n\nscene = Scene(size=(20,10))\nentity = Entity(pos=(5,5), size=(2,1), parent=scene)\n\nscene.render()\n```\n\nYou should get something like this in your console:\n![Gemini example 1](https://i.imgur.com/57daGVq.png)\n\nLook at that! You just made your first Gemini project! Now try adding a while loop to the end of your code\n```py\nfrom gemini import Scene, Entity, sleep\n\nscene = Scene(size=(20,10))\nentity = Entity(pos=(5,5), size=(2,1), parent=scene)\n\nwhile True:\n\tentity.move((1,0))\n\tscene.render()\n\tsleep(.1)\n```\n\nNow the entity should be moving across the screen! When the entity goes out of the screen's bounds it will loop back round to the other side.\n\n## Sprites\n\nThe code below will animate a car moving across the screen:\n```py\nfrom gemini import Scene, Sprite, sleep\n\ncar_image = \"\"\"\n  ______\n /|_||_\\`.__\n(¶¶¶_¶¶¶¶_¶_\\\\\n=`-(_)--(_)-'\n\"\"\"\n\nscene = Scene((30,10), is_main_scene=True)\ncar = Sprite((5,5), car_image)\n\nwhile True:\n\tscene.render()\n\tcar.move(1,0)\n\tsleep(.1)\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenpenguin%2Fgemini-py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frenpenguin%2Fgemini-py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenpenguin%2Fgemini-py/lists"}