TFL API Wrapper

A rust crate for using the Transport for London (TFL) API.

Note: This is currently WIP and not ready for use.

Installation

Using cargo, add this to your project's Cargo.toml: toml [dependencies] tfl-api-wrapper = "0.1.1"

Implemented APIs

Currently only the version for the API is implemented.

Usage

Get the Keys from TFL API Portal

  1. If you don't already have an account, register on TFL API Portal.
  2. Vist the Products link and create a new subscription for 500 Requests per min (allows 500 requests per min).
  3. Next, visit your profile, scroll down to the Primary key section of your subscription, click on Show and copy the value. You can use either of Primary key or Secondary key.

Use the crate

Set the APP_KEY environment variable.

Instantiate the Client using:

rust use tfl_api_wrapper::{Client, RequestBuilder}; let client = Client::new(env::var("APP_KEY").unwrap().into()); Here APP_KEY could be either Primary key or Secondary key.

Example

Get the API version: rust let ver = client.api_version().fetch().await.unwrap();

Tests

You can run the tests by running: sh APP_KEY=hjdhajsdas cargo test

References/Credits

  1. Existing tfl wrappers
    1. tfl-api-wrapper - NodeJS wrapper for TFL API, made with TypeScript.
    2. tfl-api-wrapper-py - Python wrapper for TFL API
    3. go-tfl - Go client for TFL API
  2. Adzuna-rs - For existing wrapper implementation for Adzuna API.