{"id":29564111,"url":"https://github.com/Aermoss/PySDL3","last_synced_at":"2025-07-18T19:03:36.857Z","repository":{"id":253134589,"uuid":"842612491","full_name":"Aermoss/PySDL3","owner":"Aermoss","description":"A pure Python wrapper for SDL3.","archived":false,"fork":false,"pushed_at":"2025-07-08T21:59:51.000Z","size":21105,"stargazers_count":71,"open_issues_count":5,"forks_count":10,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-08T22:16:38.385Z","etag":null,"topics":["ctypes","python","sdl3","sdl3-gpu","sdl3-image","sdl3-mixer","sdl3-net","sdl3-rtf","sdl3-ttf","wrapper"],"latest_commit_sha":null,"homepage":"https://pysdl3.readthedocs.io","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/Aermoss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"patreon":"ausreich","buy_me_a_coffee":"aermoss"}},"created_at":"2024-08-14T17:48:27.000Z","updated_at":"2025-07-08T21:57:06.000Z","dependencies_parsed_at":"2025-01-01T22:26:24.688Z","dependency_job_id":"73f3ce21-1e26-479e-accf-261173e4ac0e","html_url":"https://github.com/Aermoss/PySDL3","commit_stats":null,"previous_names":["aermoss/pysdl3"],"tags_count":89,"template":false,"template_full_name":null,"purl":"pkg:github/Aermoss/PySDL3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aermoss%2FPySDL3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aermoss%2FPySDL3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aermoss%2FPySDL3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aermoss%2FPySDL3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aermoss","download_url":"https://codeload.github.com/Aermoss/PySDL3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aermoss%2FPySDL3/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265815123,"owners_count":23832843,"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":["ctypes","python","sdl3","sdl3-gpu","sdl3-image","sdl3-mixer","sdl3-net","sdl3-rtf","sdl3-ttf","wrapper"],"created_at":"2025-07-18T19:02:03.735Z","updated_at":"2025-07-18T19:03:36.846Z","avatar_url":"https://github.com/Aermoss.png","language":"Python","funding_links":["https://patreon.com/ausreich","https://buymeacoffee.com/aermoss"],"categories":["Python"],"sub_categories":[],"readme":"# PySDL3\n\n[![Logo](https://github.com/Aermoss/PySDL3/blob/main/res/logo.png?raw=true)](https://github.com/Aermoss/PySDL3)\n\n[![Tests](https://github.com/Aermoss/PySDL3/actions/workflows/run_tests.yml/badge.svg)](https://github.com/Aermoss/PySDL3/actions/workflows/run_tests.yml)\n[![PyPI Python Versions](https://img.shields.io/pypi/pyversions/PySDL3)](https://pypi.org/project/PySDL3)\n[![PyPI Version](https://img.shields.io/pypi/v/PySDL3.svg)](https://pypi.org/project/PySDL3)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/PySDL3.svg)](https://pypi.org/project/PySDL3)\n[![PyPI Status](https://img.shields.io/pypi/status/PySDL3.svg)](https://pypi.org/project/PySDL3)\n\nPySDL3 is a pure Python wrapper around the SDL3, SDL3\\_image, SDL3\\_mixer, SDL3\\_ttf, SDL3\\_rtf, SDL3\\_net and SDL3\\_shadercross libraries.\nIt uses the built-in ctypes library to interface with SDL3 while providing an **understandable** function definition with docstrings, argument names and type hints, like this:\n\n[![Screenshot](https://github.com/Aermoss/PySDL3/blob/main/res/snippet.png?raw=true)](https://github.com/Aermoss/PySDL3/blob/main/gpu.py)\n\n## Getting Started\nJust run one of the following commands in a terminal:\n```bash\n# To install the latest stable version from PyPI:\npip install --upgrade PySDL3\n\n# To install the latest development version from GitHub:\npip install --upgrade git+https://github.com/Aermoss/PySDL3.git\n```\n\n## Requirements\nThere are no additional requirements since PySDL3 will download all the necessary binaries for you on the first run.\n\n*SDL3 binaries will be downloaded from [PySDL3-Build](https://github.com/Aermoss/PySDL3-Build) repository, if you want to use your own binaries please read the [documentation](https://pysdl3.readthedocs.io/en/latest/install.html#custom-binaries).*\n\n### Supported Platforms:\n* **Linux** (AMD64, ARM64)\n* **Windows** (AMD64, ARM64)\n* **Darwin** (AMD64, ARM64)\n\n## Documentation\nThe [documentation of PySDL3](https://pysdl3.readthedocs.io) can be found at: https://pysdl3.readthedocs.io.\n\n*If you can't find what you are looking for there, it is highly recommended to look at the [official documentation of SDL3](https://wiki.libsdl.org/SDL3) since everything is defined exactly the same.*\n\n## License\nPySDL3 is available under the MIT license, see the [LICENSE](https://github.com/Aermoss/PySDL3/blob/main/LICENSE) file for more information.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAermoss%2FPySDL3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAermoss%2FPySDL3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAermoss%2FPySDL3/lists"}