A Python3 CLI tool to scrape, list, and sync retro video game files from Myrient for ArkOS retro gaming handheld devices.
Myrient is a video game preservation website hosting over 330 TB of downloadable game collections. It provides free, unrestricted downloads without registration, ads, or paywalls, with fast speeds and download manager support.
ArkOS is a custom Linux distribution for retro gaming handhelds. This tool's console folder structure aligns with ArkOS's EASYROMS naming conventions.
- Scrape: Parse Myrient's folder structure and generate markdown checklists of available game files organized by console
- Track: Mark desired files with checkboxes in console-specific markdown files
- Search: Interactive search across all consoles to find and mark games
- Sync: Automatically download checked files to organized directories
- Rename: Specify custom filenames for downloaded files
- Best-of Lists: Auto-mark curated collections of highly-rated classic games
- Version Filtering: Smart filtering to show preferred regions (World/Europe/USA)
- Minimal Dependencies: Built with Python3 standard library + requests and pick
# Full scrape of entire archive
uv run scrape
# Targeted scrape of specific folder
uv run scrape /No-Intro/Nintendo%20-%20Nintendo%20DS%20%28Decrypted%29/Edit the generated markdown files in ./lists/ and check the boxes for files you want:
- [x] game-i-want.zip
- [ ] game-i-dont-want.zip
- [x] another-game.7z ((My Custom Name))# Interactive search across all consoles
uv run searchEnter a search term (e.g., "mario", "zelda", "pokemon") and use arrow keys to navigate results. Press Enter to mark/unmark games.
# Download missing checked files
uv run sync
# Re-download all checked files
uv run sync --fullQuickly mark curated lists of highly-rated classic games:
# Mark best Nintendo DS games
python mark-best-games.py
# Mark best games for GB, GBA, NES, SNES, N64, PSX, PSP
python mark-all-best-games.pyThese scripts use curated game lists from sources like Metacritic, Nintendo Life, and Backloggd. See best-of.md for the full Nintendo DS list.
Generate an initial console mapping file:
uv run python discover_consoles.pyThis one-time setup script:
- Scrapes Myrient's folder structure
- Auto-detects common console paths
- Generates
console-mapping-discovered.json - You review and rename to
console-mapping.json
The console-mapping.json file maps Myrient paths to local console folders. The console_id values align with ArkOS's EASYROMS folder naming conventions.
See CONSOLE-FOLDERS.md for the complete list of valid target console folders.
Example mapping:
{
"myrient_path": "/No-Intro/Nintendo - Game Boy",
"console_id": "gb",
"console_name": "Game Boy"
}Downloads go to ./downloads/{console_id}/ which can then be synced to your ArkOS device's EASYROMS folder.
- CONSOLE-FOLDERS.md - Complete list of valid ArkOS console folders
- SPEC.md - Detailed specification and implementation details
- TESTING.md - Test suite documentation (81 tests)
- CLAUDE.md - AI development context and architecture notes