Skip to content

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

License

Notifications You must be signed in to change notification settings

emma-k-alexandra/wmata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages