JesseTG / libretro.py

A Python binding for libretro. Intended for writing test scripts for cores, but can be used for any purpose.
MIT License
9 stars 3 forks source link
ctypes emulation emulator libretro libretro-api libretro-cores libretro-frontend retro retroarch retrocomputing retrogaming test-automation testing testing-tools

libretro.py

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.

[![Workflow Status](https://github.com/JesseTG/libretro.py/actions/workflows/release.yml/badge.svg)](https://github.com/JesseTG/libretro.py/actions/workflows/release.yml) [![PyPi](https://img.shields.io/pypi/v/libretro.py)](https://pypi.org/project/libretro.py) [![License](https://img.shields.io/github/license/JesseTG/libretro.py)](LICENSE)

Supported Environments

libretro.py has the following requirements:

Nothing else is required for most functionality, but some extra features have additional dependencies or constraints.

If contributing then just is optional but recommended, as it will simplify most development tasks. For details, run just (no arguments) in the project root.

Installing

libretro.py supports Python 3.11 or newer. Nothing else is required for most functionality, but some extra features have additional dependencies.

You can install libretro.py with pip like so:

# Install the base libretro.py
pip install libretro.py

Using a virtual environment is recommended:

# Create a virtual environment
python -m venv ./venv

# Activate the virtual environment (in Bash)
source ./venv/bin/activate

# Activate the virtual environment (in PowerShell)
./venv/Scripts/activate.ps1 

Or if you have just installed, let it figure out the details for you:

just venv

Extras

To install additional features, add one or more of the following extras to the install command:

For example, if you want to submit an improvement to the OpenGL video driver, you would install libretro.py like so:

pip install libretro.py[opengl,dev]

And if you just want to test your libretro core's OpenGL support:

pip install libretro.py[opengl]

Some of these extras have additional dependencies.

OpenGL

If using OpenGL support on Linux, you may need to install the libopengl0 package.