Skip to content

Language bindings generated from the GTFS-realtime protocol buffer spec for popular languages.

License

Notifications You must be signed in to change notification settings

TransitApp/gtfs-realtime-bindings

 
 

Repository files navigation

gtfs-realtime-bindings

Language bindings generated from the GTFS-realtime protocol buffer spec for popular languages.

Introduction

GTFS-realtime is a data format for communicating real-time information about public transit systems. GTFS-realtime data is encoded and decoded using Protocol Buffers, a compact binary representation designed for fast and efficient processing. The data schema itself is defined in gtfs-realtime.proto.

To work with GTFS-realtime data, a developer would typically use the gtfs-realtime.proto schema to generate classes in the programming language of their choice. These classes can then be used for constructing GTFS-realtime data model objects and serializing them as binary data or, in the reverse direction, parsing binary data into data model objects.

Because generating GTFS-realtime data model classes from the gtfs-realtime.proto schema is such a common task, but also one that sometimes causes confusion for first-time developers, this project aims to provide pre-generated GTFS-realtime language bindings for a number of the most popular programming languages. Where possible, these language bindings will be published as packages to facilitate their use in other projects.

Supported Languages

Other Languages

We don't provide generated code for C++, use the official protoc compiler for that (from here or here)

Are we missing your favorite language? Consider contributing:

  1. Read CONTRIBUTING.md.
  2. Open a pull request with your language of choice. Please include update instructions (ideally, scripts). Also, provide packaging suitable for the language ecosystem.

About

Language bindings generated from the GTFS-realtime protocol buffer spec for popular languages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 41.9%
  • JavaScript 35.5%
  • Rust 19.5%
  • C# 2.2%
  • Ruby 0.6%
  • Python 0.2%
  • Go 0.1%