A GTFS Schedule (static) General Transit Feed Specification (GTFS) feed validator
This command-line tool written in Java that performs the following steps:
- Loads input GTFS zip file from a URL or disk
- Checks file integrity, numeric type parsing and ranges as well as string format according to the GTFS Schedule specification
- Performs GTFS business rule validation (work-in-progress)
We suggest using IntelliJ to import, build, and run this project.
Instructions to build the project from the command-line using Gradle are available in our Build documentation.
If you're running a v1.x release JAR file you'll need Java 11, and can follow these instructions. The below instructions are for the master branch, which will be v2.0.
(Instructions to run a pre-built JAR file are coming soon)
From IntelliJ set up a run configuration with the following program arguments:
-i /myDirectory/gtfs.zip -o output -f ca-myFeedName
where:
--inputor-i: the path to the GTFS archive (e.g.,/myDirectory/gtfs.zip)--outputor-o: the path to the validation report (e.g.,output)--feed_nameor-f: the name of the feed as a valid ISO two letter country code, followed by-, followed by a user-defined name for the feed. (e.g.,ca-myFeedName,us-myFeedName)- (Optional)
--threador-t: the number of Java threads to use
More detailed instructions to run the application locally are available in our Usage page.
The architecture of the gtfs-validator is described on our Architecture page.
Code licensed under the Apache 2.0 License.
We welcome contributions to the project! Please check out our Contribution guidelines for details.