- Home
- Game Boy Emulators
- PyBoy
PyBoy
What it is
PyBoy is a free emulator for Game Boy and Game Boy Color, written in Python and Cython. It can run from the command line or be embedded in Python programs for automation, testing, and AI experiments. The Python interface accepts button input, inspects memory, and captures screenshots. Installation instructions use `pip install pyboy` and link to platform-specific guidance for macOS, Linux, and Windows. The documented API covers the CPU and address space, graphics, audio, cartridge hardware, and input; it excludes internal emulation components and platform-specific window implementations. Rendering can be skipped or disabled, and the documentation says running multiple instances in parallel can improve throughput. PyBoy links to Gym integration instructions and examples involving Kirby, Tetris, and Super Mario Land. Supported platforms include Windows 64-bit, macOS, Linux, and Raspberry Pi OS. It also supports save states, link cable emulation, and a real-time clock. PyBoy is licensed under the GNU Lesser General Public License version 3. The project is under active development, and its guide advises keeping backup copies of save files, especially when upgrading.
For and against
For
- Free under the GNU Lesser General Public License version 3.
- Supports Game Boy and Game Boy Color.
- Python interface accepts input and inspects memory.
- Can skip rendering and run parallel instances.
- Supports save states and link cable emulation.
Against
- The project is under active development.
- The guide advises backing up saves before upgrades.
- The documented API excludes internal emulation components.
The verdict
PyBoy combines emulation with a Python-facing interface for automation, testing, and experiments. Users should keep save backups, particularly when upgrading between releases.
Who it suits
PyBoy suits developers and experimenters who want to use Game Boy or Game Boy Color emulation from Python or the command line. Its input, memory, and screenshot interface may also fit automation and AI experiments.
Plans and prices
PyBoy
Game Boy emulator · Python package and command-line use · LGPL-3.0 license
Read 4 Oct 2026 · github.com
On the record
- API scope
- The API reference covers the supported Python-facing interface and intentionally excludes internal emulation components and platform-specific window implementations.docs.pyboy.dk · read 4 Oct 2026
- Hardware APIs
- The documented interface covers CPU and address space, graphics, audio, cartridge hardware, and input.docs.pyboy.dk · read 4 Oct 2026
- Installation
- The documentation gives `pip install pyboy` as the installation command.docs.pyboy.dk · read 4 Oct 2026
- Integration
- The GitHub README links to instructions for using PyBoy with Gym and provides examples for Kirby, Tetris, and Super Mario Land.github.com · read 4 Oct 2026
- License
- The repository includes the GNU Lesser General Public License version 3.github.com · read 4 Oct 2026
- Notable limit
- The guide says PyBoy is under active development and advises keeping backup copies of save files, especially when upgrading between releases.docs.pyboy.dk · read 4 Oct 2026
- Performance
- Rendering can be skipped or disabled, and the documentation says running multiple instances in parallel can improve throughput.docs.pyboy.dk · read 4 Oct 2026
- Platform support
- The installation page links to platform-specific instructions for macOS, Linux, and Windows.docs.pyboy.dk · read 4 Oct 2026
- Purpose
- PyBoy is a Game Boy emulator written in Python and Cython.docs.pyboy.dk · read 4 Oct 2026
- Python interface
- The Python interface can send button input, inspect memory, and capture screenshots.docs.pyboy.dk · read 4 Oct 2026
- Support
- The installation and development guide directs users to the PyBoy Discord for help.docs.pyboy.dk · read 4 Oct 2026
- Use cases
- It can be used from the command line or embedded in Python programs for automation, testing, and AI experiments.docs.pyboy.dk · read 4 Oct 2026