libretro.py

libretro.py is a Python binding for libretro intended for testing cores, but suitable for any purpose. Ease of use, flexibility, and complete API support are top priorities.

GitHub Actions Workflow Status PyPI - Version GitHub License

API Reference

libretro.api

Python equivalents of the C data structures defined in libretro.h.

libretro.builder

Fluent builder for assembling a configured Session from drivers and a core.

libretro.core

Thin ctypes wrapper around a libretro core's exported retro_* functions.

libretro.ctypes

Type annotations for ctypes behavior that is documented but missing from its type stubs.

libretro.drivers

Implementations of a subset of the libretro interface.

libretro.error

Exception types raised by libretro.py's drivers and core wrapper.

libretro.session

High-level harness that drives a Core through its libretro lifecycle.

Standalone Modules

libretro.py.api_version

Validate a core's API version.

libretro.py.inits

Initialize then deinitialize a core without loading content or running frames.

libretro.py.loads_content

Load zero or more content files into a core without running any frames.

libretro.py.loads

Load a core into memory without calling any of its functions.

libretro.py.runs

Run a core with content for a fixed number of frames.

libretro.py.sets_callbacks

Validate that a core registers libretro's main retro_set_* callbacks.

libretro.py.system_info

Prints the info returned by a core's retro_get_system_info.

Indices and tables