Skip to main content

fast-forward logo

Python

Fast, Robust, Rust-powered Positional Tracking Data Loading for Football Analytics

FASTFORWARD Supports 12 positional tracking data providers: SecondSpectrum, SkillCorner, Sportec, Tracab, HawkEye, GradientSports, Signality, StatsPerform, RespoVision, OptaVision, SciSports. Additionally, it supports the Common Data Format.

This project owes a depth of gratitude to Kloppy and all its contributors.

⚠️ STATUS: This project is currently in Beta. Only the Python bindings are available (not the Rust code). Please try it, and report any issues here.

❓ ENQUIRIES: If you work for a (skeletal) tracking provider, or have access to (skeletal) tracking data from an unsupported provider and would like to see support for your data, please contact me at joris at unravelsports dot com.

Installation

pip install fast-forward-football

Usage

from fastforward import secondspectrum, skillcorner, sportec, tracab, hawkeye, cdf, gradientsports, signality, statsperform, respovision, optavision, scisports

# Load tracking data (example with SecondSpectrum)
dataset = secondspectrum.load_tracking(
    raw_data="tracking.jsonl",
    meta_data="metadata.json",
    layout="long",           # "long", "long_ball", "wide"
    coordinates="cdf",       # Coordinate system
    orientation="static_home_away",
    only_alive=True,
)

# Access data via properties
tracking_df = dataset.tracking    # pl.DataFrame 
metadata_df = dataset.metadata    # Match metadata
teams_df = dataset.teams          # Team info
players_df = dataset.players      # Player info
periods_df = dataset.periods      # Period info

Provider Support

Provider Tracking Data Public Data Docs Notes
CDF ✓ ↗
GradientSports ✓ ↗ ↗ Formerly PFF
Hawkeye (2D) ✓ ↗ Joint tracking data is not yet supported
OptaVision ✓ ↗
RespoVision ✓ ↗ Includes support for v1 data
SciSports ✓ ↗
SecondSpectrum ✓ ↗
Signality ✓ ↗
SkillCorner ✓ ↗ ↗ Includes support for v3 data
Sportec ✓ ↗ ↗
Stats Perform ✓ ↗ Includes support for MA1, MA3, and MA25 data feeds
Tracab ✓ ↗

Distributed Compute

For Spark, Ray, and Dask workflows, fast-forward exposes engine="arrow" and engine="arrow[spark]" paths that return pyarrow.Table directly without importing kloppy on executors. See Distributed Compute.

Benchmarks

Load Time

Metadata

Release files for fast-forward-football 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for fast-forward-football 0.3.0
File
fast_forward_football-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
fast_forward_football-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
fast_forward_football-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
fast_forward_football-0.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
fast_forward_football-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
fast_forward_football-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
fast_forward_football-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
fast_forward_football-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
fast_forward_football-0.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
fast_forward_football-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
fast_forward_football-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
fast_forward_football-0.3.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
fast_forward_football-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
fast_forward_football-0.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
fast_forward_football-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details

Total release size: 273.1 MB

Release files / fast_forward_football-0.3.0-cp313-cp313-win_amd64.whl

Download URL fast_forward_football-0.3.0-cp313-cp313-win_amd64.whl
Size 19.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
d1e7704918dcf65d75fe0c8dddd4332cb5b546c1a9a8c5dc679dc4bc5523bc6e
BLAKE2b-256 checksum
How to use checksums
51d6dd1a3780ee753171aabf78cb41f0c230294ad7263953c876c2ff7d2df432
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL fast_forward_football-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 16.4 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
05d6ffc94c368b0607e2dcb40705cbd4057221837b0ea39a93b58a471d0e07d9
BLAKE2b-256 checksum
How to use checksums
46d8f037128f65b5f11f23efd3c1b03534dd6ed7c5806ad4ee5a2d0984fa23f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fast_forward_football-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 19.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
71b3f1468dee5ad614cc9bf4c7f107ef5aa3360695c4555e6ba45f271056d0a7
BLAKE2b-256 checksum
How to use checksums
ec232b16180099a444f8367132ac0871c34d88a16f3b2bb92fb09ecc45f3c9cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL fast_forward_football-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 17.3 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
697bf2708e79c0b32ce28f07e04b01a295b86043219afe530aa6cccd087d2ccf
BLAKE2b-256 checksum
How to use checksums
70ab9e09435d533af94ae67b8ac86ded9369270308c1f73df3ec179eb24553dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL fast_forward_football-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 18.8 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e780d8e8d16fdb8b38c2e86a16ff1fd3a35868e1237dff167357423ced9168c3
BLAKE2b-256 checksum
How to use checksums
d3c08fc20b96672019029674186bc5e6d99416bfcc1e5420e6bf18018190fa19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp312-cp312-win_amd64.whl

