Skip to main content

A libretro frontend for Python intended for testing cores.

Project description

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 PyPi License

Supported Environments

libretro.py has the following requirements:

  • Python 3.11 or newer. May not work on alternative Python implementations like PyPy.
  • Supported on Windows, macOS, and Linux. May work on other platforms, but no promises.

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:

  • cli: Test scripts that don't rely on the nuances of any particular core. Use these to simplify your own core's test process.
  • dev: Assorted tools used to help develop libretro.py. Required if contributing to libretro.py.
  • opengl: Support for the built-in OpenGL video driver. Required if testing a core's OpenGL support.
  • opengl-window: Same as the opengl extra, but with support for opening an actual window. Can help simplify some debugging tasks, e.g. RenderDoc usage.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libretro_py-0.6.0.tar.gz (114.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

libretro.py-0.6.0-py3-none-any.whl (153.7 kB view details)

Uploaded Python 3

File details

Details for the file libretro_py-0.6.0.tar.gz.

File metadata

  • Download URL: libretro_py-0.6.0.tar.gz
  • Upload date:
  • Size: 114.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.8

File hashes

Hashes for libretro_py-0.6.0.tar.gz
Algorithm Hash digest
SHA256 c299c7c485689a273375faaef501ecc31fe051629a25b433006e053c69f9e840
MD5 23bab2888a5646d123917515db1c9862
BLAKE2b-256 90653820568ce68ce1e028285503df9930121279fee87e1955c3816b60b3475d

See more details on using hashes here.

File details

Details for the file libretro.py-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: libretro.py-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 153.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.8

File hashes

Hashes for libretro.py-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6aeb0697035d58795f5d093344031cc9066030f1b02a67a371f69cee17ea99e2
MD5 d90dfcf78edd9228952685b7c0a0d7cb
BLAKE2b-256 79e8f366ecd9af5f597987ebfc6ee732839dcb1b73e302f9ee48bdf7b70c7f11

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page