"""SPADL schema for Wyscout data.""" import pandera as pa from pandera.typing import DateTime, Object, Series from socceraction.data.schema import ( CompetitionSchema, EventSchema, GameSchema, PlayerSchema, TeamSchema, ) class WyscoutCompetitionSchema(CompetitionSchema): """Definition of a dataframe containing a list of competitions and seasons.""" country_name: Series[str] competition_gender: Series[str] class WyscoutGameSchema(GameSchema): """Definition of a dataframe containing a list of games.""" class WyscoutPlayerSchema(PlayerSchema): """Definition of a dataframe containing the list of teams of a game.""" firstname: Series[str] lastname: Series[str] nickname: Series[str] = pa.Field(nullable=True) birth_date: Series[DateTime] = pa.Field(nullable=True) class WyscoutTeamSchema(TeamSchema): """Definition of a dataframe containing the list of players of a game.""" team_name_short: Series[str] class WyscoutEventSchema(EventSchema): """Definition of a dataframe containing event stream data of a game.""" milliseconds: Series[float] subtype_id: Series[int] subtype_name: Series[str] positions: Series[Object] tags: Series[Object]