Skip to content

Installation

Pick the front-end that matches how you work:

You want to… Install Section
Drag a gtfs.zip onto a window Desktop app Desktop app
Validate from a terminal or CI job CLI binary Command-line tool
Check feeds inside a notebook or ETL job pip install gtfs-guru Python package
Let an LLM client validate feeds MCP server MCP server
Build from a checkout cargo build From source

Versioning

The engine, CLI, report, model, profile, MCP, Python, WASM, and web crates are versioned and released together, so a gtfs-guru you install from any channel reports the same version. Desktop app builds are tagged on GitHub. The current number is on crates.io and in gtfs-guru --version.

Desktop app

The easiest way to validate a feed without touching a command line. Download the installer for your OS from the latest release β€” these links always resolve to the newest build:

Platform Download
🍎 macOS gtfs-guru-macos.dmg
πŸͺŸ Windows (x64) gtfs-guru-windows-x64.msi Β· …-setup.exe
🐧 Linux (Debian/Ubuntu) gtfs-guru-linux-amd64.deb
🐧 Linux (portable) gtfs-guru-linux-amd64.AppImage

Run the installer, launch the app, and drop your gtfs.zip onto the window.

Command-line tool

Installer script

curl -fsSL https://raw.githubusercontent.com/abasis-ltd/gtfs.guru/main/scripts/install.sh | bash
iwr -useb https://raw.githubusercontent.com/abasis-ltd/gtfs.guru/main/scripts/install.ps1 | iex

Both scripts honour a few environment variables:

Variable Effect
INSTALL_DIR Install somewhere other than ~/.local/bin
GTFS_GURU_LINUX_FLAVOR gnu or musl (x86_64 Linux only)
GTFS_GURU_VERSION Pin a release, e.g. v1.0.0

Prebuilt archives

Platform Download
macOS (arm64) gtfs-guru-macos-arm64.tar.gz
macOS (x86_64) gtfs-guru-macos-x86_64.tar.gz
Linux (x86_64, glibc) gtfs-guru-linux-x86_64.tar.gz
Linux (x86_64, musl) gtfs-guru-linux-x86_64-musl.tar.gz
Linux (arm64) gtfs-guru-linux-aarch64.tar.gz
Windows (x64) gtfs-guru-windows-x64.zip

From crates.io

cargo install gtfs-guru

Python package

Requires Python 3.8 or newer.

pip install gtfs-guru
import gtfs_guru

report = gtfs_guru.validate("path/to/gtfs.zip")
print(f"Valid: {report.is_valid}, notices: {len(report.notices)}")

report.save_html("validation_report.html")
report.save_json("report.json")

See the Python API reference for the full surface.

To build the wheel from a checkout:

cd crates/gtfs_validator_python
pip install maturin
maturin build --release
pip install target/wheels/gtfs_guru-*.whl

MCP server

cargo install gtfs-guru-mcp

Prebuilt gtfs-guru-mcp archives are attached to every release for Linux (x86_64, x86_64-musl, aarch64), macOS (x86_64, arm64, universal), and Windows (x64). The LLM Guide covers client configuration, the exposed tools, and the HTTP transport.

From source (Rust)

On Linux, install the system dependencies first.

git clone https://github.com/abasis-ltd/gtfs.guru
cd gtfs.guru
cargo build --release

Binaries land in target/release/:

  • gtfs-guru β€” command-line tool
  • gtfs-guru-web β€” web API server
  • gtfs-guru-mcp β€” MCP server

To build only the CLI: cargo build --release -p gtfs-guru.