WMATA.swift is a Swift interface to the Washington Metropolitan Area Transit Authority API
WMATA.swift is a Swift interface to the Washington Metropolitan Area Transit Authority API.
dependencies: [
.package(
name: "WMATA",
url: "https://github.com/emma-k-alexandra/WMATA.swift.git",
.upToNextMajor(from: "15.0.0")
)
]
To work with WMATA’s Standard API use the WMATA
package.
import WMATA
let nextTrains = Rail.NextRails(
key: YOUR_API_KEY,
station: .waterfront
)
nextTrains.request { result in
switch result {
case let .success(response):
print(response.trains)
case let .failure(error):
print(error)
}
}
To work with GTFS Static data use the MetroGTFS
package.
import MetroGTFS
let ashburn = try GTFSStop("STN_N12")
print(ashburn.name) // "ASHBURN METRORAIL STATION"
Full documentation is available at https://emma-k-alexandra.github.io/WMATA.swift/documentation/wmata or within Xcode.
To view documentation within Xcode, within the menu navigate to Product > Build Documentation
. WMATA’s documentation will appear under Workspace Documentation
within the Developer Documentation window. Navigate to Window > Developer Documentation
to open this window.
WMATA.swift commits to supporting current minus 2 OS versions.
Currently, WMATA.swift is compatible with macOS 12, iOS 15, tvOS 15, watchOS 8 or higher.
WMATA.swift uses semantic versioning. Only major versions will contain breaking changes.
MetroGTFS
package.Feel free to email questions and comments to emma@emma.sh
Todo:
MetroGTFS
Result
to return
or throw
behavior, the dominant async pattern in SwiftTo generate documentation for deploying to Github Pages, run ./docs.sh
.
WMATA.swift is released under the MIT license. See LICENSE for details.
This package is not distributed by or affiliated with WMATA.