wmata

Crates.iowmata
lib.rswmata
version7.1.0
sourcesrc
created_at2019-10-04 18:44:07.568646
updated_at2020-03-07 16:51:23.317254
descriptionwmata is a high level Rust interface to the Washington Metropolitan Area Transit Authority (WMATA) API
homepage
repositoryhttps://github.com/emma-k-alexandra/wmata
max_upload_size
id169937
size180,804
Emma K Alexandra (emma-k-alexandra)

documentation

README

wmata

wmata is a high level async Rust interface to the Washington Metropolitan Area Transit Authority API.

Contents

Requirements

  • Rust 1.39

Installation

Cargo

wmata = "7.1.0"

Usage

Getting Started

use wmata::{MetroRail, Station};

let client = MetroRail::new(api_key);

let trains = client.next_trains(Station::A01).await?;

Design

wmata breaks the WMATA API into two components: MetroRail and MetroBus.

MetroRail

Provides access to all MetroRail related endpoints.

Using MetroRail
use wmata::{MetroRail, Station};

let client = MetroRail::new(api_key);

let trains = client.next_trains(Station::A01).await?;

MetroBus

Provides access to all MetroBus related endpoints.

Using MetroBus
use wmata::MetroBus;

let client = MetroBus::new(api_key);

let routes = client.routes().await?;

Testing

Note that tests must currently be run with --test-threads 1 in order to pass, due to using live data.

Dependencies

  • serde
  • serde_json
  • reqwest
  • chrono
  • await_trait
  • tokio_test

Contact

Feel free to email questions and comments to emma@emma.sh

License

wmata is released under the MIT license. See LICENSE for details.

Commit count: 54

cargo fmt