BoonΒΆ

Boon is a fast Deadlock demo / replay parser written in Rust with native Python bindings. It parses Source 2 demo files (.dem) and returns Polars DataFrames, giving you structured access to match data without dealing with the binary format yourself.

Why Boon?ΒΆ

Deadlock demo files contain a wealth of match data β€” player positions, kills, damage, item builds, objective state, and more β€” but the Source 2 demo format is complex and undocumented. Boon handles the low-level parsing so you can focus on analysis.

  • ⚑ Fast. The core parser is written in Rust. Parsing a full match takes seconds, not minutes.

  • πŸ“Š Structured output. Every dataset is a Polars DataFrame, ready for filtering, grouping, joins, and visualization.

  • 🎯 Parse only what you need. Each dataset is loaded on demand. Request one property and Boon skips everything else. Batch multiple datasets with load() to share a single parse pass.

  • πŸ—‚οΈ Comprehensive. Player state, kills, damage, item purchases, ability upgrades, objectives, chat, lane troopers, neutral creeps, buffs/debuffs, urn tracking, and street brawl scoring.

  • πŸ’» CLI included. A standalone command-line tool for quick inspection without writing any code.

Get startedΒΆ

Install with uv add boon-deadlock or pip install boon-deadlock, then head to πŸš€ Getting Started for a walkthrough. If something isn’t working as expected, check ⚠️ Known Issues first β€” then file a GitHub issue or ask in the Discord.