{"id":18616376,"url":"https://github.com/lordmauve/wasabi2d","last_synced_at":"2025-05-16T08:03:24.518Z","repository":{"id":47956604,"uuid":"200483841","full_name":"lordmauve/wasabi2d","owner":"lordmauve","description":"Cutting-edge 2D game framework for Python","archived":false,"fork":false,"pushed_at":"2025-03-30T23:25:33.000Z","size":9674,"stargazers_count":158,"open_issues_count":42,"forks_count":27,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-09T11:53:20.280Z","etag":null,"topics":["game-engine","opengl","python","python-game-development"],"latest_commit_sha":null,"homepage":"https://wasabi2d.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lordmauve.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}},"created_at":"2019-08-04T11:23:15.000Z","updated_at":"2025-04-30T11:52:46.000Z","dependencies_parsed_at":"2022-08-12T15:10:20.386Z","dependency_job_id":null,"html_url":"https://github.com/lordmauve/wasabi2d","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordmauve%2Fwasabi2d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordmauve%2Fwasabi2d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordmauve%2Fwasabi2d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lordmauve%2Fwasabi2d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lordmauve","download_url":"https://codeload.github.com/lordmauve/wasabi2d/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254493381,"owners_count":22080126,"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","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":["game-engine","opengl","python","python-game-development"],"created_at":"2024-11-07T03:34:58.667Z","updated_at":"2025-05-16T08:03:24.495Z","avatar_url":"https://github.com/lordmauve.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![Wasabi 2D](https://raw.githubusercontent.com/lordmauve/wasabi2d/master/docs/_static/wasabi2d.png)\n\n![PyPI](https://img.shields.io/pypi/v/wasabi2d) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/wasabi2d) ![PyPI - Wheel](https://img.shields.io/pypi/wheel/wasabi2d)\n\n[![Discord](https://img.shields.io/discord/705530610847973407)](https://discord.gg/jBWaWHU)\n\nA fast, cutting-edge 2D game engine for Python.\n\nCurrent features include:\n\n* Sprites, text, and stroked and filled polygons - all rotatable, scalable, and\n  colorizeable\n* A [coroutine programming model](https://wasabi2d.readthedocs.io/en/latest/coros.html) for easy animated effects.\n* [Particle systems](https://wasabi2d.readthedocs.io/en/latest/particles.html)\n* [Built-in post-processing effects](https://wasabi2d.readthedocs.io/en/latest/effects.html) using GLSL shaders.\n* [Sound, music and tone generation](https://wasabi2d.readthedocs.io/en/latest/sound.html).\n* [Event driven input handling](https://wasabi2d.readthedocs.io/en/latest/events.html) for keyboard and mouse.\n* [Animation/tweening](https://wasabi2d.readthedocs.io/en/latest/animation.html).\n* [\"Local storage\"](https://wasabi2d.readthedocs.io/en/latest/storage.html) to easily save state.\n\nWasabi2D is based on [moderngl](supports OpenGL 4.1+), with [pygame 2.0] for some supporting functions, and supporting APIs ported from [Pygame Zero](https://github.com/lordmauve/pgzero).\n\n\n\n[moderngl]: https://github.com/moderngl/moderngl\n[pygame 2.0]: https://www.pygame.org/news\n\n## Docs and Help\n\nDocumentation is available at https://wasabi2d.readthedocs.io/\n\nJoin us on [Discord for help and announcements!](https://discord.gg/jBWaWHU)\n\n\n## Quick example\n\nDraw a drop-shadowed circle that follows the mouse:\n\n```python\nimport wasabi2d as w2d\n\nscene = w2d.Scene()\nscene.background = 0.9, 0.9, 1.0\n\nscene.layers[0].set_effect('dropshadow')\ncircle = scene.layers[0].add_circle(\n    radius=30,\n    pos=(400, 300),\n    color='red',\n)\n\n@w2d.event\ndef on_mouse_move(pos):\n    circle.pos = pos\n\nw2d.run()\n```\n\n![Output of the above program](https://github.com/lordmauve/wasabi2d/raw/master/docs/2020-01-10-screenshot.png)\n\n\n## Installation\n\n\nUse pip to install Wasabi2d from PyPI:\n\n```\npip install wasabi2d\n```\n\nPlease make sure your `requirements.txt` pins a major version, as Wasabi2D may\ncontinue to make breaking API and graphical changes in major versions.\n\n\n## Screenshots\n\nThis screenshot shows off polygons, sprites, text and particle effects:\n\n![Screenshot as of Wasabi2d 1.0.0](https://github.com/lordmauve/wasabi2d/raw/master/docs/2019-09-21-screenshot.png)\n\n[Roller Knight](https://pyweek.org/e/wasabi28) was an entry in PyWeek 28, written with Wasabi2D by Daniel Pope and Larry Hastings:\n\n![Roller Knight screenshot](https://github.com/lordmauve/wasabi2d/raw/master/docs/roller-knight.png)\n\n[Spire of Chaos](https://pyweek.org/e/blaze/) was another entry in PyWeek 28 written with Wasabi2D by Daniel Moisset:\n\n![Spire of Chaos screenshot](https://github.com/lordmauve/wasabi2d/raw/master/docs/spire-of-chaos.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flordmauve%2Fwasabi2d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flordmauve%2Fwasabi2d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flordmauve%2Fwasabi2d/lists"}