Skip to main content
Glama

Pitstop

laps.py•3.37 kB
from pydantic import BaseModel, Field from typing import Optional class LapData(BaseModel): """Individual lap data.""" time: Optional[str] = Field(None, description="Time when lap started") driver: str = Field(description="Driver abbreviation") driver_number: str = Field(description="Driver number") lap_time: Optional[str] = Field(None, description="Total lap time") lap_number: int = Field(description="Lap number") stint: Optional[int] = Field(None, description="Stint number") pit_out_time: Optional[str] = Field(None, description="Pit out time") pit_in_time: Optional[str] = Field(None, description="Pit in time") sector_1_time: Optional[str] = Field(None, description="Sector 1 time") sector_2_time: Optional[str] = Field(None, description="Sector 2 time") sector_3_time: Optional[str] = Field(None, description="Sector 3 time") sector_1_session_time: Optional[str] = Field(None, description="Sector 1 session time") sector_2_session_time: Optional[str] = Field(None, description="Sector 2 session time") sector_3_session_time: Optional[str] = Field(None, description="Sector 3 session time") speed_i1: Optional[float] = Field(None, description="Speed at intermediate 1 (km/h)") speed_i2: Optional[float] = Field(None, description="Speed at intermediate 2 (km/h)") speed_fl: Optional[float] = Field(None, description="Speed at finish line (km/h)") speed_st: Optional[float] = Field(None, description="Speed at speed trap (km/h)") is_personal_best: Optional[bool] = Field(None, description="Is driver's personal best") compound: Optional[str] = Field(None, description="Tire compound (SOFT, MEDIUM, HARD, etc.)") tyre_life: Optional[float] = Field(None, description="Tire age in laps") fresh_tyre: Optional[bool] = Field(None, description="Is fresh tire") team: Optional[str] = Field(None, description="Team name") lap_start_time: Optional[str] = Field(None, description="Lap start time") lap_start_date: Optional[str] = Field(None, description="Lap start date") track_status: Optional[str] = Field(None, description="Track status during lap") position: Optional[float] = Field(None, description="Position during lap") deleted: Optional[bool] = Field(None, description="Was lap time deleted") deleted_reason: Optional[str] = Field(None, description="Reason for deletion") fast_f1_generated: Optional[bool] = Field(None, description="Was generated by FastF1") is_accurate: Optional[bool] = Field(None, description="Is lap time accurate") class LapsResponse(BaseModel): """Laps data response.""" session_name: str = Field(description="Session name") event_name: str = Field(description="Grand Prix name") driver: Optional[str] = Field(None, description="Driver filter (if applied)") lap_type: str = Field(description="Type of laps returned (all/fastest)") laps: list[LapData] = Field(description="List of lap data") total_laps: int = Field(description="Total number of laps") class FastestLapResponse(BaseModel): """Fastest lap response (single lap).""" session_name: str = Field(description="Session name") event_name: str = Field(description="Grand Prix name") driver: str = Field(description="Driver abbreviation") lap_data: LapData = Field(description="Fastest lap data")

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/praneethravuri/pitstop'

If you have feedback or need assistance with the MCP directory API, please join our Discord server