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)
| File | Size | Uploaded | |
|---|---|---|---|
| libretro_finder-0.1.2.tar.gz | 17.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|