/tflgtfs

Transport For London GTFS Exporter

Primary LanguageRustApache License 2.0Apache-2.0

Transport For London GTFS Exporter

This simple Rust CLI allows you to fetch data from the Tfl Unified API and transform it to GTFS.

Build Status Clippy Linting Result

Install

Clone the repository and compile:

cargo build --release

You will find the binary in ./target/release/.

OSX Users

WARNING: If you compile under OSX 10.11 you might need to specify the OpenSSL include path. For example, having OpenSSL installed via Homebrew, the command is:

OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include cargo build --release

Arch Linux Users

WARNING: OpenSSL versions > 1.0 do not work. You'll need to install the openssl-1.0 package in the extra repository and compile with the following command (thanks to @Yamakaky):

OPENSSL_INCLUDE_DIR=/usr/include/openssl-1.0 OPENSSL_LIB_DIR=/usr/lib/openssl-1.0 cargo build --release

Usage

Check the help ./target/release/tflgtfs help for details.

In short, you can fetch Tfl lines with the fetch-lines command and transform the cached values with the transform gtfs command.

You can do it in one shot via:

./target/release/tflgtfs fetch-lines --format gtfs

You will find the resulting GTFS files inside ./gtfs.

Development

When developing on nightly build it using the following command to actually benefit from linting and Serde macro:

cargo build --features nightly --no-default-features

License

See License.