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.8.1.tar.gz (58.2 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.8.1-py3-none-any.whl (42.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sc2_replay_analyzer-0.8.1.tar.gz
  • Upload date:
  • Size: 58.2 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.8.1.tar.gz
Algorithm Hash digest
SHA256 50ea60cfbdb1fba2dd467e3c5b21666a6676686fcf05eb02c03a41977e3f13f7
MD5 907e211f6f5bd6aea89661ff9172b460
BLAKE2b-256 b69d4e248ea57c2ba9f1068e27c94662df2d8d321d60fb739c5881a056590885

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sc2_replay_analyzer-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ba409d955f7973d4e81b97acce895a753efb5c4ff68be2426b92529919b10fc
MD5 ec3f5464eed4a11ee94a80bac4438651
BLAKE2b-256 212be97bc1a047afe9875d92cce45f60f20f2fb82524b2ac2b8b2e0a5469b680

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