from typing import Literal, Optional from pybaseball import playerid_reverse_lookup import pydantic class PlayerIds(pydantic.BaseModel): bbref: str = None fangraphs: int = None retro: str = None mlbam: int = None def get_player_ids(player_id: str, id_type: Literal['bbref', 'fangraphs']) -> PlayerIds | None: q = playerid_reverse_lookup([player_id], key_type=id_type) if len(q.values) == 0: return None else: return PlayerIds( bbref=q.loc[0].key_bbref, fangraphs=q.loc[0].key_fangraphs, retro=q.loc[0].key_retro, mlbam=q.loc[0].key_mlbam )