Skip to main content

Analyze your StarCraft II replays with filtering, stats, and beautiful terminal output

Project description

SC2 Replay Analyzer

Analyze your StarCraft II replays with filtering, stats, and beautiful terminal output.

Features

  • Auto-detect SC2 replay folders on Mac, Windows, and Linux
  • Parse replays and extract worker counts, army value, APM, MMR, and more
  • Interactive filtering - dynamically filter by matchup, result, length, workers
  • Auto-completion - tab-complete commands with usage hints
  • Win/loss streaks - find patterns in your games
  • Win/loss statistics with averages and matchup breakdowns
  • SQLite caching - parse each replay only once
  • Streaming overlays - OBS-compatible MMR graph overlay for Twitch/YouTube

Installation

pip install sc2-replay-analyzer

Quick Start

# First run - auto-detects your replay folder and player name
sc2

# Scan for new replays
sc2 scan

# Interactive filtering mode
sc2 live

# Show statistics
sc2 stats

Commands

Command Description
sc2 First run: setup wizard. After: auto-scan + interactive mode
sc2 scan Scan replay folder for new games
sc2 live Interactive filtering mode
sc2 stats Show aggregate statistics
sc2 config Re-run setup / change player name
sc2 show Show games with filters
sc2 export Export to CSV
sc2 latest Show detailed stats for most recent game

Interactive Mode

The sc2 live command opens an interactive filtering mode with tab-completion:

SC2 Replay Analyzer - Interactive Mode
Type commands to filter. 'help' for options, 'q' to quit. Tab for completion.

> -m TvZ          # Filter by matchup
> -r W            # Show only wins
> -l >10:00       # Games longer than 10 minutes
> -w <40          # Games with <40 workers at 8min
> -s win:3+       # Find 3+ win streaks
> +p 1            # Add 1 previous game (cumulative)
> clear           # Reset all filters
> q               # Quit

Filter Commands

Command Description Example
-n, --limit Limit results to N games -n 50
-m, --matchup Filter by matchup (TvZ, TvP, etc) -m TvZ
-r, --result Filter by result (W/L) -r W
-l, --length Filter by game length -l >8:00
-w, --workers Filter by workers @8m -w <40
-d, --days Games from last N days -d 7
-s, --streaks Find win/loss streaks -s win:3+
--map Filter by map name --map Alcyone
+p, --prev Add N previous games (cumulative) +p 1
+n, --next Add N next games (cumulative) +n 2
columns Manage display columns
clear Reset all filters
help Show help
q Quit

Column Commands

Command Description Example
columns List available columns
columns add <col> Add column(s) to display columns add bases_6m
columns remove <col> Remove column(s) columns remove mmr
columns reset Reset to default columns

Configuration

Config is stored in ~/.sc2analyzer/config.toml:

player_name = "YourName"
replay_folder = "~/Library/Application Support/Blizzard/StarCraft II/Accounts/.../Replays/Multiplayer"

[benchmarks]
workers_6m = 40
workers_8m = 55

[display]
columns = ["date", "map", "matchup", "result", "mmr", "apm", "workers_8m", "army", "length"]

Available Columns

apm, army, bases_10m, bases_6m, bases_8m, date, length, map, matchup, mmr, opponent, opponent_apm, opponent_mmr, result, worker_kills, worker_losses, workers_10m, workers_6m, workers_8m

Streaming Overlay (OBS)

Display your MMR progression as a live overlay on your stream.

Installation

pip install sc2-replay-analyzer[server]

Usage

  1. Run sc2 or sc2 live (overlay server starts automatically)
  2. In OBS: Add Browser Source
  3. URL: http://localhost:8337/overlays/mmr-graph
  4. Size: 800 x 250

The overlay shows:

  • Your player name and current MMR
  • MMR change over last 100 games
  • Win rate percentage
  • Interactive graph with win/loss colored points

Configuration

Add to ~/.sc2analyzer/config.toml:

[server]
enabled = true  # Set to false to disable overlay server
port = 8337     # Change port if needed

Development

Updating README

After modifying commands, run:

python scripts/generate_readme.py

This updates the auto-generated sections marked with <!-- AUTO-GENERATED --> comments.

Requirements

  • Python 3.8+
  • StarCraft II replays (.SC2Replay files)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sc2_replay_analyzer-0.9.0.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sc2_replay_analyzer-0.9.0-py3-none-any.whl (43.4 kB view details)

Uploaded Python 3

File details

Details for the file sc2_replay_analyzer-0.9.0.tar.gz.

File metadata

  • Download URL: sc2_replay_analyzer-0.9.0.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.14

File hashes

Hashes for sc2_replay_analyzer-0.9.0.tar.gz
Algorithm Hash digest
SHA256 ac652acb4b2a135a430c9cdddeb6496813b5eadce4e34210807fbb94f3ca0249
MD5 6cb3306a377eb47d31e8dc0c5fcf47f9
BLAKE2b-256 1e2126f0f52c14072064cb7bcc61f2f697d67ace668a77ff82b9b3a171b4ff14

See more details on using hashes here.

File details

Details for the file sc2_replay_analyzer-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sc2_replay_analyzer-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b695bfd4818770687471854ebdca33fec462ee69930dce52878b71a87e505ba6
MD5 31cbdb09afcef2f4f5bd696a0c4fb9b0
BLAKE2b-256 2654aa854e80b5b985c46a99ff4f6541e0559b120cfdd36b809011692c14a174

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page