f1verse
f1verse · Python

How do I run a Formula 1 pipeline on a schedule without double-posting?

Call f1verse.due(year, processed=[...]). It returns sessions that have finished, settled past the flag, and are not in the list of session keys you have already handled.

>>> f1verse.status(2026)
{'latest_race': {'round': 12, 'meeting': 'Dutch Grand Prix'},
 'next': {'round': 13, 'session': 'Practice 1'}, 'next_in_hours': 125.7}
>>> f1verse.due(2026, processed=state["done"])
[]                       # nothing new to publish yet

The settle window is the point: a session that ended two minutes ago is not ready to publish. Keeping the processed list on your side means nothing publishes twice and nothing is missed after downtime, without f1verse holding state for you.

Zero dependencies makes this cheap to host — the whole library fits in a small serverless function with no build step and no compiled wheels.

Related