Pre-generated language bindings for working with GTFS Realtime transit data in popular programming languages.
gtfs-realtime-bindings is a collection of pre-generated code libraries that allow developers to easily work with GTFS Realtime data, a standard format for real-time public transit information. It provides language-specific classes for encoding, decoding, and manipulating transit data without requiring manual code generation from the protocol buffer schema. This solves the common pain point of setting up GTFS Realtime tooling across different programming environments.
Developers and organizations building applications that consume or produce real-time public transit data, such as transit agency tools, trip planning apps, or mobility analytics platforms.
Developers choose gtfs-realtime-bindings because it offers officially supported, up-to-date libraries that are generated directly from the GTFS Realtime specification, ensuring reliability and reducing setup time compared to manual code generation or unofficial implementations.
Language bindings generated from the GTFS Realtime protocol buffer spec for popular languages.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides official bindings for .NET, Java, JavaScript/TypeScript/Node.js, Python, and Golang, covering common development environments without manual setup.
Generated directly from the GTFS Realtime .proto file, ensuring compatibility with the official data specification and reducing errors.
Distributed as language-specific packages (e.g., npm, PyPI, Maven) for seamless integration into existing projects via standard tools.
Now maintained by MobilityData with clear contribution guidelines, offering reliability and potential for updates beyond Google's original version.
Deprecated support for Ruby and PHP, and no bindings for languages like C++ or Swift, forcing manual work for those ecosystems.
Relies on underlying protocol buffer libraries, which can introduce additional dependencies, versioning issues, or performance overhead in some cases.
Bindings are fixed to the official schema; custom extensions or modifications require manual regeneration with protoc, not supported by this project.