Skip to main content

fast-forward logo

Python

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

FASTFORWARD Supports 11 positional tracking data providers: SecondSpectrum, SkillCorner, Sportec, Tracab, HawkEye, GradientSports, Signality, StatsPerform, RespoVision, OptaVision. 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

# 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 ✓ ↗ StatsPerform FIFA EPTS format
RespoVision ✓ ↗ Includes support for v1 data
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.2.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.2.0
File
fast_forward_football-0.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
fast_forward_football-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
fast_forward_football-0.2.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.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
fast_forward_football-0.2.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.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
fast_forward_football-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
fast_forward_football-0.2.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.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
fast_forward_football-0.2.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.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
fast_forward_football-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
fast_forward_football-0.2.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.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
fast_forward_football-0.2.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.4 MB

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

Download URL fast_forward_football-0.2.0-cp313-cp313-win_amd64.whl
Size 19.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
6ca0af8dd7b809f5c3288d526123fb5cf5cc9f0eb5e7c5d513f5492afc58f08f
BLAKE2b-256 checksum
How to use checksums
82eeb7451a38043c84f8c453ea1b6d127facd8a995cc93c9ef6ccb975d3e11f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 16.6 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d24bbe6f75a8dea8b8221e7872c0cb4a9df9ecd3d8b550b101a483afd605f491
BLAKE2b-256 checksum
How to use checksums
ce1b77a8f9da77d5dde3b40b8231e161bc76fd9164b3d4553c04ca28821d260f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.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
9760ead9a2cfd83c4121e5fc3698aafd3e4622a05b9e5baeb0bdf2de7a156032
BLAKE2b-256 checksum
How to use checksums
025191de60a8dc5d520e566f87b5e67e091b7c5715c9ce07790be08d0ecd8c89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.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
489b9b10e6c875c1bf715d1e609c47e0b001117e656964b8e41bee81daca370a
BLAKE2b-256 checksum
How to use checksums
9a9d62ff2a6fe779ed0c807e8b83bb834eee159f2c512b6e284f0cedc91e8c93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 18.7 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5a60b526d2a7a105a0bde73781d0145b6e5b75c6cf615f842ff787a4d2b93656
BLAKE2b-256 checksum
How to use checksums
d1d0384097be5f4903447d68b59ead2c9cf70d2dbbbd235d04909dd919021a32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp312-cp312-win_amd64.whl
Size 19.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
caab7822e4e0d7c69ea592ad9e7a3c970ec8b988dd5422ba750f793eb43a18d9
BLAKE2b-256 checksum
How to use checksums
b32158dbc97628d043975d14907b2f5b66fe57fb53c8827f0506c1f8a2c98213
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 16.6 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
30da3b9fdb13221386997cd6c654a5066de0d29f56a9dfd3565963fc5d658c0b
BLAKE2b-256 checksum
How to use checksums
73c6a384f585c2e59e33d48e9d09402465b64ab84c3fd6fdee1baa16f91b58e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.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
a684d76c1f716c4936b1ba9baa71df0291483fc2732d18104c50400c3c85f152
BLAKE2b-256 checksum
How to use checksums
95eaeb2f4bbc27c1412b954afe6c2e27832ba1759e70801623df1cc721b4a80e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.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
d2e099b1696411bab9983635d6a9fda6956f447e91030438084804fa0d413f9a
BLAKE2b-256 checksum
How to use checksums
cfdd490cfa657ed50a015fc8330d5a23b2f3a741d7dfdfc19edcd1cd0366bd86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 18.7 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6b2385b777639d35d351a8603e2021a1641b505aa2cf73ae6687a6f129b0e5cf
BLAKE2b-256 checksum
How to use checksums
8a309eb979b52d00482f34e5c7ec50dba2f6af8ec18e2ec9a5ca1027f39d2b85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp311-cp311-win_amd64.whl
Size 19.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1df2e962bf504e6cb6d758b4eaa9bcfa235c1803a6d853a3390c192416b21914
BLAKE2b-256 checksum
How to use checksums
4d2feae2816af1d28b58ef712b49dd19a572b5b263694f504923cd7192b42426
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
Size 16.6 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f66982b55a972106afdafb7fb62f54684dd18b3761646d934f761395155aa71c
BLAKE2b-256 checksum
How to use checksums
914d65dd92a4c08cd8305f4a6c41ab597b6902ecc859804ce6aaa6983035ebe9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 19.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e2f93b3ddcd21bfcdb61b5349e331b8ab40de74d96fe3ca5b89626cb6b106509
BLAKE2b-256 checksum
How to use checksums
cac016d07152f64a9451b9e2933bdf096e9d45a22b645e4cf8c70509b6f022eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.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
57da61c0815532c77f5511079341d517c664c7fd76f3e932acb53847b4fef09e
BLAKE2b-256 checksum
How to use checksums
2901c43f3887eb167a7d1ceed655aa79bda18842d54e47ee99abf68ddfff0c46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

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

Download URL fast_forward_football-0.2.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
7733f47e3dec5da3080a21efbb58a782553469caffa164f17087a32712a5de1b
BLAKE2b-256 checksum
How to use checksums
66d71051e0e5f16586d91c970205e379e91bb5dea4d9495d2e096d47445cfb85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

0.3.0

15 release files

This release

0.2.0 This release

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