1
0
Fork 0
No description
  • Python 99.7%
  • Shell 0.3%
Find a file
2026-01-28 00:24:41 +01:00
.gitignore feat: initial data 2026-01-28 00:15:42 +01:00
check_nintendo_games.py feat: initial data 2026-01-28 00:15:42 +01:00
compare_games.py feat: initial data 2026-01-28 00:15:42 +01:00
fetch_nintendo_games.py feat: initial data 2026-01-28 00:15:42 +01:00
gather.sh feat: initial data 2026-01-28 00:15:42 +01:00
input.txt feat: initial data 2026-01-28 00:15:42 +01:00
matches.csv feat: initial data 2026-01-28 00:15:42 +01:00
nintendo_check_results.csv feat: initial data 2026-01-28 00:15:42 +01:00
nintendo_games.csv feat: initial data 2026-01-28 00:15:42 +01:00
nintendo_games.txt feat: initial data 2026-01-28 00:15:42 +01:00
pyproject.toml feat: initial data 2026-01-28 00:15:42 +01:00
README.md feat: readme 2026-01-28 00:24:41 +01:00
uv.lock feat: initial data 2026-01-28 00:15:42 +01:00

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 files
  • OUTPUT_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 files
  • MAX_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