Skip to content

Support parsing feed_info.txt (feed_start_date / feed_end_date #129

Description

@0xaboomar

Problem definition

go-gtfs does not parse feed_info.txt — it is listed as unsupported (❌) in the README's supported-files table. This blocks consumers from reading the feed's authoritative feed_start_date / feed_end_date fields, which the GTFS spec defines as the dataset's date range.

Impact on OneBusAway/watchdog: Watchdog monitors GTFS bundle expiration (gtfs_bundle_expiration). Because go-gtfs can't read feed_info.txt, it has to infer expiry by scanning calendar.txt service end dates. That logic lives in getEarliestAndLatestServiceDates (see its doc comment for the documented rationale). This workaround is an inaccurate proxy:

  • calendar.txt services frequently extend beyond the declared feed_end_date, producing false "not expired" states.
  • Feeds where some services end earlier than the feed span produce false "expired" states.
  • feed_info.txt is conditionally required by the spec, so it's absent from some feeds - the workaround can't distinguish "no expiry declared" from "expired".

Request: Add a FeedInfo model to ParseStatic, surfacing feed_start_date / feed_end_date (and ideally the remaining optional fields: feed_publisher_name, feed_publisher_url, feed_lang, feed_version, feed_contact_email, feed_contact_url), with an opt-in flag so feeds lacking feed_info.txt don't fail parsing.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions