gtfs

GTFS - A type-safe GTFS library for Gleam

This library provides complete support for parsing and working with GTFS (General Transit Feed Specification) data, including:

Quick Start - Static Feed

import gtfs/static/feed

pub fn main() {
  // Load a GTFS feed from a directory
  let assert Ok(feed) = feed.load_from_directory("./gtfs_data")

  // Access the data
  let routes = feed.routes
  let stops = feed.stops
}

Quick Start - Realtime Feed

import gtfs/realtime/feed as rt_feed

pub fn handle_realtime(data: BitArray) {
  let assert Ok(feed) = rt_feed.decode(data)

  // Get all trip updates
  let trip_updates = rt_feed.get_trip_updates(feed)

  // Get all vehicle positions
  let vehicles = rt_feed.get_vehicle_positions(feed)

  // Get all alerts
  let alerts = rt_feed.get_alerts(feed)
}

Module Structure

Static (Schedule Data)

Realtime (Live Updates)

Common

Types

pub type Agency =
  types.Agency
pub type Alert =
  types.Alert
pub type Calendar =
  types.Calendar
pub type Color =
  types.Color
pub type Coordinate =
  types.Coordinate
pub type Date =
  types.Date
pub type Feed =
  feed.Feed
pub type FeedEntity =
  types.FeedEntity
pub type FeedHeader =
  types.FeedHeader
pub type Position =
  types.Position
pub type Route =
  types.Route
pub type RouteType =
  types.RouteType
pub type ShapePoint =
  types.ShapePoint
pub type Stop =
  types.Stop
pub type StopTime =
  types.StopTime
pub type Time =
  types.Time
pub type Timezone =
  types.Timezone
pub type Trip =
  types.Trip
pub type TripUpdate =
  types.TripUpdate
Search Document