ncaa_eval.ingest.connectors package¶
Submodules¶
Module contents¶
Data source connectors for NCAA basketball data ingestion.
- exception ncaa_eval.ingest.connectors.AuthenticationError[source]¶
Bases:
ConnectorErrorCredentials missing, invalid, or expired.
- class ncaa_eval.ingest.connectors.Connector[source]¶
Bases:
ABCAbstract base class for NCAA data source connectors.
All connectors must implement
fetch_games(), which is the universal capability.fetch_teams()andfetch_seasons()are optional capabilities — subclasses that do not support them inherit the default implementation, which raisesNotImplementedError. Callers should useisinstance()checks ortry/except NotImplementedErrorto probe optional capabilities before calling them.- abstractmethod fetch_games(season: int) list[Game][source]¶
Fetch game results for a given season year.
- exception ncaa_eval.ingest.connectors.ConnectorError[source]¶
Bases:
ExceptionBase exception for all connector errors.
- exception ncaa_eval.ingest.connectors.DataFormatError[source]¶
Bases:
ConnectorErrorRaw data (CSV / API response) does not match the expected schema.
- class ncaa_eval.ingest.connectors.EspnConnector(team_name_to_id: dict[str, int], season_day_zeros: dict[int, date])[source]¶
Bases:
ConnectorConnector for ESPN game data via the cbbpy scraper.
- Parameters:
team_name_to_id – Mapping from team name strings to Kaggle TeamIDs.
season_day_zeros – Mapping from season year to DayZero date.
- class ncaa_eval.ingest.connectors.KaggleConnector(extract_dir: Path, competition: str = 'march-machine-learning-mania-2026')[source]¶
Bases:
ConnectorConnector for Kaggle March Machine Learning Mania competition data.
- Parameters:
extract_dir – Local directory where CSV files are downloaded/extracted.
competition – Kaggle competition slug.
- download(*, force: bool = False) None[source]¶
Download and extract competition CSV files via the Kaggle API.
- Parameters:
force – Re-download even if files already exist.
- Raises:
AuthenticationError – Credentials missing or invalid.
NetworkError – Download failed due to connection issues.
- fetch_games(season: int) list[Game][source]¶
Parse regular-season and tournament CSVs into Game models.
Games from
MRegularSeasonCompactResults.csvhaveis_tournament=False; games fromMNCAATourneyCompactResults.csvhaveis_tournament=True.
- fetch_seasons() list[Season][source]¶
Parse
MSeasons.csvinto Season models.Delegates to
load_day_zeros()(which already reads and validates MSeasons.csv) to avoid a second disk read and Pandera validation pass.
- fetch_team_spellings() dict[str, int][source]¶
Parse
MTeamSpellings.csvinto a spelling → TeamID mapping.Returns every alternate spelling (lower-cased) for each team, which provides much wider coverage than the canonical names in MTeams.csv when resolving ESPN team name strings to Kaggle IDs.
- exception ncaa_eval.ingest.connectors.NetworkError[source]¶
Bases:
ConnectorErrorConnection failure, timeout, or HTTP error.