floodlight-gui
A desktop application for loading, inspecting, transforming, modeling, and visualizing sports tracking and event data, with no scripting required.
About
floodlight-gui is a Dear PyGui frontend for floodlight, a data-driven sports analytics framework for tracking and event data. It exposes floodlight's parser, transforms, models, metrics, and plotting through a six-tab interface (Load, Inspect, Transforms, Model, Metrics, Visualization).
Everything the GUI shows comes straight from floodlight, so the analytics stay faithful to the library. If you prefer to script directly, head to the floodlight repository.
Features
- 10+ data providers: DFL / STS, Tracab / ChyronHego, Kinexon, Opta, Second Spectrum, SkillCorner, Sportradar, StatsPerform, and StatsBomb, plus two bundled public datasets (EIGD-H handball, IDSSE football) that download on demand.
- 9 models: Velocity, Acceleration, Distance, Centroid, Nearest Mate, Nearest Opponent, Convex Hull, Metabolic Power, and Discrete Voronoi, with live Convex Hull and Voronoi overlays on the pitch.
- 3 metrics: Approximate Entropy, Zone Aggregation, and Formation Similarity.
- Transform suite across five categories (filter, interpolation, spatial, temporal, permutation) with an apply / undo / reset operation stack.
- Interactive pitch visualization with playback, keyboard shortcuts, and a GPU-accelerated drawlist that holds 60+ FPS on typical playback.
- Export: single frames as PNG / SVG / PDF, model and metric results as CSV, and optional MP4 clips.
- In-app help: a
?button beside every model, transform, metric, and provider opens the upstream floodlight documentation.
Install
From PyPI (Python 3.10 to 3.13)
pip install floodlight-gui
floodlight-gui
For MP4 clip export, add the optional video extra, which bundles ffmpeg:
pip install "floodlight-gui[video]"
Standalone executable (no Python required)
Download the build for your operating system from the Releases page, unzip it, and run the floodlight-gui executable inside.
The binaries are currently unsigned, so on first launch:
- Windows: click "More info", then "Run anyway".
- macOS: right-click the app and choose "Open" (once).
Quickstart: IDSSE football
A five-step interactive session against the bundled IDSSE football dataset (no manual file paths required).
1. Load a match
Open the Load tab, pick IDSSE (Public Dataset) as the provider, and choose a match from the combo. The loader downloads and caches the dataset, then unifies it into floodlight's XY / Events / Teamsheet / Pitch objects.
2. Visualize positions on the pitch
Switch to the Visualization tab. Players render as labeled circles on a live pitch. Use the period selector and the playhead to scrub through frames.
3. Fit a Convex Hull model
In the Model tab, pick Convex Hull, click Fit Model, and toggle its overlay on. The team hull polygon appears on the pitch, expanding and contracting as players move.
4. Layer a Voronoi tessellation
Repeat the flow with Discrete Voronoi: fit, toggle, and return to the visualization tab. The cells render per player, colored by team, at interactive framerates.
5. Open per-descriptor help
Every descriptor has a ? button beside it. Clicking it opens a modal with the upstream floodlight documentation (summary, parameters, examples, and a link to the online docs).
Guides
Task-oriented walkthroughs live in docs/:
- Loading data: file providers, the bundled public datasets, and building or replacing a pitch.
- Transforming tracking data: filtering, interpolation, and the apply / undo / reset op stack.
- Fitting models and exporting results: single and multi-team models, reading outputs, and CSV export.
- Visualization and export: playback, model overlays, and exporting frames and clips.
For the meaning of any individual model, transform, or metric, click its ? button in the app. The analytics theory lives in the floodlight documentation.
Contributing
Contributions are welcome. See CONTRIBUTING.md for the local development workflow and how to add a new provider, model, transform, or metric by writing a single descriptor.
Citation
If you use floodlight-gui in research, please cite the underlying library:
@article{Raabe2022,
doi = {10.21105/joss.04588},
url = {https://doi.org/10.21105/joss.04588},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {76},
pages = {4588},
author = {Dominik Raabe and Henrik Biermann and Manuel Bassek and Martin Wohlan and Rumena Komitova
and Robert Rein and Tobias Kuppens Groot and Daniel Memmert},
title = {floodlight - A high-level, data-driven sports analytics framework},
journal = {Journal of Open Source Software}
}
Acknowledgements
This project has received funding by the BMBF (Bundesministerium für Bildung und Forschung, 01IS20021A) and the DFG (Deutsche Forschungsgemeinschaft, ME 2678/43-1) and has been kindly supported by the Institute of Exercise Training and Sport Informatics at the German Sport University Cologne.
License
Released under the MIT License. See LICENSE.
Metadata
Release files for floodlight-gui 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| floodlight_gui-0.1.0.tar.gz | 434.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| floodlight_gui-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 785.4 kB
Release files / floodlight_gui-0.1.0.tar.gz
| Download URL | floodlight_gui-0.1.0.tar.gz |
|---|---|
| Size | 434.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ea8b344ddf1d82e0f869ce1159411251ac66c2fc93177f3ac4fd17fce190420
|
|
BLAKE2b-256 checksum How to use checksums |
a64b5241f86051897d5ce34b8d993a9b1e6535e86368b28a398b474b8a407c58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency logRelease files / floodlight_gui-0.1.0-py3-none-any.whl
| Download URL | floodlight_gui-0.1.0-py3-none-any.whl |
|---|---|
| Size | 350.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1fd3f309727412e3a174f788520a44caafb26c0404087c0416b5d8d1c01dcef1
|
|
BLAKE2b-256 checksum How to use checksums |
3ebfba24d5003482170fb47f79f60d3fdc207172a26f1661355b4d9f0008d7fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency log