7 releases

Uses old Rust 2015

0.3.0 Jul 8, 2019
0.2.0 Sep 5, 2017
0.1.4 Aug 15, 2016
0.1.3 Jun 30, 2016

#1535 in Parser implementations


Used in timetable

MIT license

31KB
741 lines

Contains (Zip file, 4KB) examples/sample-feed.zip

Transit

Fast transit library for Rust that provides GTFS serialization/deserialization, validation, and manipulation.

Usage

For files on your file system just us GTFSIterator::from_path

extern crate transitfeed;
use transitfeed::{GTFSIterator, Agency};

fn read_agencies() {
    let iterator : GTFSIterator<_, Agency> = GTFSIterator::from_path("~/Downloads/gtfs/agency.txt").unwrap();
    for result in iterator {
        match result {
            Ok(entry) => println!("{:?}", entry),
            Err(err) => println!("{}", err),
        };
    }
}

If you have your own csv::Reader then just give GTFSIterator::new a meaningful name

let iterator : GTFSIterator<_, Agency> = GTFSIterator::new(reader, "example_data").unwrap();
for result in iterator {
    match result {
        Ok(entry) => println!("{:?}", entry),
        Err(err) => println!("{}", err),
    };
}

lib.rs:

Transit Feed provides a consistent set of data structures, parsers, and API clients for obtaining usable transit related information such as routes, stop, trips, stop times, and more.

Dependencies

~4–5.5MB
~83K SLoC