Sort media directory items by Metacritic scores.
Project description
Score Sort
Rank game, movie, or TV files and first-level folders by Metacritic scores.
For games with a platform selected or inferred, Score Sort first uses
Metacritic's all-time platform catalog, then optionally performs deeper product
page lookups with --advanced.
Platform catalogs and filename matches are cached system-wide:
%LOCALAPPDATA%\score-sort\metacritic_platforms.json
On macOS/Linux:
${XDG_CACHE_HOME:-~/.cache}/score-sort/metacritic_platforms.json
Setup
uv run score-sort --help
uv run python -m unittest discover -s tests
Usage
Rank a folder:
uv run score-sort "D:\sorted-roms\Nintendo - Nintendo DS (Decrypted)"
Force a fresh platform catalog lookup:
uv run score-sort "D:\sorted-roms\Nintendo - Nintendo DS (Decrypted)" --refresh
Sort by low score first, by name, or by reverse name:
uv run score-sort "D:\Games\Nintendo Switch" --sort score --direction asc
uv run score-sort "D:\Games\Nintendo Switch" --sort name
uv run score-sort "D:\Games\Nintendo Switch" --sort name --direction desc
Filter to a score range:
uv run score-sort "D:\sorted-roms\Nintendo - Nintendo DS (Decrypted)" --range "1-50"
uv run score-sort "D:\sorted-roms\Nintendo - Nintendo DS (Decrypted)" --range ">70"
uv run score-sort "D:\sorted-roms\Nintendo - Nintendo DS (Decrypted)" --range "<=40"
Override detection when needed:
uv run score-sort "D:\Media\Movies" --kind movie
uv run score-sort "D:\Media\TV Shows" --kind tv
uv run score-sort "D:\Games\PSX" --kind game --platform ps1
Use parallel lookup workers and advanced Metacritic product-page enrichment:
uv run score-sort "D:\sorted-roms\Nintendo - Nintendo DS (Decrypted)" --workers 6 --advanced
CLI
The CLI intentionally keeps a small surface:
folder
--refresh
--sort {score,name}
--direction {asc,desc}
--range RANGE
--kind {game,movie,tv}
--platform PLATFORM
--workers WORKERS
--advanced
First-level child folders are scanned automatically alongside known media file extensions, so there is no separate directory-scanning flag.
Project Structure
src/score_sort/
cli.py command-line parsing and orchestration
core.py rating models, title matching, Metacritic parsers, cache helpers
__main__.py enables python -m score_sort
Notes
Context detection walks up from the scanned folder through its parents. It
recognizes media folders such as Movies, TV Shows, Games, and ROMs, plus
common platform names like ds, ps3, psx, gba, and longer folder names
such as Nintendo - Nintendo DS (Decrypted).
Filename cleaning strips known ROM/media extensions and compound container
suffixes such as .nkit.iso, .xiso.iso, and .nkit.rvz before matching.
Supported Metacritic platform slugs include 3ds, dreamcast,
game-boy-advance, gamecube, meta-quest, mobile, nintendo-64,
nintendo-ds, nintendo-switch, nintendo-switch-2, pc, ps-vita, ps1,
ps2, ps3, ps4, ps5, psp, wii, wii-u, xbox, xbox-360,
xbox-one, and xbox-series-x.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file score_sort-0.1.0.tar.gz.
File metadata
- Download URL: score_sort-0.1.0.tar.gz
- Upload date:
- Size: 43.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dae8b8d67ca77ffb5211a514e1b44aeccd002d8dbe89cf213a08dc8944b51a9a
|
|
| MD5 |
a40121cb8c8f96406f0d8be3c8b3030f
|
|
| BLAKE2b-256 |
07d1d8afd8c60c1c953534def10bb2126a7e7a0f3621ab480ab00d711645c6dc
|
File details
Details for the file score_sort-0.1.0-py3-none-any.whl.
File metadata
- Download URL: score_sort-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9626644354afe172155abd929fc98654bc0f0b6bd4c438d9e2939c88c80d067d
|
|
| MD5 |
a9a028931757830154b85ce7c9118da3
|
|
| BLAKE2b-256 |
8abffff2c3ce3b68857dc5a485b86f682e93b905660dc3a8cd980a4c973d20c3
|