import asyncio
import time
import tif1
async def load_multiple_sessions():
"""Load multiple sessions in parallel."""
sessions_to_load = [
(2025, "Monaco Grand Prix", "Qualifying"),
(2025, "Monaco Grand Prix", "Race"),
(2025, "British Grand Prix", "Qualifying"),
]
async def load_one_session(year, event, session_type):
session = tif1.get_session(year, event, session_type)
laps = await session.laps_async()
return (event, session_type, len(laps))
# Load all sessions in parallel
start = time.time()
tasks = [
load_one_session(year, event, session_type)
for year, event, session_type in sessions_to_load
]
results = await asyncio.gather(*tasks)
elapsed = time.time() - start
print(f"\nLoaded {len(results)} sessions in {elapsed:.2f}s:")
for event, session_type, lap_count in results:
print(f" {event} {session_type}: {lap_count} laps")
return results, elapsed
# Run
results, elapsed = asyncio.run(load_multiple_sessions())