A Python library for parsing, analyzing, and visualizing Counter-Strike 2 demo files and game data.
Awpy is a Python library designed to parse, analyze, and visualize Counter-Strike 2 demo files. It extracts detailed match data such as player actions, events, and statistics, enabling in-depth esports analytics and research. The library provides tools to calculate performance metrics, generate visualizations, and work with game navigation meshes.
Esports analysts, data scientists, researchers, and developers interested in Counter-Strike 2 data analysis, visualization, and performance metrics. It's also suitable for enthusiasts creating custom tools or visualizations for CS2 match data.
Awpy offers a Python-native, feature-rich solution for CS2 demo parsing with built-in analytics and visualization capabilities, backed by an active community. It simplifies accessing complex game data and calculating advanced statistics compared to manual parsing or general-purpose tools.
Python library to parse, analyze and visualize Counter-Strike 2 data
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Awpy parses CS2 demo files to extract tick-level data such as kills, damages, and grenades, accessible via intuitive dictionaries and dataframes as shown in the example code.
It calculates popular esports metrics like ADR and KAST directly, saving time compared to manual computation, with documented examples for statistics.
The project has a dedicated Discord channel for help and collaboration, encouraging bug reports and contributions, which fosters a supportive ecosystem.
Awpy can generate animated round GIFs and heatmaps from parsed data, with Jupyter notebook examples provided for plotting demos and visibility analysis.
As noted in the README, POV demos often have increased error rates, requiring users to file bug reports and rely on external parser fixes, which can be unreliable.
It relies on LaihoE's demoparser backend, so issues or updates in that library can break Awpy's functionality, adding complexity to troubleshooting and maintenance.
Requires Python 3.11 or higher, which may exclude users on older systems or legacy environments, limiting adoption in some production settings.