An open API service indexing awesome lists of open source software.

awesome-transit

Community list of transit APIs, apps, datasets, research, and software :bus::star2::train::star2::steam_locomotive:
https://github.com/MobilityData/awesome-transit

Last synced: 2 days ago
JSON representation

  • Uncategorized

  • About

  • Using Data

    • Agency Tools

      • Remix by Via - A webapp that lets transit agencies easily plan routes.
      • Next Train API - Serves any GTFS feed as a JSON API. Transit agencies and developers alike can deploy the open source code to their own Heroku server.
      • Remix - A webapp that lets transit agencies easily plan routes.
      • PTV Lines - A cloud-based public transport software for line planning and public transport service optimisation
      • RideSheet - based tool for small demand-responsive transportation (DRT) services.
      • RideSheet - based tool for small demand-responsive transportation (DRT) services.
    • Consumer Apps

      • KDE Itinerary - App (Desktop and Android) for planning trips. It can find public transport routes, store them offline, add events to your trips, see the floor plan of train stations, and much more. [Souce Code](https://invent.kde.org/pim/itinerary), [GitHub](https://github.com/KDE/itinerary)
      • Transportr - transport-enabler](https://github.com/schildbach/public-transport-enabler) in order to connect to many different transport networks worldwide.
      • Next Train - Connecticut - A React-native mobile app for searching train schedules published by the Shore Line East transit agency in Connecticut. Relies on a deployment of the [Next Train API](https://github.com/data-creative/next-train-api).
      • Catenary Maps - Realtime and Schedule global public transport map and navigation software, written in Rust and Svelte.
      • Instabus - Realtime map of Austin's (CapMetro) public transit. Has no server/backend dependency at all and runs completely on GitHub pages.
      • Bikeshare Map - Status of all worldwide bikeshare stations
      • TransSee - Real-time transit predictions based on actual travel times, vehicle locations, schedules and maps. Premium gives you access to a detailed history of schedules, vehicle locations, stop arrivals, schedule adherance, charts and graphs. For an additional fee custom queries can be run on this data.
      • YourStop - Mobile friendly web app which consumes GTFS feeds and displays both live and scheduled trips for stops. Launched with MBTA, YRT/Viva and Maryland MTA.
      • MACS Transit Android App - A bus tracker app for Android devices for the MACS Transit system in Fairbanks, Alaska. Uses RouteMatch APIs.
      • Offi Directions - An Android app that provides trip planning, schedules, live departure times, and disruption information for transport authorities in Europe and beyond.
      • Trufi App - A cross-platform Flutter app that uses [OpenTripPlanner](http://www.opentripplanner.org/)
      • ÖPNV Navigator
      • TripGo
      • OsmAnd - OsmAnd is a GPS Navigation and map application that runs on many Android and iOS smartphones and tablets, featuring optional offline maps and turn by...
      • Catenary Maps - Realtime and Schedule global public transport map and navigation software, written in Rust and Svelte.
      • Catenary Maps - Realtime and Schedule global public transport map and navigation software, written in Rust and Svelte.
      • Bustime - Public transport real-time monitoring with WebSocket updates. Open-source [on GitHub](https://github.com/norn/bustime).
      • DC MetroHero - Realtime vehicle position and arrivals and departure information for the Washington, D.C. region's WMATA Metrorail and Metrobus systems. WebApp, Android, and iOS apps avaliable.
      • Transito - FOSS data-provider-agnostic public transportation app that let's you route between locations using openly available public GTFS feeds (sourced from the [Mobility Database](https://database.mobilitydata.org/)). Utilizing the [Mobroute Go API](http://sr.ht/~mil/mobroute), the Transito app lets you performs routing calculations right on your phone. Cross-platform app currently supporting Android & Linux.
    • Visualizations

      • Simple Transit Site - An online example of how to create a transit website all from your gtfs [on Github](https://github.com/ioTransit/simple-transit-site)
      • gtfs-visualizations - Open-source NodeJS application for visualizing the routes of GTFS datasets.
      • gtfspy-webviz - Web application for animation and visualization of GTFS data using [gtfspy](https://github.com/CxAalto/gtfspy).
      • TransitFlow
      • Toronto Transit Explorer - A Java application that visualizes transit, biking and walking accessibility across the city of Toronto. Uses a modified version of [R5](https://github.com/conveyal/r5) for routing.
      • BusGraphs Access Analyzer - Web application for measuring the access provided by real and hypothetical fixed-route public transit networks, and visualizing and decomposing this access in variety of ways.
      • GTFS Viz 🚉 - A web app that visualizes GTFS Data on the browser at scale without a backend on the client side using [duckdb-wasm 🦆](https://duckdb.org/docs/api/wasm/overview.html).
      • loom - Software suite for the automated generation of geographically correct or schematic transit maps.
      • fastest-bus-analysis-in-the-west - A python Pandas script that combines Ridership/APC, Swiftly speed and dwell data, bus stop inventory, GTFS, and geospatial shapes to create a stop by stop, route by route, time grouping filterable dataset for cross-analyses. The dataset is then visualized in [Tableau](https://public.tableau.com/profile/vivek7797#!/vizhome/stopsandspeedanalyses/Story1) to help VTA Planners find places to make bus and rail network faster and more reliable through speedups methods like stop consolidation and dedicated lanes.
      • MIT COAXS - Co-creative Planning of Transit Corridors using Accessibility-Based Stakeholder Engagement (shows route scenarios using [OpenTripPlanner Analyst](http://www.opentripplanner.org/analyst/)).
      • Transit Vis - A visualization tool to display performance metrics derived from the King County Metro GTFS-RT feed (OneBusAway API). Viewable [here](https://www.transitvis.com/). Used for [this paper](https://link.springer.com/article/10.1007/s12469-022-00291-7).
      • Traze - Visualization of public transport vehicles from all over the world. Collaborate with other users to get real-time updates even when it is not available from the agency. Based on a number of sources, including GTFS and GTFS-RT. (Previously known as Livemap24).
      • Visualizing MBTA Data - Interactive graphs that show how people use Boston's subway system.
      • Brand New Subway - An interactive transportation planning game that lets players alter the NYC subway system to their heart's content.
      • MetroDreamin' - A modern, open source software that allows users to create, save, like, and share interactive transit maps with agents.
      • Rail Map Generators - Tool for generating railway maps and information panels in the styles of various cities' public transportation systems.
      • North American Transit -  Map of all Passenger Rail in North America including (intercity rail, metros, trams and tourist lines)
      • Australian Rail Maps -    Detailed Australian railway maps from the national, state and city levels.
      • INAT - Aesthetically pleasing static maps of worldwide metros systems.
      • China Railway Map - An online Interactive map for the passenger railway transportation system of China, presenting station and rail information.
      • Local Transit - Map visualization of public transit frequency, created using QGIS.
      • Openptmap - openptmap shows public transport lines.
      • OSMTransportViewer - Use OSM Overpass API to get network data
      • PTMap - The PTMap shows public transport routes as they are entered to the OpenStreetMap.
      • Unroll - Public transport routes
      • Jungle Bus Map - A webmap for viewing transport stop deails in OpenStreetMap.
      • AccraMobile3 - Accra Mobile 3 is a project launched in July 2017 to map all the Tro tro lines of Accra, Ghana for the Department of Transport (DoT) of Accra...
      • OpenStationMap - Displays indoors of public transport stations (including rails and platforms).
      • QGIS - GTFS plugins - List of plugins for GTFS in QGIS
      • Traze - Visualization of public transport vehicles from all over the world. Collaborate with other users to get real-time updates even when it is not available from the agency. Based on a number of sources, including GTFS and GTFS-RT. (Previously known as Livemap24).
      • Rail Transit Maps - A collection of railway maps covering Europe (especially Russia).
      • MOTIS - Intermodal Mobility Information System including [visualization](https://europe.motis-project.de/)
      • gtfs-to-geojson - A simple online converter for gtfs to geojson with a list of feeds.
      • Local Transit - Map visualization of public transit frequency, created using QGIS.
      • Transit Vis - A visualization tool to display performance metrics derived from the King County Metro GTFS-RT feed (OneBusAway API). Viewable [here](https://www.transitvis.com/). Used for [this paper](https://link.springer.com/article/10.1007/s12469-022-00291-7).
      • Rail Map Generators - Tool for generating railway maps and information panels in the styles of various cities' public transportation systems.
      • Google Earth - Create and share custom maps with one of the the world's most detailed statelite applications.
      • UrbanRail.Net - Worldwide reference map of urban rail transport (metros,trams,commuter rail) with detailed and up-to-date information.
      • AllRailMap - Another worldwide map of railways using OpenStreetMap data.
      • North American Transit -  Map of all Passenger Rail in North America including (intercity rail, metros, trams and tourist lines)
    • SDKs

      • TripKit - TripKit is a Swift-library to get data from public transport providers.
      • KPublicTransport - A C++ library for accessing realtime public transport data and for performing public transport journey queries.
  • Producing Data

    • Other multimodal data formats

      • GBFS - General Bikeshare Feed Specification: open data standard for real-time information about bikeshare, scootershare, mopedshare, and carshare.
      • CurbLR - A specification for curb regulations.
      • MDS - Mobility Data Specification: A format to implement realtime data sharing, measurement and regulation for municipalities and mobility as a service providers. It is meant to ensure that governments have the ability to enforce, evaluate and manage providers. Maintained by the [Open Mobility Foundation](https://www.openmobilityfoundation.org/).
      • GMNS - General Modeling Network Specification: A format for sharing routable road network files designed to be used in multi-modal static and dynamic transportation planning and operations models. Volpe/FHWA partnership with Zephyr Foundation.
      • shared-row - A specification for right-of-way (ROW) for a SharedStreets Reference.
      • MTLFS - Managed and Tolled Lanes Feed Specification: Proposal for a schema that comprise the Managed and Tolled Lanes Tolling Feed Specification (MTLFS) and defines the fields used in all of those files developed by [Santa Clara Valley Transportation Authority](http://www.vta.org/).
      • DATEX - EU data standard for road traffic and travel information.
      • gbfs R package - Functions to interface with GBFS feeds in R, allowing users to save and accumulate tidy .rds datasets for specified cities/bikeshare programs.
      • TOMP - Transport Operator Mobility-as-a-service Provider API: API standard for use by transport operators and mobility-as-a-service providers for operator discovery, trip planning, end user interaction, booking, and payment.
      • IXSI - interface for exchanging information between a travel information system and a sharing system (carshare, bikeshare).
      • MaaS API - A set of open documents and test suite that defines a MaaS-compatible API.
      • OJP - Open Journey Planner.
      • OSDM - Open Sales and Distribution Model: Aims to substantially simplify the booking process for customers of rail trips and to lower complexity and distribution costs for distributors and railway carriers. Contains a specification of an offline model and on-line API. Maintained by the [International Union of Railways (UIC)](https://github.com/UnionInternationalCheminsdeFer).
      • TIDES - Transit ITS Data Exchange Specification (TIDES) is a proposed effort to create standard data structures, APIs, and data management tools for historical transit ITS data including AVL, APC and AFC Data.
      • Open Street Map Public Transport Parser - Open Street Map Public Transport Parser
      • Dyno-Demand - A GTFS-based travel demand data format focusing on individual passenger *demand* suitable for dynamic network modeling developed by San Francisco County Transportation Authority, LMZ LLC, and UrbanLabs LLC.
      • Dyno-Path - (Under development - see [this post](https://github.com/osplanning-data-standards/GTFS-PLUS/pull/52#issuecomment-331231000)) Data for individual passenger *trajectories*.
      • GTFS-plus - A GTFS-based transit network format for *vehicle and capacity data* suitable for dynamic transit modeling developed by Puget Sound Regional Council, UrbanLabs LLC, LMZ LLC, and San Francisco County Transportation Authority.
      • GTFS-ride - An open, fixed-route transit ridership data standard developed through a partnership between the Oregon Department of Transportation and Oregon State University.
      • GTFS-stat - An extension to a GTFS transit network with additional files that contain performance data developed by UrbanLabs LLC and San Francisco County Transportation Authority.
      • OMX: The Open Matrix data file format - A structured collection of two-dimensional array objects and associated metadata, for possible use in the transportation modeling industry.
      • SAE Shared and Digital Mobility Committee - Appears to be working on a data standard for car share and transportation network companies (TNCs) / rideshare.
      • OpenStop - OpenStop is a free app to add information about barriers and other accessibility properties of public transport stops to OpenStreetMap.
      • JOSM Plugins - PT Assistant - The plugin validates public transport routes against a set of criteria and, where possible, suggests ways to fix them.
      • JOSM Validator Rules - The JOSM validator (Tag checker) can be customized with different rules based on MapCSS.
      • OSM Relatify - OSM Relatify is a tool that simplifies the process of maintaining public transport relations.
      • OpenStreetMap Route Editor - A tool for efficiently editing Route Relations in OpenStreetMap - OSM
      • Prism - Prism is a tool to extract public transport data from OpenStreetMap.
      • Sketch Line - A tool to create transport diagram out of OSM data.
      • Sketch Line - A tool to create transport diagram out of OSM data.
      • NeTex - A general purpose XML format designed for the exchange of complex static transport data among distributed systems managed by the [CEN standards process](https://www.cencenelec.eu/european-standardization/european-standards/).
      • APDS - Alliance for Parking Data Standards: formed by the [International Parking Institute (IPI)](https://www.parking.org/), the [British Parking Association (BPA)](http://www.britishparking.co.uk/), and the [European Parking Association (EPA)](http://www.europeanparking.eu/). APDS is a not-for-profit organization with the mission to develop, promote, manage, and maintain a uniform global standard that will allow organizations to share parking data across platforms worldwide.
      • NeTex - A general purpose XML format designed for the exchange of complex static transport data among distributed systems managed by the [CEN standards process](https://www.cencenelec.eu/european-standardization/european-standards/).
      • TODS - Transit Operational Data Standard: standard format for representing transit schedules used by drivers, dispatchers, and planners to carry out transit operations.
      • NCHRP 08-119 Developing Data Standards and Guidance for Transportation Planning and Traffic Operations - Phase 1 (Anticipated) - The objective of this research is to develop standards and/or guidance to be used and adopted by the transportation community in collecting, managing, and sharing static and real-time data for transportation planning and operations.
      • TCRP G-16 Development of Transactional Data Specifications for Demand-Responsive Transportation (In progress) - The objective of this research is to develop technical specifications for transactional data for entities involved in the provision of demand-responsive transportation. Expected completion date is late 2018.
    • GTFS

      • tidytransit - Use tidytransit to map transit stops and routes, calculate travel times and transit frequencies, and validate transit feeds. tidytransit reads the General Transit Feed Specification into tidyverse and simple features data frames.
      • RRRR Rapid Real-time Routing - RRRR (usually pronounced R4) is a C-language implementation of the RAPTOR public transit routing algorithm.
      • pfaedle - Precise map-matching for GTFS using OpenStreetMap data
      • transitr - An R package for constructing and modelling a transit network in real time to obtain vehicle ETAs
      • R5: Rapid Realistic Routing on Real-world and Reimagined networks - A Java-based routing engine developed by Conveyal for multimodal (transit/bike/walk/car) networks. It currently plans many trips over a time window for scenario planning and analytics purposes. A related R wrapper package ([r5r](https://github.com/ipeaGIT/r5r/)) is developed independently by IPEA. See also the performance comparison from Higgins et al. (2022), linked below.
      • GTFS Kit - A Python 3.8+ tool kit for analyzing General Transit Feed Specification (GTFS) data. Supersedes GTFSTK.
      • gtfs-utils
      • GTFS-viz - Ruby script that converts a set of GTFS files into a SQLite database + GeoJSONs (needed by the [Transit Map](https://github.com/vasile/transit-map) web application)
      • gtfsdb - Python library for converting GTFS files into a relational database.
      • GTFS-OSM-Sync - A Java tool for synchronizing data in GTFS format with [OpenStreetMap.org](http://www.openstreetmap.org/).
      • multigtfs - A Django application to import and export GTFS.
      • GTFS Editor - A (self-hosted) web-based GTFS editing framework. (Note: this project has been deprecated in favor of [IBI Data Tools](https://github.com/ibi-group/datatools-ui).)
      • IBI Data Tools - A web application that handles GTFS editing, validating, quality checking, and deploying to OpenTripPlanner. (Combines and builds upon the functionality of the deprecated [Gtfs Data Manager](https://github.com/conveyal/gtfs-data-manager) and [GTFS Editor](https://github.com/conveyal/gtfs-editor).)
      • Timetable Kit - An open source Python 3.10 module and scripts depending on [GTFS Kit](https://github.com/mrcagney/gtfs_kit), designed to create complex printed/PDF timetables with flexible layouts. Currently only working out of the box for Amtrak's GTFS, but under active development.
      • Peartree - A Python library for converting transit data into a directed graph for network analysis.
      • Node-GTFS - Loads transit data from GTFS files, unzips it and stores it to a SQLite database. Provides some methods to query for agencies, routes, stops and times.
      • osm2gtfs - Turn OpenStreetMap data and schedule information into GTFS.
      • gtfs2emis - An R package to estimate the emission levels of public transport vehicles based on General Transit Feed Specification (GTFS) data.
      • gtfspy - Public transport network analysis and travel time computations using Python3. Compatible with Postgres/PostGIS, Oracle, MySQL, and SQLite. Used by [gtfspy-webviz](https://github.com/CxAalto/gtfspy-webviz).
      • partridge - A fast, forgiving Python GTFS reader built on pandas DataFrames.
      • gtfs2gps - An R package that converts public transportation data in GTFS format to GPS-like records in a `data.table`, where each row represents the timestamp of each vehicle at a given spatial resolution.
      • TimeTablePublisher (TTPUB) - A web publishing system developed by TriMet that allows a transit agency to examine, modify, and transform raw scheduling data into easy-to-read timetables for customer information purposes
      • Busbuzzard - Inference of probabilistic schedules from empirical data about transit vehicles.
      • gtfstools - A set of convenient tools for editing and analysing transit feeds in GTFS format in R.
      • MobilityData - "Understanding GTFS: An intro and overivew - Video provides an overview of of the General Transit Feed Specification (GTFS) and why it is useful for transit agencies, riders, and policymakers.
      • Transit app Guidelines for Producing GTFS Static Data - Additional Transit app-specific documentation of GTFS.
      • Bing Maps Transit - Add your transit data to Bing Maps - Additional Bing-specific documentation of GTFS.
      • Transporter-Project transxchange-to-gtfs - C.
      • TXC TransXChange publisher (UK Department for Transport) - The TXC TransXChange publisher is a standalone software tool that can be used to publish TransXChange compliant XML documents in a format that’s easy to read and print.
      • o2g - A simple tool to extract GTFS feed from OpenStreetMap.
      • extract-gtfs-shapes - line tool to extract shapes as GeoJSON from a GTFS dataset.
      • extract-gtfs-pathways - line tool to extract pathways as GeoJSON from a GTFS dataset.
      • hafas-generate-gtfs - in-progress)* – A Javascript tool to generate GTFS dumps from HAFAS endpoints.
      • GTFS Diff - GTFS Diff is a specification created by transport.data.gouv.fr and aims at providing a simple and unified way to express differences between GTFS files.
      • gtfs-sequelize - Node.js library modeling the static GTFS using sequelize.js.
      • Go GTFS Parser - A GTFS parsing library for Go.
      • gtfsman - Repository-like tool in Python to manage and update a huge number of GTFS feeds.
      • Conveyal's gtfs-validator - A Java-based GTFS validator based on the OneBusAway GTFS Modules, runs in Java and is faster than the Google provided one.
      • TransitWand - An open source web and mobile application for collecting transit data. Use it to create GTFS feeds, capture passenger counts or generate GIS datasets.
      • Gtfs Data Manager - editor).)
      • NeTEx-to-GTFS Converter Java - Converts NeTEX datasets into GTFS datasets. The input NeTEx datasets are required to follow the Nordic NeTEx Profile.
      • Uttu - Back-end for Nplan, a simple timetable editor.
      • gtfsio - Fast and flexible functions to read and write GTFS in R.
      • transit_model - A Rust library to convert to/from the following formats: GTFS, NTFS (for Navitia, see [Software for Creating APIs](#software-for-creating-apis)), TransXChange (UK specification), KV1 (NL specification), NeTEx (EU specification).
      • TransitGPT - TransitGPT is a Generative AI-powered chatbot that enables transit enthusiasts to access and analyze General Transit Feed Specification (GTFS) data through natural language instructions.
      • Chouette - Converts between French-Transmodel [NeTEX](https://transmodel-cen.eu/index.php/netex/) and GTFS.
      • Chouette SaaS - Tool to generate GTFS Schedule data
      • Ara SaaS - Tool to generate GTFS Realtime data.
      • Amarillo - Aggregates and enhances carpooling-offers and publishes them as GTFS(-RT)
      • gtfs-structure - This crates provides GTFS structures and helpers to read GTFS archives.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • gtfs-via-postgres
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • Mapzen GTFS - A Python GTFS library that supports reading individual GTFS tables, or constructing a graph to represent each agency in a feed.
      • gtfsclean - A tool for checking, sanitizing, and minimizing GTFS feeds. Fork of gtfstidy, with some additional fixes that haven't been merged upstream yet.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • gtfstidy - A Go-based tool to tidy and validate GTFS feeds.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • Open Transit Data Toolkit - A series of lessons to help people utilize open transit data.
      • ArcGIS - Introduction to GTFS
      • GTFS-books - Comprehensive guides to GTFS and GTFS Realtime. These books were written by [Quentin Zervaas](https://github.com/HendX), and have been donated to [MobilityData](https://mobilitydata.org/) and made open access.
      • Yandex Maps - Transport integration - Additional Yandex-specific documentation of GTFS.
      • CGTFS - C library for reading static GTFS feeds. Supports reading unpacked feeds into application memory or into SQLite databases.
      • just_gtfs - C++17 header-only library for reading and writing GTFS (used in [Valhalla](https://github.com/valhalla/valhalla)). Main features: fast reading and writing of GTFS feeds, support for [extended GTFS route types](https://developers.google.com/transit/gtfs/reference/extended-route-types), simple working with GTFS Date and Time formats.
      • ESRI public-transit-tools - Tools for working with public transit data in ArcGIS (license for ArcGIS required).
      • gtfs-schema - PostgreSQL schema for GTFS feeds.
      • gtfs_functions - Python package with useful functions to create geo-spatial visualizations from GTFS feeds.
      • gtfs-segments - Python package that represents GTFS data for buses in a concise tabular manner using segments.
      • gtfslib-python - An open source library in python for reading GTFS files and computing various stats and indicators about Public Transport networks.
      • Make GTFS - A Python library to make GTFS feeds from basic route information.
      • transit_service_analyst - A Python library to support transit service analysis.
      • gtfs-parser - The GTFS-PARSER library is a library to allow javascript to parse gtfs and create geojson on client or server.
      • gtfs-service-area - Compute a transit service area from static GTFS. Results are output as single-layer .geojson files. Dockerized version of [gtfs-to-geojson](https://github.com/BlinkTagInc/gtfs-to-geojson).
      • GTFS-route-shapes - A Python script to generate a single geoJSON shape for each transit route in a GTFS archive.
      • gtfs-to-geojson - Javascript tool that converts transit data in GTFS shapes and stops into geoJSON. This is useful for creating maps of transit routes.
      • gtsf - general transit (GTFS) simple (geographic) features (sf) in R. can be used to convert from GTFS to Shapefile, GeoJSON, and other formats through GDAL.
      • Hafas2GTFS - Hafas2GTFS converter written in Python, optimized for SBB HAFAS feeds.
      • onebusaway-gtfs-to-barefoot - A Java tool to create a [Barefoot](https://github.com/bmwcarit/barefoot) mapfile from a GTFS file.
      • onebusaway-vdv-modules - A Java library for working with transit data in the VDV format, including converting VDV-452 schedule data into GTFS.
      • transloc-gtfs-rectifier - Python application that attempts to assign GTFS stop_ids to [TransLoc](http://transloc.com/) IDs using [TransLoc's API](https://market.mashape.com/transloc/openapi-1-2) ([TransLoc](http://transloc.com/) doesn't provide GTFS `stop_ids` in their API).
      • Transmodel and IFF to GTFS - Imports and syncs (Transmodel) BISON Koppelvlak1, IFF (a format written by HP/EDS, somewhat similiar to ATCO CIF) to import timetables of the railway networks. The internal pseudo-NETeX datastructure allows to export to GTFS and there are proof-of-concepts to export to other formats such as NETeX, GTFS and IFF.
      • UK2GTFS - R package that converts UK format TransXchange (bus, metro, tram, ferry) and CIF (rail) timetables to GTFS.
      • AddTransit - SaaS (Software as a Service) platform to create, edit and publish schedules in GTFS format.
      • bus-router - Python script that generates missing shapes.txt for GTFS using routing from [Google Maps Directions API](https://developers.google.com/maps/documentation/directions/) or [OSRM](https://github.com/Project-OSRM/osrm-backend/wiki/Server-api).
      • gtfs-blocks-to-transfers - A Python tool to convert GTFS blocks, defined by setting [trip.block\_id](https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#example-blocks-and-service-day) into a series of [trip-to-trip transfers (proposal)](https://github.com/google/transit/pull/303).
      • GTFS Editor for Vagrant - Quickly set up the GTFS editor (above) using [Vagrant](https://www.vagrantup.com/)
      • static-GTFS-manager - A (self-hosted) browser-based user interface for creating, editing, exporting static GTFS (see [related post](https://groups.google.com/forum/#!topic/transit-developers/GFz5rTJTB0I)).
      • IBI Data Tools Infra - A tool to quickly setup and run a local instance of the above IBI Data Tools project.
      • GTFS shape mapfit - Python tool that fits GTFS shape files and stops to a given OSM map file. Uses [pymapmatch](https://github.com/tru-hy/pymapmatch) for the matching.
      • gtfs-station-builder - UI tool to help build the internal structure of stations (including pathways.txt)
      • GTFS Text-to-Speech Tester - A command-line tool that reads GTFS stop names out loud using Text-to-Speech to determine which need Text-to-Speech values for tts_stop_name in stops.txt.
      • Spare GTFS-Flex Builder - A free tool that helps transit agencies easily create, manage, and export their transportation data in GTFS-Flex format.
      • combine_gtfs_feeds - A Python tool to combine multiple gtfs feeds into one feed/dataset.
      • gtfsmerge - A Python Script to merge GTFS ZIP archives into one.
      • transit-intensity - A simple project for measuring transit intensity written in Go.
      • GTFS-to-Chart - Creates stringline charts showing all vehicles on a transit route from GTFS data.
      • GTFS Display - Analyse, monitor and maintain GTFS data ([Example instances](https://www.swingbe.de/activity/gtfs-display/)).
      • GTFS Data Package Specification - A Data Package specification with validation accomplished with Good Tables. Includes a data package, schemas, tests, and uses South East Queensland GTFS data as an example.
      • gtfs-validator-api - This Python package is a thin wrapper around [MobilityData/gtfs-validator](https://github.com/MobilityData/gtfs-validator) that handles intermediate files produced and finds gtfs-validator's output file so it can be given a specific name or returned as a string.
      • GTFSVTOR - An open-source GTFS validator implemented in Java licensed under GPLv3 maintained by [Mecatran](https://www.mecatran.com/).
      • MobilityData's gtfs-validator - A open-source GTFS validator canonically following the GTFS spec implemented in Java licensed under Apache v2.0 maintained by [MobilityData](https://mobilitydata.org/).
      • Reflect GTFS Validator (hosted by Foursquare ITP) - Transit schedule and GTFS validation platform by [Foursquare ITP](https://www.foursquareitp.com) that includes a free, web-based GTFS validator based on [gtfs-lib](https://github.com/conveyal/gtfs-lib/).
      • Transit App's gtfs-fares-v2-validator - A Python tool that validators GTFS-Fares-v2 data based on the [draft specification](https://docs.google.com/document/d/19j-f-wZ5C_kYXmkLBye1g42U-kvfSVgYLkkG5oyBauY/edit#).
      • gtfs-accessiblity-validator - Validates the presence of accessiblity-related fields and files in a GTFS file. Can be a command line tool or node.js package.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • CGTFS - C library for reading static GTFS feeds. Supports reading unpacked feeds into application memory or into SQLite databases.
      • GTFS Feed Parser - .Net/Mono implementation of a GTFS parser.
      • OneBusAway GTFS Modules - A Java-based library for reading, writing, and transforming public transit data in the GTFS format, including database support.
      • gtsf - general transit (GTFS) simple (geographic) features (sf) in R. can be used to convert from GTFS to Shapefile, GeoJSON, and other formats through GDAL.
      • OSMTracker - OSMTracker is an offline GPS tracking app designed for collecting Points of Interest (POIs) and recording GPX tracks for collaborative use.
      • GTFS Text-to-Speech Tester - A command-line tool that reads GTFS stop names out loud using Text-to-Speech to determine which need Text-to-Speech values for tts_stop_name in stops.txt.
      • Conveyal's gtfs-lib - Conveyal's successor to their own [gtfs-validator](https://github.com/conveyal/gtfs-validator), a Java-based library for loading and saving GTFS feeds of arbitrary size with disk-backed storage.
      • Transport Validator - An open-source validator implemented in [Rust](https://www.rust-lang.org/). Used by the [French National Access Point](https://transport.data.gouv.fr/validation/).
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • mobdb - R functions to search, discover, and access transit feed data from the [Mobility Database](https://mobilitydatabase.org/).
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • Data-Tools Server - Server for IBI's GTFS data management platform.
      • GTFS Studio - Online editor for GTFS feeds
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • World Bank - "Intro. to GTFS" online course - A free, online, self-paced course for learning about GTFS and GTFS-realtime.
      • GTFS.org
      • ArcGIS - Introduction to GTFS
      • Google Transit Developers - Additional Google-specific documentation of GTFS.
      • Yandex Maps - Transport integration - Additional Yandex-specific documentation of GTFS.
      • Spare GTFS-Flex Builder - A free tool that helps transit agencies easily create, manage, and export their transportation data in GTFS-Flex format.
      • Swiftly - Tool generate realtime transit data.
    • GTFS Realtime

      • print-gtfs-rt-cli - readable or as JSON.
      • GTFS-realtime Vehicle Positions Consumer/Visualizer Demo - A Java-based demo project for consuming a GTFS-realtime Vehicle Positions feed and displaying this info on a map.
      • retro-gtfs - A Python application that collects real-time data from the Nextbus API and archives it into the GTFS format (i.e., retrospective GTFS).
      • hafas-gtfs-rt-feed
      • gtfs-rt-differential-to-full-dataset
      • gtfs-rt-admin - An admin tool for managing GTFS-RT service alerts (JavaScript and Java).
      • Concentrate - Combines realtime transit information from multiple sources into single output files. Maintained by [
      • Transi - A Cloud-native GTFS-RT/GTFS archiving system.
      • GTFS-Realtime-Capsule - A command-line tool that scrapes, normalizes, and archives real-time public transit data.
      • gtfsdb_realtime - Real-time GTFS database loader and ORM library
      • SIRI to GTFS-realtime - A Java-based command-line utility to convert from the [SIRI format](https://www.siri.org.uk/) to GTFS-realtime
      • gtfs-realtime-validator - A GTFS Realtime validation tool originally developed by the [Center for Urban Transportation Research](https://www.cutr.usf.edu/) at the University of South Florida and now maintained by [MobilityData](https://mobilitydata.org/).
      • gtfsrdb - A Python tool that supports reading and archiving GTFS-realtime feeds into a database
      • Syncromatics API to GTFS-realtime - A Java-based command-line utility to convert from the [Syncromatics API](http://www.syncromatics.com/) format to GTFS-realtime TripUpdates and VehiclePositons.
      • KV6,15,17, and ARNU to GTFS-realtime - Java-based tool to process incoming KV6,15,17 and ARNU and match them to static transit data present in a RID integration database. It then proceeds to export this data as ARNU RITinfo, GTFS(realtime) and KV78turbo
      • WMATA BusPositions API to GTFS-realtime - Java-based tool to convert from WMATA's [BusPositions API](https://developer.wmata.com/docs/services/54763629281d83086473f231/operations/5476362a281d830c946a3d68) and Alert RSS feeds from [MetroAlerts](http://www.wmata.com/rider_tools/metro_service_status/rail_bus.cfm?) to GTFS-realtime TripUpdates, VehiclePositions, and Alerts feeds.
      • SEPTA API to GTFS-realtime - Java-based tool to convert [SEPTA's](http://www.septa.org/) [real-time bus and rail data](http://www3.septa.org/hackathon/) to GTFS-realtime
      • CTA API to GTFS-realtime - Java-based tool to convert [CTA's](http://www.transitchicago.com/) [Train Tracker data](http://www.transitchicago.com/developers/traintracker.aspx) to GTFS-realtime.
      • Detroit DOT to GTFS-realtime - Extract real-time info from [DDOT's](http://www.detroitmi.gov/How-Do-I/Locate-Transportation/Bus-Schedules) TransitMaster installation (database) and convert to GTFS-realtime
      • Live Transit Event Trigger - Extracts data from [Ride On's](http://www.montgomerycountymd.gov/dot-transit/) OrbCAD database and export as GTFS-realtime.
      • SoundTransit to GTFS-realtime - Convert text file feed from [Sound Transit](http://www.soundtransit.org/) to GTFS-realtime
      • Civic Transit - Screen-scrapes [KCATA’s](http://www.kcata.org/) TransitMaster WebWatch installation to produce a GTFS-realtime feed.
      • gtfs-realtime-translators - A Python-based tool to translate custom arrival API formats to GTFS-realtime. As of July 2019 it supports LA Metro and SEPTA.
      • Transloc API to GTFS-realtime - A Node.js based tool to convert the Transloc API to GTFS-realtime.
      • bus_kalman - A Kalman Filter used to interpolate bus travel times using NYC MTA real-time data.
      • gtfs-realtime-test-service - A tool for mocking GTFS-realtime feed content (e.g., for use in testing a GTFS-realtime consuming application).
      • GTFS-realtime Munin Plugin - Provides a [Munin](http://munin-monitoring.org/) plugin for logging information about a GTFS-realtime feed.
      • GTFS-realtime Nagio Plugin - Provides a [Nagios](https://www.nagios.org/) plugin for monitoring a GTFS-realtime feed
      • GTFS-realtime Printer - Java-based utility to print out information from a GTFS-realtime file or URL.
      • gtfs-rt-dump - Converts protocol buffer format to plain text for easy viewing of a GTFS-realtime feed in plain text (for debugging purposes)
      • GTFS Data Pipeline for TfNSW Bus Datasets - A data pipeline developed for the TfNSW's GTFS Static and Realtime datasets. The datasets generated using the pipeline have been used to validate the performance of TfNSW's Transit Signal Priority Request via Public Transport Information and Priority System (PTIPS).
      • manual-gtfsrt - A Go-based tool that serves a GTFS-RT feed created from editable JSON.
      • transit-feed-quality-calculator - A Java project that uses the [gtfs-realtime-validator](https://github.com/CUTR-at-USF/gtfs-realtime-validator) to assess the quality of a large number of transit feeds, fetching the feed URLs from a global directory ([TransitFeeds.com/OpenMobilityData.org](https://openmobilitydata.org/)).
      • Transit Network Model - A tool to generate predictions using GTFS-realtime VehiclePositions, a particle filter, and a Kalman Filter.
      • GTFS Realtime Display - Analyse, monitor and maintain GTFS Realtime data. [Example instances](https://www.swingbe.de/activity/gtfs-rt-display/)
      • OrbCAD SQL Server to GTFS-realtime - A Java-based command-line utility that extracts vehicle positions and trip updates information from an OrbCAD SQL Server and exports them to the GTFS-realtime TripUpdates and VehiclePositions formats.
      • GTFS-realtime to SIRI-Lite - A [Rust](https://www.rust-lang.org/) webserver to convert multiple GTFS-RT feeds to a SIRI-Lite API.
      • gtfs-rt - Rust crate to read, write, and manipulate GTFS-Realtime data
      • transitcast - Uses GTFS and GTFS-RT vehicle position feed generating an estimated transition time it takes for each vehicle to move from scheduled stop to scheduled stop recording these an "observed_stop_time" table. These records can later be used to train a machine learning model to make vehicle travel predictions. Created by TriMet as part of [an FTA IMI project](https://trimet.org/imi/program.htm).
    • SIRI

      • SIRI 2.0 API - Java classes generated from the v2.0 [SIRI](https://www.siri.org.uk/) schemas.
      • pysiri2validator - Simple validator for SIRI 2.0 written in Python 3.
      • Edwig - A golang server for real-time public transport data exchange, using the SIRI protocol.
      • Edwig - A golang server for real-time public transport data exchange, using the SIRI protocol.
      • BISON - Netherlands implementation of SIRI.
    • Software for Creating APIs

      • Transitous - Community-run free and open public transport routing service.
      • Iran Railway-Trains - Iran Railway-Trains (Raja-Fadak-Safir) all in one package for DotNet (Api-WebService)
      • GraphHopper Routing Engine
      • Mobroute - Mobroute is a general purpose FOSS public transportation router (e.g. trip planner) Go library and CLI that works by directly ingesting timetable (GTFS) data from transit agencies themselves (sourced from the [Mobility Database](https://database.mobilitydata.org/)). It can be used to quickly run & test routing requests based on GTFS data on your device (via its CLI) or it can be embedded as a library to add GTFS routing to existing navigation apps.
      • Transitous - Community-run free and open public transport routing service.
  • Resources

  • Sharing Data

    • Software for Creating APIs

      • Bus Observatory API - Public archive of real-time data on vehicle movements and status, collected from transit systems around the world.
      • Navitia.io - REST API for journey planning, stop schedules, isochrones and lot more on US and EU. [Navitia](https://github.com/hove-io/navitia) is the opensource engine behind the live API.
      • TripGo API - REST API for multi-modal journey planning and real-time data by [SkedGo](https://skedgo.com).
      • NextBus API - REST API for real-time vehicle, route, stop, and arrival data for agencies that have puchased NextBus's hardware and/or software.
      • OpenStreetMap (OSM) - The collaborative platform for mapping the world, including transport, transit, and routing data.
      • Transitland - Community editable list of many transit agency GTFS datasets. Also provides an API to access the data as JSON/GeoJSON and a playground to try out the data.
      • TripGo API - REST API for multi-modal journey planning and real-time data by [SkedGo](https://skedgo.com).
      • GTFS - "bad entities" at the single row level
      • GTFS - validation errors that that involve entities in one or more files
      • GTFS - best practices
      • gtfs-realtime-validator unit tests - Some [GTFS datasets (zip files)](https://github.com/MobilityData/gtfs-realtime-validator/tree/master/gtfs-realtime-validator-lib/src/test/resources) are included and a large number of GTFS RT messages are defined [programmatically in Java](https://github.com/MobilityData/gtfs-realtime-validator/tree/master/gtfs-realtime-validator-lib/src/test/java/edu/usf/cutr/gtfsrtvalidator/lib/test/rules) via the gtfs-realtime-bindings library.