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
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
Python package
Requires Python 3.8 or newer.
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
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.
Binaries land in target/release/:
gtfs-guruβ command-line toolgtfs-guru-webβ web API servergtfs-guru-mcpβ MCP server
To build only the CLI: cargo build --release -p gtfs-guru.