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.12 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.12 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

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.
  • 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 -e .[opengl] --group 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

libretro_py-0.8.0-py3-none-macosx_11_0_arm64.whl (419.4 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

libretro_py-0.8.0-py3-none-macosx_10_15_x86_64.whl (406.6 kB view details)

Uploaded Python 3macOS 10.15+ x86-64

libretro_py-0.8.0-py3-none-macosx_10_13_x86_64.whl (404.5 kB view details)

Uploaded Python 3macOS 10.13+ x86-64

libretro_py-0.8.0-py3-none-any.whl (238.0 kB view details)

Uploaded Python 3

File details

Details for the file libretro_py-0.8.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libretro_py-0.8.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c7e223d58973cc364eafe3f88cfa1473b26db45249a7748b7d7c7d3003ff703
MD5 9093fdc2a380f45cf1b97c1bb613f1f9
BLAKE2b-256 9f1b28484fc7a9537ddec8a219643a5f0d0c3765218b8c9d0d1fe1d06b8ddaaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for libretro_py-0.8.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on JesseTG/libretro.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file libretro_py-0.8.0-py3-none-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for libretro_py-0.8.0-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 aee560685a8812182ad05dfb5c56f233b2ee4606ccdfa40c73f6024cdb763e99
MD5 d9518e6d360f1af4d866bf79631d6c83
BLAKE2b-256 7149b43d902b53bb1609bbff106f3332ff6814a3ca2a211d7b58610fa2d7b6e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for libretro_py-0.8.0-py3-none-macosx_10_15_x86_64.whl:

Publisher: release.yml on JesseTG/libretro.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file libretro_py-0.8.0-py3-none-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libretro_py-0.8.0-py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 47b71d4a42957a98b70c45f94b286f5c40e40fa14297a8898c1f79513c37813c
MD5 17efface61e6bc05ccc4112951eb7936
BLAKE2b-256 ec419ae696a2d8e2fe221e73478f0ebde6c448a33e1a29588ec06266d3fa58a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for libretro_py-0.8.0-py3-none-macosx_10_13_x86_64.whl:

Publisher: release.yml on JesseTG/libretro.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file libretro_py-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: libretro_py-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 238.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for libretro_py-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5a0dfeb51b96752102b4a10f49dc4e529969808d38762ff9ae7ea9ac58a87d8
MD5 e474d9869d4977c6257ca2a419bcb302
BLAKE2b-256 4fc3313a990c6af456714a5ffb646e0ca387c53b9cb93571f4dfafd135968e28

See more details on using hashes here.

Provenance

The following attestation bundles were made for libretro_py-0.8.0-py3-none-any.whl:

Publisher: release.yml on JesseTG/libretro.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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