PyBoy
PyBoy is a free emulator for Game Boy and Game Boy Color, written in Python and Cython.
What PyBoy 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. Installation is through `pip install pyboy`, and the documentation links to instructions for macOS, Linux, and Windows. Its Python interface can send button inputs, inspect memory, and capture screenshots. The documented hardware-facing API covers the CPU and address space, graphics, audio, cartridge hardware, and input, while excluding 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 provides Gym integration instructions and examples featuring Kirby, Tetris, and Super Mario Land. Supported systems include Windows 64-bit, macOS, Linux, and Raspberry Pi OS. It supports save states, link cable emulation, and a real-time clock, and 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.
Good
- Free under the GNU Lesser General Public License version 3.
- Works from the command line or Python programs.
- Python interface supports input, memory inspection, and screenshots.
- Supports save states and link cable emulation.
- Rendering can be skipped or disabled.
Watch out
- The project is under active development.
- The guide advises backing up save files when upgrading.
Who it suits
PyBoy suits Python developers exploring Game Boy emulation in automation, testing, or AI experiments. It is also an option for users seeking a free emulator with save states and link cable emulation.
Verdict
PyBoy combines Game Boy emulation with a Python-facing interface suited to automation and experiments. Its active development makes save-file backups worth considering, particularly before upgrades.
Plans and prices
From PyBoy's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| PyBoy | Free | Game Boy emulator · Python package and command-line use · LGPL-3.0 license |
The facts
Each one read from PyBoy's own pages, with the date it was checked.
What it does
- API scope
- The API reference covers the supported Python-facing interface and intentionally excludes internal emulation components and platform-specific window implementations.checked 4 Oct 2026
- Hardware APIs
- The documented interface covers CPU and address space, graphics, audio, cartridge hardware, and input.checked 4 Oct 2026
- Installation
- The documentation gives `pip install pyboy` as the installation command.checked 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.checked 4 Oct 2026
- License
- The repository includes the GNU Lesser General Public License version 3.checked 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.checked 4 Oct 2026
- Performance
- Rendering can be skipped or disabled, and the documentation says running multiple instances in parallel can improve throughput.checked 4 Oct 2026
- Purpose
- PyBoy is a Game Boy emulator written in Python and Cython.checked 4 Oct 2026
- Python interface
- The Python interface can send button input, inspect memory, and capture screenshots.checked 4 Oct 2026
- Support
- The installation and development guide directs users to the PyBoy Discord for help.checked 4 Oct 2026
- Use cases
- It can be used from the command line or embedded in Python programs for automation, testing, and AI experiments.checked 4 Oct 2026
Where it runs
- Platform support
- The installation page links to platform-specific instructions for macOS, Linux, and Windows.checked 4 Oct 2026