Download URL fast_forward_football-0.3.0-cp312-cp312-win_amd64.whl
Size 19.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3d26ab90bc13046075df265253a21ee271094cb2e3f31051461cd0e8ac8ecd8b
BLAKE2b-256 checksum
How to use checksums
d89ae0ec4eac63a2a7f7138ae6048e3e1ad43a3a2e7f45614a04cceb62224373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL fast_forward_football-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 16.4 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5f6b9f9c5054f93b7b25e19e9c17e64bbae5024e80290b4e7fd93d1c326bfa34
BLAKE2b-256 checksum
How to use checksums
696f2fe6f27fc4e311b28e4a1b9f3359668f1d35399bbe301e5ea71f93a156f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fast_forward_football-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 19.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
16c6b6453fb7f19f1946b1e61df38f17552a4601c4749658062d10708a93bff7
BLAKE2b-256 checksum
How to use checksums
3b58d8f8eaaeccbdedb482c8fa6dfdedcc84091c0dd50bfabf5334a3f962aa65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL fast_forward_football-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 17.3 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e1bd3b623e004ccf7df14fb298b372cb51f809884b648671fbc6a6551356e9ed
BLAKE2b-256 checksum
How to use checksums
b467fedac3e53ccf87e58aee2f514f5410a7aadadf402ce908c3dca723b60a7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL fast_forward_football-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 18.8 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0e3160fb8fc97f1a74c9f90d25abe26b8f10f66e0a84945fe79d2560c97201f2
BLAKE2b-256 checksum
How to use checksums
a643bdace1f536d44acbfaa11a0e4bfe58f24e6e9a32ba1c4603140d33a2ba3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp311-cp311-win_amd64.whl

Download URL fast_forward_football-0.3.0-cp311-cp311-win_amd64.whl
Size 19.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
80d18a7abbae2af628f2bfcf8074b1313ca4c89dbc7ccba0e718989b362ba739
BLAKE2b-256 checksum
How to use checksums
3475b9815aeec6652e21d14e4f7d961305798be8024f66becf07a28693fa72cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL fast_forward_football-0.3.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 16.4 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1693f566bdf833ebd9bf91af948029caa9a1d1ee81ebda664e278936c08b5f2a
BLAKE2b-256 checksum
How to use checksums
ca26d31fd07c1eab3feefba13c9c79514710084fe49d7ee356d8598049ef1a87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fast_forward_football-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 19.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
14d115dfe2b07c33e738a9f9752a4efc3ddace8cb28d351ee9e31d44ea6fd2b5
BLAKE2b-256 checksum
How to use checksums
10f226c0a37644c73971172e3dca05a7fd30d5bbc35b1f38f6cbd5ef43b46acc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL fast_forward_football-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Size 17.3 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
77363adf7791698d83ed40c805035dffa6c7b5dd90d003079b62b0bc8658b4d0
BLAKE2b-256 checksum
How to use checksums
589504bf143bb60df1f2155208a0c6526be76963487f60ad1f582a0b091e43e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / fast_forward_football-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL fast_forward_football-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 18.7 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e6d6834a109957b73fc03edd1c9e179a7125a8be01a2a5a1c6bc802bcc46c73f
BLAKE2b-256 checksum
How to use checksums
9a83282831a9443d7ae383ba52865a7cd20df51278354752c1c6833bdc11541c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.3.0 This release

15 release files

0.2.0

15 release files

0.1.4

15 release files

0.1.3

15 release files

0.1.1

15 release files

0.1.0

15 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page