
CatapultPy
A lightweight Python wrapper for the Catapult Sports OpenField API, modeled after CatapultR.
A lightweight Python wrapper for the Catapult Sports OpenField API. This package is modeled after CatapultR and is designed to make it easier to pull data into Python for analysis.
For more info, please check out the CatapultPy Github Repo.
Table of Contents
Installation
Install via pip:
pip install CatapultPyBasic Functions
token = ofCreateToken(api_key, region="us")Creates the token to call the API. Must include your region name: "us", "eu", "au", or "cn".
ofGetActivities(token)Returns a pandas DataFrame of all activities.
ofGetAthletes(token)Get a pandas DataFrame of all athletes.
ofGetParams(token)Return a pandas DataFrame of all parameters.
Activity-Based Functions
ofGetActivitiesAthletes(token, activity_id)Returns a pandas DataFrame of all athletes within an activity.
ofGetActivitesPeriod(token, activity_id)Return a pandas DataFrame of all periods within an activity.
ofGetActivitiesTags(token, activity_id)Return a pandas DataFrame of all tags within an activity.
ofGetActivitiesDevices(token, activity_id)Return a pandas DataFrame of all devices within an activity.
ofGetActivityEvents(token, activity_id, athlete_id, events=["ima_jumps", "baseball_swing"])Return a pandas DataFrame of all events for a single athlete in an activity.
ofGetActivityEfforts(token, activity_id, athlete_id, efforts=["acceleration", "velocity"])Return a pandas DataFrame of all efforts for a single athlete in an activity.
Aggregated Data
ofGetStats(
token,
params=[
"athlete_name", "date", "start_time", "end_time", "position_name",
"total_distance", "total_duration", "total_player_load", "max_vel",
"hsr_efforts", "max_heart_rate", "mean_heart_rate",
"period_id", "period_name", "activity_name"
],
group_by=["athlete", "period", "activity"],
filters={
"name": "activity_id",
"comparison": "=",
"values": ["activity_id_1", "activity_id_2"]
}
)Returns a pandas DataFrame of aggregated stats.
10Hz Data
ofGetActivity10hz(token, activity_id, athlete_id)Returns a pandas DataFrame of 10 Hz data for an athlete within an activity.