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

#1545 in Parser implementations

34 downloads per month
Used in timetable

MIT license

31KB
741 lines

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

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.


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),
    };
}

Dependencies

~4–6MB
~90K SLoC