Table of Contents generated with DocToc
- sportsdataverse.cfb package
- Submodules
- sportsdataverse.cfb.cfb_game_rosters module
- sportsdataverse.cfb.cfb_game_rosters.espn_cfb_game_rosters(game_id: int, raw=False, return_as_pandas=False, **kwargs) → DataFrame
- Example
- sportsdataverse.cfb.cfb_game_rosters.helper_cfb_athlete_items(teams_rosters, **kwargs)
- Example
- sportsdataverse.cfb.cfb_game_rosters.helper_cfb_game_items(summary)
- Example
- sportsdataverse.cfb.cfb_game_rosters.helper_cfb_roster_items(items, summary_url, **kwargs)
- Example
- sportsdataverse.cfb.cfb_game_rosters.helper_cfb_team_items(items, **kwargs)
- Example
- sportsdataverse.cfb.cfb_loaders module
- sportsdataverse.cfb.cfb_loaders.get_cfb_teams(return_as_pandas=False) → DataFrame
- Example
- sportsdataverse.cfb.cfb_loaders.load_cfb_betting_lines(return_as_pandas=False) → DataFrame
- Example
- sportsdataverse.cfb.cfb_loaders.load_cfb_pbp(seasons: List[int], return_as_pandas=False) → DataFrame
- Example
- sportsdataverse.cfb.cfb_loaders.load_cfb_rosters(seasons: List[int], return_as_pandas=False) → DataFrame
- Example
- sportsdataverse.cfb.cfb_loaders.load_cfb_schedule(seasons: List[int], return_as_pandas=False) → DataFrame
- Example
- sportsdataverse.cfb.cfb_loaders.load_cfb_team_info(seasons: List[int], return_as_pandas=False) → DataFrame
- Example
- sportsdataverse.cfb.cfb_pbp module
- sportsdataverse.cfb.cfb_play_participants module
- sportsdataverse.cfb.cfb_play_participants.espn_cfb_play_participants(game_id: int, *, raw: Literal[True], return_as_pandas: bool = False, resolve_missing: bool = True, resolve_missing_max: int = 50, **kwargs: Any) → dict[str, Any]
- sportsdataverse.cfb.cfb_play_participants.espn_cfb_play_participants(game_id: int, *, raw: Literal[False] = False, return_as_pandas: Literal[True], resolve_missing: bool = True, resolve_missing_max: int = 50, **kwargs: Any) → DataFrame
- sportsdataverse.cfb.cfb_play_participants.espn_cfb_play_participants(game_id: int, *, raw: Literal[False] = False, return_as_pandas: Literal[False] = False, resolve_missing: bool = True, resolve_missing_max: int = 50, **kwargs: Any) → DataFrame
- Example
- sportsdataverse.cfb.cfb_schedule module
- sportsdataverse.cfb.cfb_schedule.espn_cfb_calendar(season=None, groups=None, ondays=None, return_as_pandas=False, **kwargs) → DataFrame
- Example
- sportsdataverse.cfb.cfb_schedule.espn_cfb_schedule(dates=None, week=None, season_type=None, groups=None, limit=500, return_as_pandas=False, **kwargs) → DataFrame
- Example
- sportsdataverse.cfb.cfb_schedule.most_recent_cfb_season()
- Example
- sportsdataverse.cfb.cfb_schedule.scoreboard_event_parsing(event)
- Example
- sportsdataverse.cfb.cfb_teams module
- sportsdataverse.cfb.model_vars module
- Module contents
sportsdataverse.cfb package
Submodules
sportsdataverse.cfb.cfb_game_rosters module
sportsdataverse.cfb.cfb_game_rosters.espn_cfb_game_rosters(game_id: int, raw=False, return_as_pandas=False, **kwargs) → DataFrame
espn_cfb_game_rosters() - Pull the game by id.
- Parameters:
- game_id (int) – Unique game_id, can be obtained from espn_cfb_schedule().
- return_as_pandas (bool) – If True, returns a pandas dataframe. If False, returns a polars dataframe.
- Returns: Polars dataframe of game roster data with columns: ‘athlete_id’, ‘athlete_uid’, ‘athlete_guid’, ‘athlete_type’, ‘first_name’, ‘last_name’, ‘full_name’, ‘athlete_display_name’, ‘short_name’, ‘weight’, ‘display_weight’, ‘height’, ‘display_height’, ‘age’, ‘date_of_birth’, ‘slug’, ‘jersey’, ‘linked’, ‘active’, ‘alternate_ids_sdr’, ‘birth_place_city’, ‘birth_place_state’, ‘birth_place_country’, ‘headshot_href’, ‘headshot_alt’, ‘experience_years’, ‘experience_display_value’, ‘experience_abbreviation’, ‘status_id’, ‘status_name’, ‘status_type’, ‘status_abbreviation’, ‘hand_type’, ‘hand_abbreviation’, ‘hand_display_value’, ‘draft_display_text’, ‘draft_round’, ‘draft_year’, ‘draft_selection’, ‘player_id’, ‘starter’, ‘valid’, ‘did_not_play’, ‘display_name’, ‘ejected’, ‘athlete_href’, ‘position_href’, ‘statistics_href’, ‘team_id’, ‘team_guid’, ‘team_uid’, ‘team_slug’, ‘team_location’, ‘team_name’, ‘team_nickname’, ‘team_abbreviation’, ‘team_display_name’, ‘team_short_display_name’, ‘team_color’, ‘team_alternate_color’, ‘is_active’, ‘is_all_star’, ‘team_alternate_ids_sdr’, ‘logo_href’, ‘logo_dark_href’, ‘game_id’
- Return type: pl.DataFrame
Example
Quick start:
from sportsdataverse.cfb import espn_cfb_game_rosters
rosters = espn_cfb_game_rosters(game_id=401628334)
print(rosters.shape)
Pandas round-trip:
rosters_pd = espn_cfb_game_rosters(game_id=401628334, return_as_pandas=True)
rosters_pd.head()
Pipeline next step (filter to game starters):
import polars as pl
starters = espn_cfb_game_rosters(game_id=401628334).filter(
pl.col("starter") == True
)
See Also: : * cfbfastR – R sister package for CFB rosters
- recruitR – recruiting data companion
sportsdataverse.cfb.cfb_game_rosters.helper_cfb_athlete_items(teams_rosters, **kwargs)
Internal helper that resolves each athlete $ref in a team-rosters frame
to the canonical athlete detail row.
- Parameters:
- teams_rosters (pl.DataFrame) – Output of
helper_cfb_roster_items()(must contain anathlete_hrefcolumn). - **kwargs – Forwarded to
sportsdataverse.dl_utils.download().
- teams_rosters (pl.DataFrame) – Output of
- Returns: One row per resolved athlete.
- Return type: pl.DataFrame
Example
Used internally by espn_cfb_game_rosters():
from sportsdataverse.cfb import espn_cfb_game_rosters
rosters = espn_cfb_game_rosters(game_id=401628334)
sportsdataverse.cfb.cfb_game_rosters.helper_cfb_game_items(summary)
Internal helper that flattens the ESPN competitions/competitors summary
payload into a polars DataFrame keyed by team_id.
- Parameters: summary (dict) – Parsed JSON from the ESPN competitors summary endpoint.
- Returns: Polars dataframe with one row per competitor team in the game.
- Return type: pl.DataFrame
Example
Used internally by espn_cfb_game_rosters():
from sportsdataverse.cfb import espn_cfb_game_rosters
rosters = espn_cfb_game_rosters(game_id=401628334)
sportsdataverse.cfb.cfb_game_rosters.helper_cfb_roster_items(items, summary_url, **kwargs)
Internal helper that fetches the roster entries for every team in a game.
- Parameters:
- items (pl.DataFrame) – Output of
helper_cfb_game_items(). - summary_url (str) – Base ESPN summary URL used to derive each team’s roster endpoint.
- **kwargs – Forwarded to
sportsdataverse.dl_utils.download().
- items (pl.DataFrame) – Output of
- Returns: One row per game-roster entry across both teams.
- Return type: pl.DataFrame
Example
Used internally by espn_cfb_game_rosters():
from sportsdataverse.cfb import espn_cfb_game_rosters
rosters = espn_cfb_game_rosters(game_id=401628334)
sportsdataverse.cfb.cfb_game_rosters.helper_cfb_team_items(items, **kwargs)
Internal helper that fetches team detail rows for every team referenced in the competitors summary and returns them as a flat polars DataFrame.
- Parameters:
- items (pl.DataFrame) – Output of
helper_cfb_game_items(). - **kwargs – Forwarded to
sportsdataverse.dl_utils.download().
- items (pl.DataFrame) – Output of
- Returns: Team detail rows with logo URLs flattened out.
- Return type: pl.DataFrame
Example
Used internally by espn_cfb_game_rosters():
from sportsdataverse.cfb import espn_cfb_game_rosters
rosters = espn_cfb_game_rosters(game_id=401628334)
sportsdataverse.cfb.cfb_loaders module
sportsdataverse.cfb.cfb_loaders.get_cfb_teams(return_as_pandas=False) → DataFrame
Load college football team ID information and logos
- Parameters: return_as_pandas (bool) – If True, returns a pandas dataframe. If False, returns a polars dataframe.
- Returns: Polars dataframe containing teams available.
- Return type: pl.DataFrame
Example
Quick start:
from sportsdataverse.cfb import get_cfb_teams
teams = get_cfb_teams()
print(teams.shape)
Pandas round-trip:
teams_pd = get_cfb_teams(return_as_pandas=True)
teams_pd.head()
Pipeline next step (build a team_id to logo URL map):
teams = get_cfb_teams()
logo_map = dict(zip(teams["team_id"], teams["logo"]))
See Also: : * cfbfastR – R sister package for CFB team metadata
sportsdataverse.cfb.cfb_loaders.load_cfb_betting_lines(return_as_pandas=False) → DataFrame
Load college football betting lines information
- Parameters: return_as_pandas (bool) – If True, returns a pandas dataframe. If False, returns a polars dataframe.
- Returns: Polars dataframe containing betting lines available for the available seasons.
- Return type: pl.DataFrame
Example
Quick start:
from sportsdataverse.cfb import load_cfb_betting_lines
lines = load_cfb_betting_lines()
print(lines.shape)
Pandas round-trip:
lines_pd = load_cfb_betting_lines(return_as_pandas=True)
lines_pd.head()
Pipeline next step (filter to one provider in 2023):
import polars as pl
consensus_2023 = load_cfb_betting_lines().filter(
(pl.col("season") == 2023) & (pl.col("provider") == "consensus")
)
See Also: : * cfbfastR – R sister package for CFB betting lines
- nflverse – companion data ecosystem for the NFL
sportsdataverse.cfb.cfb_loaders.load_cfb_pbp(seasons: List[int], return_as_pandas=False) → DataFrame
Load college football play by play data going back to 2003
- Parameters:
- seasons (list) – Used to define different seasons. 2003 is the earliest available season.
- return_as_pandas (bool) – If True, returns a pandas dataframe. If False, returns a polars dataframe.
- Returns: Polars dataframe containing the play-by-plays available for the requested seasons.
- Return type: pl.DataFrame
- Raises: ValueError – If season is less than 2003.
Example
Quick start:
from sportsdataverse.cfb import load_cfb_pbp
pbp = load_cfb_pbp(seasons=[2023])
print(pbp.shape)
Multi-season pull as pandas:
pbp_pd = load_cfb_pbp(seasons=range(2020, 2024), return_as_pandas=True)
pbp_pd.head()
Pipeline next step (filter to rushing plays):
import polars as pl
rushes = load_cfb_pbp(seasons=[2023]).filter(pl.col("rush") == True)
See Also: : * cfbfastR – R sister package for CFB PBP
- nflverse – companion data ecosystem for the NFL
sportsdataverse.cfb.cfb_loaders.load_cfb_rosters(seasons: List[int], return_as_pandas=False) → DataFrame
Load roster data
- Parameters:
- seasons (list) – Used to define different seasons. 2014 is the earliest available season.
- return_as_pandas (bool) – If True, returns a pandas dataframe. If False, returns a polars dataframe.
- Returns: Polars dataframe containing rosters available for the requested seasons.
- Return type: pl.DataFrame
- Raises: ValueError – If season is less than 2014.
Example
Quick start:
from sportsdataverse.cfb import load_cfb_rosters
rosters = load_cfb_rosters(seasons=[2023])
print(rosters.shape)
Pandas round-trip:
rosters_pd = load_cfb_rosters(seasons=[2023], return_as_pandas=True)
rosters_pd.head()
Pipeline next step (count quarterbacks per team):
import polars as pl
qbs = (
load_cfb_rosters(seasons=[2023])
.filter(pl.col("position").eq("QB"))
.group_by("team")
.len()
)
See Also: : * cfbfastR – R sister package for CFB rosters
- recruitR – recruiting data companion