Skip to content
SPECIFICTION
Get listed

PyBoy

github.com

Free plan WindowsmacOSLinuxAPISelf-hosted
Visit github.com
Spec score 7.5 #13 of 23 in Game Boy Emulators

What it is

PyBoy is a Game Boy and Game Boy Color emulator implemented in Python and Cython. It runs from a command line or inside Python programs, supporting automation, testing, and AI experiments. Install it with `pip install pyboy`; documentation links to setup instructions for macOS, Linux, and Windows. The Python interface sends button input, reads memory, and captures screenshots. Its documented hardware-facing API includes the CPU and address space, graphics, audio, cartridge hardware, and input, while leaving internal emulation components and platform-specific window implementations outside the reference. Rendering may be skipped or disabled, and the documentation says parallel instances can improve throughput. PyBoy links to Gym integration instructions and examples for Kirby, Tetris, and Super Mario Land. It supports save states, link cable emulation, and a real-time clock. Supported platforms include Windows 64-bit, macOS, Linux, and Raspberry Pi OS. The project is free under the GNU Lesser General Public License version 3.

Spec sheet

Purpose
PyBoy is a Game Boy emulator written in Python and Cython.Read 4 Oct 2026 · docs.pyboy.dk
Support
The installation and development guide directs users to the PyBoy Discord for help.Read 4 Oct 2026 · docs.pyboy.dk
License
The repository includes the GNU Lesser General Public License version 3.Read 4 Oct 2026 · github.com
API scope
The API reference covers the supported Python-facing interface and intentionally excludes internal emulation components and platform-specific window implementations.Read 4 Oct 2026 · docs.pyboy.dk
Hardware APIs
The documented interface covers CPU and address space, graphics, audio, cartridge hardware, and input.Read 4 Oct 2026 · docs.pyboy.dk
Installation
The documentation gives `pip install pyboy` as the installation command.Read 4 Oct 2026 · docs.pyboy.dk
Integration
The GitHub README links to instructions for using PyBoy with Gym and provides examples for Kirby, Tetris, and Super Mario Land.Read 4 Oct 2026 · github.com
Notable limit
The guide says PyBoy is under active development and advises keeping backup copies of save files, especially when upgrading between releases.Read 4 Oct 2026 · docs.pyboy.dk
Performance
Rendering can be skipped or disabled, and the documentation says running multiple instances in parallel can improve throughput.Read 4 Oct 2026 · docs.pyboy.dk
Platform support
The installation page links to platform-specific instructions for macOS, Linux, and Windows.Read 4 Oct 2026 · docs.pyboy.dk
Python interface
The Python interface can send button input, inspect memory, and capture screenshots.Read 4 Oct 2026 · docs.pyboy.dk
Use cases
It can be used from the command line or embedded in Python programs for automation, testing, and AI experiments.Read 4 Oct 2026 · docs.pyboy.dk

Plans and prices

PyBoy Free Game Boy emulator · Python package and command-line use · LGPL-3.0 license Read 4 Oct 2026 · github.com

Every PyBoy plan and price →

Strong points and limits

Strong points

  • Free plan with LGPL-3.0 license
  • Python interface sends input and captures screenshots
  • Save states, link cable, and real-time clock
  • Rendering can be disabled for parallel workloads
  • Supports Windows, macOS, Linux, and Raspberry Pi OS

Limits

  • Under active development; back up save files
  • API excludes internal emulation components
  • No free trial is listed

Who it suits

PyBoy suits Python developers building emulator-driven automation, tests, or AI experiments. It also fits users who need Game Boy or Game Boy Color emulation on its supported platforms.

Verdict

PyBoy combines command-line emulation with a Python API for programmable control and inspection. Its documented integrations and hardware coverage are broad, while active development makes save-file backups important.

Where Specifiction places it

Alternatives to PyBoyAll alternatives →