Source code for livef1.models.driver

[docs] class Driver: """ Represents a Formula 1 driver with their associated information. Attributes ---------- RacingNumber : str Driver's racing number (e.g., "1") BroadcastName : str Name used in broadcasts (e.g., "M VERSTAPPEN") FullName : str Driver's complete name (e.g., "Max VERSTAPPEN") Tla : str Three letter abbreviation (e.g., "VER") Line : int Driver's line number in timing screens TeamName : str Current team name (e.g., "Red Bull Racing") TeamColour : str Team's primary color hex code without # (e.g., "3671C6") FirstName : str Driver's first name (e.g., "Max") LastName : str Driver's last name (e.g., "Verstappen") Reference : str Driver's unique reference code (e.g., "MAXVER01") HeadshotUrl : str URL to driver's headshot image session : Session Reference to the parent session object """ def __init__( self, RacingNumber: str = None, BroadcastName: str = None, FullName: str = None, Tla: str = None, Line: int = None, TeamName: str = None, TeamColour: str = None, FirstName: str = None, LastName: str = None, Reference: str = None, HeadshotUrl: str = None, session: "Session" = None, **kwargs ): self.RacingNumber = RacingNumber self.BroadcastName = BroadcastName self.FullName = FullName self.Tla = Tla self.Line = Line self.TeamName = TeamName self.TeamColour = TeamColour self.FirstName = FirstName self.LastName = LastName self.Reference = Reference self.HeadshotUrl = HeadshotUrl self.session = session # Set any additional attributes from kwargs for key, value in kwargs.items(): setattr(self, key, value) # Removed .lower() to preserve exact key names
[docs] def get_telemetry(self): """ Get telemetry data for this driver from the session. Returns ------- DataFrame Telemetry data filtered for this driver """ if self.session and self.session.carTelemetry is not None: return self.session.carTelemetry[ self.session.carTelemetry["DriverNo"] == self.RacingNumber ] return None
[docs] def get_laps(self): """ Get lap data for this driver from the session. Returns ------- DataFrame Lap data filtered for this driver """ if self.session and self.session.laps is not None: return self.session.laps[ self.session.laps["DriverNo"] == self.RacingNumber ] return None
def __repr__(self): return f"Driver({self.Tla} - {self.TeamName})"