{"id":15939035,"url":"https://github.com/inokinoki/pyboyeink","last_synced_at":"2025-04-03T20:20:52.863Z","repository":{"id":45605497,"uuid":"432514348","full_name":"Inokinoki/PyBoyEink","owner":"Inokinoki","description":null,"archived":false,"fork":false,"pushed_at":"2021-12-05T22:13:03.000Z","size":41563,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T08:33:57.169Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Inokinoki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.SDL2.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-27T16:43:20.000Z","updated_at":"2021-12-05T22:13:05.000Z","dependencies_parsed_at":"2022-09-11T15:41:27.698Z","dependency_job_id":null,"html_url":"https://github.com/Inokinoki/PyBoyEink","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inokinoki%2FPyBoyEink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inokinoki%2FPyBoyEink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inokinoki%2FPyBoyEink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inokinoki%2FPyBoyEink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Inokinoki","download_url":"https://codeload.github.com/Inokinoki/PyBoyEink/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247070923,"owners_count":20878587,"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":[],"created_at":"2024-10-07T06:01:46.710Z","updated_at":"2025-04-03T20:20:52.843Z","avatar_url":"https://github.com/Inokinoki.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"README/pyboy.svg\" width=\"480\"\u003e\n\u003c/p\u003e\n\n__If you have any questions, or just want to chat, [join us on Discord](https://discord.gg/Zrf2nyH).__\n\n\nIt is highly recommended to read the [report](https://github.com/Baekalfen/PyBoy/raw/master/PyBoy.pdf) to get a light introduction to Game Boy emulation. _But do be aware, that the Python implementation has changed a lot_. The report is relevant, eventhough you want to contribute to another emulator, or create your own.\n\nIf you've read the report and want more explicit details, have a look at the [Pan Docs](http://bgb.bircd.org/pandocs.htm).\n\n__If you are looking to make a bot or AI__, you can find all the external components in the [PyBoy Documentation](https://baekalfen.github.io/PyBoy/index.html). There is also a short example on our Wiki page [Scripts, AI and Bots](https://github.com/Baekalfen/PyBoy/wiki/Scripts,-AI-and-Bots) as well as in the [examples directory](https://github.com/Baekalfen/PyBoy/tree/master/examples). If more features are needed, or if you find a bug, don't hesitate to make an issue here on GitHub, or write on our [Discord channel](https://discord.gg/Zrf2nyH).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/Baekalfen/PyBoy/raw/master/README/1.gif\" width=\"320\"\u003e\n\u003cimg src=\"https://github.com/Baekalfen/PyBoy/raw/master/README/2.gif\" width=\"320\"\u003e\u003cbr\u003e\n\u003cimg src=\"https://github.com/Baekalfen/PyBoy/raw/master/README/5.gif\" width=\"320\"\u003e\n\u003cimg src=\"https://github.com/Baekalfen/PyBoy/raw/master/README/4.gif\" width=\"320\"\u003e\n\u003c/p\u003e\n\nInstallation\n============\nThe instructions are simple, if you already have a functioning Python environment on your machine.\n\n 1. Install SDL2 through your package manager:\n    - Ubuntu: __`sudo apt install libsdl2-dev`__\n    - Fedora: __`sudo dnf install SDL2-devel`__\n    - macOS: __`brew install sdl2`__\n\n 2. Install PyBoy using __`pip install pyboy`__ (add __` --user`__ if your system asks)\n\nNow you're ready! Either use PyBoy directly from the terminal __`$ pyboy file.rom`__ or use it in your Python scripts:\n```python\nfrom pyboy import PyBoy\npyboy = PyBoy('ROMs/gamerom.gb')\nwhile not pyboy.tick():\n    pass\n```\n\nWhen the emulator is running, you can easily access [PyBoy's API](https://baekalfen.github.io/PyBoy/index.html):\n```python\nfrom pyboy import WindowEvent\n\npyboy.send_input(WindowEvent.PRESS_ARROW_DOWN)\npyboy.tick() # Process one frame to let the game register the input\npyboy.send_input(WindowEvent.RELEASE_ARROW_DOWN)\n\npil_image = pyboy.screen_image()\npil_image.save('screenshot.png')\n```\n\nIf you need more details, or if you need to compile from source, check out the detailed [installation instructions](https://github.com/Baekalfen/PyBoy/wiki/Installation). We support: macOS, Raspberry Pi (Raspbian), Linux (Ubuntu), and Windows 10.\n\nAt the Wiki page, you will also find out how to interface with PyBoy from your own project: [Wiki](https://github.com/Baekalfen/PyBoy/wiki).\n\n\nContributors\n============\n\nThanks to all the people, who have contributed to the project!\n\nOriginal Developers\n-------------------\n\n * Asger Anders Lund Hansen - [AsgerLundHansen](https://github.com/AsgerLundHansen)\n * Mads Ynddal - [baekalfen](https://github.com/Baekalfen)\n * Troels Ynddal - [troelsy](https://github.com/troelsy)\n\nGitHub Collaborators\n--------------------\n\n * Kristian Sims - [krs013](https://github.com/krs013)\n\nStudent Projects\n----------------\n\n * __Rewind Time:__ Jacob Olsen - [JacobO1](https://github.com/JacobO1)\n * __Link Cable:__ Jonas Flach-Jensen - [thejomas](https://github.com/thejomas)\n * __Game Boy Color:__ Christian Marslev and Jonas Grønborg - [CKuke](https://github.com/CKuke) and [kaff3](https://github.com/kaff3)\n\nContribute\n==========\nAny contribution is appreciated. The currently known errors are registered in the Issues tab. Feel free to take a swing at any one of them.\n\nFor the more major features, there are the following that you can give a try. They are also described in more detail in the [project list](https://github.com/Baekalfen/PyBoy/raw/master/Projects/Projects.pdf):\n* Color\n* Link Cable\n* _(Experimental)_ AI - use the `botsupport` or game wrappers to train a neural network\n* _(Experimental)_ Game Wrappers - make wrappers for popular games\n\nIf you want to implement something which is not on the list, feel free to do so anyway. If you want to merge it into our repo, then just send a pull request and we will have a look at it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finokinoki%2Fpyboyeink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finokinoki%2Fpyboyeink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finokinoki%2Fpyboyeink/lists"}