Skip to main content

A high-level framework for sports data analysis

Project description

floodlight

Latest Version Python Version Documentation Status Build Status Linting Status Contributions Code style: black

A high-level, data-driven sports analytics framework

floodlight is a Python package for streamlined analysis of sports data. It is designed with a clear focus on scientific computing and built upon popular libraries such as numpy or pandas.

Load, integrate, and process tracking and event data, codes and other match-related information from major data providers. This package provides a set of standardized data objects to structure and handle sports data, together with a suite of common processing operations such as transforms or data manipulation methods.

All implementations run completely provider- and sports-independent, while maintaining a maximum of flexibility to incorporate as many data flavours as possible. A high-level interface allows easy access to all standard routines, so that you can stop worrying about data wrangling and start focussing on the analysis instead!



Features

This project is still under development, and we hope to expand the set of features in the future. At this point, we provide core data structures, parsing functionality for major data providers, access to public data sets, data filtering, basic plotting routines and computational models.

Data-level Objects

  • Tracking data
  • Event data
  • Pitch information
  • Codes such as ball possession information
  • Properties such as distances or advanced computations

Parser

  • ChyronHego (Tracking data, Codes)
  • DFL (Tracking data, Event data, Codes)
  • Kinexon (Tracking data)
  • Opta (Event data - F24 feeds)
  • Second Spectrum (Tracking data)
  • StatsPerform (Tracking data, Event data - also directly from URLs)
  • StatsBomb (Event data)

Datasets

  • EIGD-H (Handball tracking data)
  • StatsBomb OpenData (Football event data)

Manipulation and Plotting

  • Spatial transformations for all data structures
  • Lowpass-filter tracking data
  • Slicing and selection methods
  • Plot pitches and tracking data

Models and Metrics

  • Centroids
  • Distances, Velocities, Accelerations
  • Metabolic Power and Equivalent Distances
  • Approximate Entropy

Installation

The package can be installed easily via pip:

pip install floodlight

Documentation

You can find all documentation here.

Contributing

Check out Contributing.md for a quick rundown of what you need to know to get started. We also provide an extended, beginner-friendly guide on how to start contributing in our documentation.

Why

Why do we need another package that introduces its own data structures and ways of dealing with certain problems? And what's the purpose of trying to integrate all different data sources and fit them into a single framework? Especially since there already exist packages that aim to solve certain parts of that pipeline?

Our answer is - although we love those packages out there - that we did not find a solution that did fit our needs. Available packages are either tightly connected to a certain data format/provider, adapt to the subtleties of a particular sport, or solve one particular problem. This still left us with the essential problem of adapting to different interfaces.

We felt that as long as there is no underlying, high-level framework, each and every use case again and again needs its own implementation. At last, we found ourselves refactoring the same code - and there are certain data processing or plotting routines that are required in almost every project - over and over again just to fit the particular data structures we're dealing with at that time.

About

This project has been kindly supported by the Institute of Exercise Training and Sport Informatics at the German Sport University Cologne under supervision of Prof. Daniel Memmert.

Related Projects

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

floodlight-0.3.1.tar.gz (30.6 MB view details)

Uploaded Source

Built Distribution

floodlight-0.3.1-py3-none-any.whl (30.7 MB view details)

Uploaded Python 3

File details

Details for the file floodlight-0.3.1.tar.gz.

File metadata

  • Download URL: floodlight-0.3.1.tar.gz
  • Upload date:
  • Size: 30.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.8.10 Windows/10

File hashes

Hashes for floodlight-0.3.1.tar.gz
Algorithm Hash digest
SHA256 f47a3eec5d907753caf5c0f1bd494a2b7ccbc8c810c9caf5d0282df957b349b6
MD5 7aedb1556eeb49d126c21e0060043278
BLAKE2b-256 fe2ca9acacd7c6856ff087d7f03ec46ac6da05e3bb067e58ad9c2034dfe95298

See more details on using hashes here.

File details

Details for the file floodlight-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: floodlight-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 30.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.8.10 Windows/10

File hashes

Hashes for floodlight-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ca15558b96cc4b50608d185fa9f01e9ba2fa16f37262f767621a8cf658f567e6
MD5 3a2697589f253b6d917fbe4b424160e8
BLAKE2b-256 3d7aab0c88f16581c367eb7b0790094ab5728a0244f864be80d5a90c77e4d428

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page