sadminriley / wmata

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

Home Page:https://crates.io/crates/wmata

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

I forked this repo to add examples for commonly used dynamic container API systems; or apps. The engineer of this is a respected colleague/friend, and a very talented technologist.

Deploying

Kubernetes

ECS

Terraform

About

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

https://crates.io/crates/wmata

License:MIT License


Languages

Language:Rust 100.0%