Skip to content

Changelog

All notable changes to this project are documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

0.1.0 - 2026-10-10

First public release.

Added

  • Typed, immutable models for GTFS-Realtime feeds: vehicle positions, trip updates and service alerts, with UTC datetimes and enum names.
  • parse_feed() / load_feed() decoding protobuf payloads via gtfs-realtime-bindings.
  • GtfsRtClient and AsyncGtfsRtClient (httpx, optional http extra) with timeouts, exponential backoff, Retry-After support and FeedFetchError reporting.
  • RetryPolicy to configure attempts, backoff and retryable status codes.
  • StaticGtfs: lazy loader for static GTFS zip archives (agencies, stops, routes, trips, stop times) from a path, bytes or a file object.
  • Vehicle matching to trips and routes (match_vehicles, filter_by_route) with pluggable route hints, including a Warsaw (ZTM) helper in gtfs_rt_kit.warsaw.
  • Delay computation against the schedule (trip_delays, estimate_vehicle_delay), handling times past midnight and daylight-saving changes.
  • gtfs-rt-kit command line tool with vehicles, trip-updates and alerts commands, reading from a URL, a file or stdin, with route filters, static GTFS matching and JSON output.
  • to_jsonable() helper converting models to JSON-compatible data.
  • Documentation site (MkDocs Material) with guides, Warsaw and generic examples and an API reference, deployed to GitHub Pages.
  • Packaging with hatchling, py.typed marker, CI on Python 3.10-3.13 and a release workflow publishing to PyPI with Trusted Publishing.