A real-time combat log parser for Star Wars: The Old Republic. Reads your local game logs and streams live DPS/HPS meters, encounter history, and ability breakdowns to a local web UI — no game overlay required.
- Live DPS & HPS meters with per-player class icons
- DPS-over-time chart with smooth curves and peak labels
- Encounter history — auto-detects boss fights, shows duration and total damage
- Ability breakdown — per-player hit counts, damage share, and ability table
- Player / NPC filter — toggle between players-only, NPCs-only, or everyone
- Event feed — color-coded log of every combat event in real time
- Log directory settings — auto-detects your SWTOR install; supports custom paths and pinning a specific log file
- Python 3.10+ — python.org
- SWTOR with Combat Logging enabled in-game:
Preferences → Game → Enable Combat Logging
git clone https://github.com/kelleyblackmore/starparse.git
cd starparsepip install -r requirements.txtBrowser mode (always works):
python server.pyThen open http://localhost:3000 in your browser.
Desktop window (requires pywebview):
python app.pyOpens a native desktop window directly — no browser needed.
No Python install required on the target machine.
build.batOutput: dist\StarParse.exe — double-click to run.
chmod +x build.sh
./build.shOutput: dist/StarParse (or dist/StarParse.app on macOS).
Linux note: Requires WebKit2GTK for the native window.
Ubuntu/Debian:sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.0
Fedora:sudo dnf install webkit2gtk4.0
StarParse auto-detects your SWTOR combat logs. The default location is:
| OS | Default path |
|---|---|
| Windows | Documents\Star Wars - The Old Republic\CombatLogs |
| macOS | ~/Documents/Star Wars - The Old Republic/CombatLogs |
If your game is installed in a non-standard location, click the ⚙ gear icon in the app header to open the Log Directory settings. You can:
- Edit the path manually and click Save
- Auto-detect to scan common install locations across all drives
- Pin a specific log file instead of always using the latest one
Settings are saved to ~/.starparse/config.json and persist across restarts.
- Launch SWTOR and log in
- Open Preferences (Escape → Preferences)
- Go to Game tab
- Check Enable Combat Logging
- Log files appear in
Documents\Star Wars - The Old Republic\CombatLogs\
A new combat_YYYY-MM-DD_HH_MM_SS_*.txt file is created each session. StarParse automatically picks up the newest one.
starparse/
├── server.py # Python HTTP server + SSE log watcher
├── parser.py # SWTOR combat log line parser
├── app.py # Desktop launcher (pywebview)
├── public/
│ └── index.html # Single-file frontend (vanilla JS)
├── create_icon.py # Generates icon.ico / icon.png with Pillow
├── icon.ico # Windows application icon
├── icon.png # 256px PNG (macOS/Linux source)
├── build.bat # Windows build script
├── build.sh # macOS / Linux build script
└── requirements.txt # Python dependencies
| Package | Purpose |
|---|---|
pywebview |
Native desktop window wrapper |
pyinstaller |
Packages into a standalone executable |
Pillow |
Icon generation (create_icon.py) |
All standard library — no Node.js, no Electron, no database.
python create_icon.pyProduces icon.ico (all sizes: 16–256 px) and icon.png. Requires Pillow (pip install Pillow).
MIT