- Python 99.7%
- Shell 0.3%
| .gitignore | ||
| check_nintendo_games.py | ||
| compare_games.py | ||
| fetch_nintendo_games.py | ||
| gather.sh | ||
| input.txt | ||
| matches.csv | ||
| nintendo_check_results.csv | ||
| nintendo_games.csv | ||
| nintendo_games.txt | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
RomVault Scripts
Utilities for fetching Nintendo game metadata from IGDB and matching local ROM files against the database.
Scripts
fetch_nintendo_games.py
Fetches all Nintendo-involved games from IGDB API.
Requirements: TWITCH_CLIENT_ID and TWITCH_SECRET environment variables.
Output: nintendo_games.csv with columns: game, system, year, developer, nintendo_role, ESRB, PEGI, USK, CERO, ACB
compare_games.py
Matches local ROM filenames against the Nintendo games database using Levenshtein distance.
Environment variables:
CSV_PATH- Path to nintendo_games.csv (default:./nintendo_games.csv)ROM_DIR- Directory containing ROM filesOUTPUT_DIR- Output directory (default:./)
Output: matches.csv with columns: filename, closest_match, distance
check_nintendo_games.py
Uses an LLM (via OpenRouter API) to verify if ROM files are Nintendo-developed/published games. Processes files concurrently and resumes from previous runs.
Environment variables:
OPENROUTER_API_KEY- API key (required)OPENROUTER_ENDPOINT- API endpoint (default: OpenRouter)OPENROUTER_MODEL- Model to use (default:google/gemini-2.5-flash-lite)ROM_DIR- Directory containing ROM filesMAX_WORKERS- Concurrent requests (default: 50)
Input: nintendo_games.txt (game list for context)
Output: nintendo_check_results.csv with columns: filename, is_nintendo, reason
gather.sh
Extracts unique parenthetical content (region codes, etc.) from input.txt.
Data Files
| File | Description |
|---|---|
input.txt |
ROM game names with region/version info |
nintendo_games.csv |
Nintendo game database from IGDB |
nintendo_games.txt |
Game list used as LLM context |
matches.csv |
ROM-to-database match results |
nintendo_check_results.csv |
LLM verification results |
Setup
uv sync
source .venv/bin/activate