41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
"""
|
|
MatchData dataclass — core data transfer object used throughout the engine.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
from typing import Any, Dict, List, Optional
|
|
|
|
|
|
@dataclass
|
|
class MatchData:
|
|
match_id: str
|
|
home_team_id: str
|
|
away_team_id: str
|
|
home_team_name: str
|
|
away_team_name: str
|
|
match_date_ms: int
|
|
sport: str
|
|
league_id: Optional[str]
|
|
league_name: str
|
|
referee_name: Optional[str]
|
|
odds_data: Dict[str, float]
|
|
home_lineup: Optional[List[str]]
|
|
away_lineup: Optional[List[str]]
|
|
sidelined_data: Optional[Dict[str, Any]]
|
|
home_goals_avg: float
|
|
home_conceded_avg: float
|
|
away_goals_avg: float
|
|
away_conceded_avg: float
|
|
home_position: int
|
|
away_position: int
|
|
lineup_source: str
|
|
status: str = ""
|
|
state: Optional[str] = None
|
|
substate: Optional[str] = None
|
|
current_score_home: Optional[int] = None
|
|
current_score_away: Optional[int] = None
|
|
lineup_confidence: float = 0.0
|
|
source_table: str = "matches"
|