klop·pen (klopte, heeft geklopt) - juist zijn; overeenkomen, uitkomen met: dat klopt, dat kan kloppen is juist; dat klopt als een zwerende vinger dat is helemaal juist
What is it?
Each vendor of soccer data uses its own unique format to describe the course of a game. Hence, software written to analyze this data has to be tailored to a specific vendor and cannot be used without modifications to analyze data from other vendors. Kloppy is a Python package that addresses the challenges posed by the variety of data formats and aims to be the fundamental building block for processing soccer tracking and event data. It provides (de)serializers, standardized data models, filters, and transformers which make working with tracking and event data from different vendors a breeze.
Here are just a few of the things that kloppy does well:
- Load public datasets to get started right away
- Understandable standardized data models for tracking and event data
- Out-of-the-box (de)serializing tracking and event data from different vendors into standardized models and vice versa
- Flexibly transform a dataset's pitch dimensions from one format to another (e.g., from OPTA's 100x100 to TRACAB meters)
- Transform the orientation of a dataset (e.g., from TRACAB fixed orientation to "Home Team" orientation)
- Search for complexe patterns in event data
kloppy-queryto export fragments to XML file
Where to get it
The source code is currently hosted on GitHub at: https://github.com/PySport/kloppy.
Installers for the latest released version are available at the Python package index.
The official documentation is hosted on pysport.org: https://kloppy.pysport.org.
Contributing to kloppy
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
An overview on how to contribute can be found in the contributing guide.
If you are simply looking to start working with the kloppy codebase, navigate to the GitHub "issues" tab and start looking through interesting issues.