pywmataio

A simple async interface to the WMATA (Washington, DC Public Transit) API


License
MIT
Install
pip install pywmataio==0.0.8

Documentation

wmataio

wmataio is an easy to use Python interface to the Washington Metropolitan Area Transit Authority API (Washington, DC Public Transit).

Contents

Requirements

  • Python 3.10

Installation

pip install wmataio

Usage

Getting Started

from wmataio import MetroRail, Station

client = MetroRail(api_key)
await client.load_data()
stations: dict[str, Station] = client.stations
lines: dict[str, Line] = client.lines

Design

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

MetroRail

Provides access to all MetroRail related endpoints.

Using MetroRail
import wmataio

client = wmataio.client(api_key)

trains = await client.rail.next_trains_at_station(client.rail.stations["A01"])

MetroBus

Provides access to all MetroBus related endpoints.

Using MetroBus
import wmataio

client = wmataio.client(api_key)

routes = await client.bus.get_all_routes()

Credits

Thanks to @emma-k-alexandra for pywmata which I used as the base for this repo.

License

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