Skip to main content

libretro_finder

Simple command line utility that recursively looks for specific BIOS files for RetroArch cores and, if found, refactors them to the expected format as documented by Libretro here (i.e. name and directory structure). This is useful if you source your BIOS files from many different places and have them saved them under different names (often with duplicates). This script is able to find these exact BIOS files by comparing their hashes against their known counterparts. Uses concurrency and vectorization for added performance.

This repository does NOT include the BIOS files themselves.

Installation

Available through the Python Package Index (PyPI):

# with pip
pip install libretro-finder

# with poetry
poetry add libretro-finder

Example of usage:

some_user@some_machine:~ libretro_finder ~/Downloads/bios_files/ ~/Downloads/libretro_bios

89 matching BIOS files were found for 3 unique systems:
        Sega - Mega Drive - Genesis (1)
        Sony - PlayStation (19)
        Sony - PlayStation 2 (69)
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 89/89 [00:00<00:00, 617.57it/s]

You can also safely use the system directory of retroarch as output_dir since we never overwrite files (i.e. libretro_finder only adds to your list of BIOS files)

some_user@some_machine:~ libretro_finder ~/Downloads/bios_files/ ~/.config/retroarch/system/

89 matching BIOS files were found for 3 unique systems:
        Sega - Mega Drive - Genesis (1)
        Sony - PlayStation (19)
        Sony - PlayStation 2 (69)
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 89/89 [00:00<00:00, 617.57it/s]

You can also use libretro's system directory as search_dir to find all aliased BIOS files (i.e. identical BIOS files that are usable by different cores for the same system but just under different names).

some_user@some_machine:~ libretro_finder ~/.config/retroarch/system/ ~/.config/retroarch/system/

89 matching BIOS files were found for 3 unique systems:
        Sega - Mega Drive - Genesis (1)
        Sony - PlayStation (19)
        Sony - PlayStation 2 (69)
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 89/89 [00:00<00:00, 617.57it/s]

Help page:

some_user@some_machine:~ libretro_finder --help

Local BIOS file scraper for Retroarch

positional arguments:
  search_dir            Directory to look for BIOS files
  output_dir            Directory to refactor found BIOS files to

optional arguments:
  -h, --help            show this help message and exit
  -g GLOB, --glob GLOB  Glob pattern to use for file matching

Release files for libretro-finder 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for libretro-finder 0.1.2
File Size Uploaded
libretro_finder-0.1.2.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for libretro-finder 0.1.2
File Interpreter ABI Platform
libretro_finder-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 35.6 kB

Release files / libretro_finder-0.1.2.tar.gz

Download URL libretro_finder-0.1.2.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4bec862474c031c75085d0dfdb33c427fad2434fc6b1db12b83963af485f69e5
BLAKE2b-256 checksum
How to use checksums
1d3aa73c8c369618a9abf9d192fb92d0d63af34a8d43245a42ba71e68a45d400
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.11.4 Windows/10

Release files / libretro_finder-0.1.2-py3-none-any.whl

Download URL libretro_finder-0.1.2-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15f9370c93a160892b9d6e58cd630ea4a29db6f26b5bbcb89facffea97db98ff
BLAKE2b-256 checksum
How to use checksums
4cee14e9d5085edf232716045ce86230ca35ad9d3d9178e32b52bfacd19be238
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.4.0 CPython/3.11.4 Windows/10

Release history Release notifications | RSS feed

0.3.1

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.3

2 release files

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page