All notable changes to this project will be documented in this file.
The format follows Keep a Changelog and this project adheres to Semantic Versioning.
- Interactive mode: run without arguments for a guided step-by-step setup (credentials, format, sort, filters — all prompted with defaults).
- Environment variable support: set
STEAM_API_KEYandSTEAM_IDto skip typing credentials every run; works in both CLI and interactive modes. - JSON export:
--format jsonwrites a structured JSON array alongside the existing CSV support. - Sort options:
--sort playtime|name|metacritic|reviewsto control output order (default: playtime descending). - Min-playtime filter:
--min-playtime Nskips games with fewer than N hours played. - Progress with ETA: each game now shows elapsed time and estimated time remaining during export.
- Export summary: after writing, prints total playtime, played/unplayed counts, average Metacritic score, and top genres.
--versionflag: prints the current version and exits.
--keyand--steamidare no longer required when their corresponding environment variables are set.- Default output filename adapts to format:
steam_library.csvorsteam_library.json.
steam_export.py: CLI tool to export a Steam library to CSV with 24 columns of metadata.- Pulls data from four APIs: Steam Web API, Steam Store API, Steam Reviews API, and SteamSpy.
--key,--steamid,--output,--limit, and--no-steamspyCLI flags.- Rate-limiting delays (1.5 s / Store, 1.0 s / SteamSpy) to respect upstream limits.
requirements.txtpinningrequests>=2.28.0..gitignorecovering common Python artefacts and sensitive credential files.LICENSE(MIT, © 2026 David Malko).README.mdwith badges, usage examples, output column reference, and performance notes.__version__constant (1.0.0) insteam_export.py.