{"id":20555281,"url":"https://github.com/rubatopy/rubato","last_synced_at":"2025-04-14T12:44:23.896Z","repository":{"id":36969749,"uuid":"414813256","full_name":"rubatopy/rubato","owner":"rubatopy","description":"A lightweight, developer-first game engine built for Python","archived":false,"fork":false,"pushed_at":"2023-03-22T23:52:46.000Z","size":25379,"stargazers_count":24,"open_issues_count":18,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-21T08:15:36.241Z","etag":null,"topics":["2d-game-engine","educational","educational-resources","educational-technology","engine","game-development","game-engine","physics","python","python3","rubato","sdl2"],"latest_commit_sha":null,"homepage":"https://rubato.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubatopy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-10-08T01:54:58.000Z","updated_at":"2025-01-09T00:18:23.000Z","dependencies_parsed_at":"2023-12-21T15:02:15.452Z","dependency_job_id":"d62db53c-bd2e-428f-a89b-fc7455941a83","html_url":"https://github.com/rubatopy/rubato","commit_stats":{"total_commits":1555,"total_committers":9,"mean_commits":"172.77777777777777","dds":0.607717041800643,"last_synced_commit":"61fa00cc3fc44ce289cebd34b42fc4e297982fc1"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubatopy%2Frubato","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubatopy%2Frubato/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubatopy%2Frubato/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubatopy%2Frubato/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubatopy","download_url":"https://codeload.github.com/rubatopy/rubato/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248883364,"owners_count":21177195,"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":["2d-game-engine","educational","educational-resources","educational-technology","engine","game-development","game-engine","physics","python","python3","rubato","sdl2"],"created_at":"2024-11-16T03:17:35.048Z","updated_at":"2025-04-14T12:44:23.868Z","avatar_url":"https://github.com/rubatopy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://github.com/rubatopy/rubato/blob/main/docs/source/_static/full.png?raw=true\" alt=\"rubato\" width=\"160\"/\u003e\n\n[![Lisence](https://img.shields.io/github/license/rubatopy/rubato?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.html)\n[![PyPI](https://img.shields.io/pypi/v/rubato?style=flat-square)](https://pypi.org/project/rubato/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/rubato?style=flat-square)](https://pypi.org/project/rubato/)\n[![GitHub Release Date](https://img.shields.io/github/release-date/rubatopy/rubato?style=flat-square)](https://github.com/rubatopy/rubato/releases)\n[![GitHub Build Status](https://img.shields.io/github/actions/workflow/status/rubatopy/rubato/tests.yml?branch=main\u0026style=flat-square)](https://github.com/rubatopy/rubato/actions/workflows/tests.yml)\n[![GitHub Docs Status](https://img.shields.io/github/actions/workflow/status/rubatopy/rubato/nightly.yml?branch=main\u0026label=docs\u0026style=flat-square)](https://rubatopy.github.io/)\n\n[\u003cimg src=\"https://logodownload.org/wp-content/uploads/2017/11/discord-logo-4-1.png\" alt=\"Discord Server\" width=\"25\" /\u003e](https://discord.gg/rdce5GXRrC)\n\u0026nbsp;\n[\u003cimg src=\"https://cdn4.iconfinder.com/data/icons/social-media-icons-the-circle-set/48/twitter_circle-512.png\" alt=\"Twitter Page\" width=\"25\"/\u003e](https://twitter.com/rubatopy)\n\u0026nbsp;\n[\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/LinkedIn_icon_circle.svg/2048px-LinkedIn_icon_circle.svg.png\" alt=\"Linkedin Page\" width=\"25\"/\u003e](https://www.linkedin.com/company/rubatopy/)\n\u0026nbsp;\n\n\u003c!-- If you update this README update the GitHub profile of rubatopy README --\u003e\n\nrubato is a modern 2D engine for game developement in python built in Cython using SDL2. It is aimed to aid in rapid prototyping and educational development of games as a stepping stone towards AAA tools such as Unity. rubato is more robust than its competitors, with a more intuitive syntax, high customizability, and zippy performance.\n\nHere are some features we're especially proud of:\n\n-   Powerful Rigidbody Physics\n-   Event Subscription/Listener System\n-   Spritesheets and Animations\n-   Particle Systems\n-   Tiled / Tilemap Support\n-   Multichannel Sound System\n-   Antialiasing + Anisotropic Filtering\n-   Collision Optimization with Quadtrees\n-   Texture-based Hardware Acceleration\n-   User Interface Elements\n-   And more!\n\n1.0 is the latest API-stable release as of Dec. 31 2022, and we plan to maintain backwards compatibility in future releases. Please note that the alpha versions (0.x.x) are now deprecated and it is strongly recommended to update in order to get the latest features and optimizations.\n\n_Wondering about the name? rubato is a music term that indicates a phrase that should be performed expressively and freely. We aim to harness that same freedom, bringing a fresh, modern take on game developement in python to a variety of users regardless of their coding background._\n\u003cbr\u003e\n\n## Getting Started\n\nUsing rubato is super easy. Just install rubato through pip in a terminal:\n\n```bash\npip install rubato\n```\n\nAfter that, getting a window up takes only 3 lines of code!\n\n```python\nimport rubato as rb\n\n# initialize rubato\nrb.init()\n\n# launch the window\nrb.begin()\n```\n\nCheck out our [tutorial](https://docs.rubato.app/latest/tutorials/platformer/) to learn more about what you can do with rubato.\n\n#### Changelog\n\nSee [CHANGELOG.md](https://github.com/rubatopy/rubato/blob/main/CHANGELOG.md)\n\n#### Looking to contribute to rubato?\n\nSee [CONTRIBUTING.md](https://github.com/rubatopy/rubato/blob/main/CONTRIBUTING.md). And join our [discord](https://discord.gg/rdce5GXRrC)!\n\nA big thank you to all of our [contributors](https://github.com/rubatopy/rubato/blob/main/CONTRIBUTORS.md) who help make this project possible.\n\n#### Code of Conduct\n\nSee [CODE_OF_CONDUCT.md](https://github.com/rubatopy/.github/blob/main/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubatopy%2Frubato","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubatopy%2Frubato","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubatopy%2Frubato/lists"}