OpenTripPlanner

An open source multi-modal trip planner, focusing on travel by scheduled public transportation in combination with bicycling, walking, and mobility services including bike share and ride hailing.
https://github.com/opentripplanner/opentripplanner

Category: Consumption
Sub Category: Mobility and Transportation

Keywords from Contributors

public-transport mobility-as-a-service gtfs-flex gtfs-realtime bike-sharing transportation transit-data mobility carshare bikeshare

Last synced: about 22 hours ago
JSON representation

Repository metadata

An open source multi-modal trip planner

README.md

Overview

Join the chat at https://gitter.im/opentripplanner/OpenTripPLanner
Matrix
codecov
Commit activity
Docker Pulls

OpenTripPlanner (OTP) is an open source multi-modal trip planner, focusing on travel by scheduled
public transportation in combination with bicycling, walking, and mobility services including bike
share and ride hailing. Its server component runs on any platform with a Java virtual machine (
including Linux, Mac, and Windows). It exposes GraphQL APIs that can be accessed by various
clients including open source Javascript components and native mobile applications. It builds its
representation of the transportation network from open data in open standard file formats (primarily
GTFS and OpenStreetMap). It applies real-time updates and alerts with immediate visibility to
clients, finding itineraries that account for disruptions and service changes.

Note that this branch contains OpenTripPlanner 2, the second major version of OTP, which has
been under development since 2018 and is now the dominant one and the only one being supported.

Development

OpenTripPlanner is a collaborative project incorporating code, translation, and documentation from
contributors around the world. We welcome new contributions.
Further development guidelines can be
found in the documentation.

Contributing Guidelines

See CONTRIBUTING.md

Development History

The OpenTripPlanner project was launched by Portland, Oregon's transport agency
TriMet (http://trimet.org/) in July of 2009. As of this writing in September 2025, it has been in
development for over 16 years. See the main documentation for an overview
of OTP history and a list
of cities and regions using OTP around
the world.

Measuring OTP Performance

📊 Dashboard

We run a speed test (included in the code) to measure the performance for every PR merged into OTP.

More information about how to set up and run it.

Repository Layout

The main Java server code is in application/src/main/. OTP also includes a Javascript client
based on the MapLibre mapping library in client/src/. This client is now used for testing, with
most major deployments building custom clients from reusable components. The Maven build produces a
unified ("shaded") JAR file at otp-shaded/target/otp-shaded-VERSION.jar containing all necessary
code and dependencies to run OpenTripPlanner.

Additional information and instructions are available in
the main documentation, including a
quick introduction.

Getting in Touch

The fastest way to get help is to use our Gitter chat room where most of the core developers
are. Bug reports may be filed via the Github issue tracker. The OpenTripPlanner mailing list
is used almost exclusively for project announcements. The mailing list and issue tracker are not
intended for support questions or discussions. Please use the chat for this purpose. Other details
of project governance can be found in the main documentation.

OTP Ecosystem

  • awesome-transit Community list of transit APIs,
    apps, datasets, research, and software.

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 11 days ago

Total Commits: 25,260
Total Committers: 253
Avg Commits per committer: 99.842
Development Distribution Score (DDS): 0.804

Commits in past year: 3,378
Committers in past year: 36
Avg Commits per committer in past year: 93.833
Development Distribution Score (DDS) in past year: 0.686

Name Email Commits
Leonard Ehrenfried m****l@l****o 4954
Thomas Gran t****n@g****m 3260
Andrew Byrd a****w@f****t 2808
Hannes Junnila h****a@g****m 1245
novalis n****s@o****g 1042
Joel Lappalainen l****8@g****m 981
OTP Changelog Bot c****t@o****g 797
Gard Mellemstrand g****d@e****g 699
Laurent Grégoire l****e@g****m 638
David Turner n****s@n****g 584
renovate[bot] 2****] 533
Vincent Paturet v****t@e****g 462
Vesa Meskanen v****n@c****m 454
Matthew Wigginton Conway m****t@i****g 445
Zsombor Welker z****r@r****o 380
Michael Tsang m****l@a****p 362
Avi Flamholz f****z@r****m 303
Marko Burjek s****o@g****m 255
Jorden Verwer j****r@g****m 230
Brandon Martin-Anderson b****l@g****m 229
Ville Pihlava v****a@c****m 221
David Emory d****y@c****m 202
Tom Erik Støwer t****r@g****m 192
OTP Serialization Version Bot s****t@o****g 192
Hannes Junnila h****s@k****m 181
David Emory d****y@o****g 180
Nicholas Bergson-Shilcock me@n****t 169
jkoelewijn g****t@j****l 155
Henrik Abrahamsson h****n@d****e 139
Viljami Nurminen v****n@c****m 135
and 223 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 6 days ago

Total issues: 400
Total pull requests: 1,886
Average time to close issues: 5 months
Average time to close pull requests: 23 days
Total issue authors: 104
Total pull request authors: 77
Average comments per issue: 2.49
Average comments per pull request: 2.18
Merged pull request: 1,340
Bot issues: 6
Bot pull requests: 517

Past year issues: 127
Past year pull requests: 784
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 8 days
Past year issue authors: 38
Past year pull request authors: 33
Past year average comments per issue: 1.07
Past year average comments per pull request: 1.84
Past year merged pull request: 515
Past year bot issues: 0
Past year bot pull requests: 228

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/opentripplanner/opentripplanner

Top Issue Authors

  • miklcct (78)
  • t2gran (41)
  • leonardehrenfried (40)
  • vpaturet (25)
  • BredeD (20)
  • optionsome (14)
  • andtry (8)
  • vesameskanen (7)
  • VillePihlava (7)
  • renovate[bot] (6)
  • habrahamsson-skanetrafiken (6)
  • hbruch (6)
  • fpurcell (6)
  • flaktack (5)
  • eibakke (4)

Top Pull Request Authors

  • renovate[bot] (516)
  • leonardehrenfried (407)
  • t2gran (179)
  • vpaturet (102)
  • miklcct (94)
  • optionsome (89)
  • habrahamsson-skanetrafiken (55)
  • flaktack (49)
  • eibakke (37)
  • testower (37)
  • VillePihlava (30)
  • tkalvas (28)
  • vesameskanen (26)
  • gmellemstrand (23)
  • abyrd (15)

Top Issue Labels

  • Stale (88)
  • Entur (35)
  • bug (25)
  • Roadmap (24)
  • new feature (24)
  • Bug (24)
  • New Feature (15)
  • Skanetrafiken (10)
  • HSL (9)
  • IBI (8)
  • technical debt (8)
  • RealTimeUpdate (7)
  • improvement (7)
  • routeRank (7)
  • +Roadmap (6)
  • NeTEx (5)
  • TriMet (5)
  • skip changelog (5)
  • Improvement (5)
  • Regression (5)
  • OTP Debug UI (4)
  • Technical Debt (4)
  • Real-Time Update (4)
  • !Bug (4)
  • NVBW (3)
  • Skip Changelog (3)
  • GTFS (2)
  • documentation (2)
  • Vehicle Rental (2)
  • !New Feature (2)

Top Pull Request Labels

  • Skip Changelog (664)
  • skip changelog (325)
  • Technical Debt (153)
  • Improvement (123)
  • Bug (114)
  • bump serialization id (110)
  • Entur Test (99)
  • technical debt (77)
  • improvement (63)
  • +Skip Changelog (63)
  • Sandbox (61)
  • IBI (53)
  • OTP Debug UI (48)
  • Documentation (44)
  • bug (43)
  • RealTimeUpdate (42)
  • sandbox (42)
  • Real-Time Update (42)
  • New Feature (36)
  • !Improvement (35)
  • Entur test (33)
  • GTFS (32)
  • !Technical Debt (32)
  • documentation (25)
  • !Bug (24)
  • new feature (22)
  • Skanetrafiken (22)
  • config change (18)
  • NeTEx (16)
  • +Bump Serialization Id (16)

Package metadata

proxy.golang.org: github.com/opentripplanner/OpenTripPlanner

proxy.golang.org: github.com/opentripplanner/opentripplanner

repo1.maven.org: org.opentripplanner:otp

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/otp/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.6.0 (published over 1 year ago)
  • Last Synced: 2025-12-13T19:09:17.074Z (12 days ago)
  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 8
  • Docker Downloads: 98
  • Rankings:
    • Docker downloads count: 5.144%
    • Forks count: 5.343%
    • Stargazers count: 8.324%
    • Dependent repos count: 8.616%
    • Average: 15.46%
    • Dependent packages count: 49.872%
repo1.maven.org: org.opentripplanner:gtfs-realtime-protobuf

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/gtfs-realtime-protobuf/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.8.1 (published 3 months ago)
  • Last Synced: 2025-12-13T19:09:17.424Z (12 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 31.969%
    • Average: 38.837%
    • Dependent packages count: 45.705%
repo1.maven.org: org.opentripplanner:otp-root

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/otp-root/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.8.1 (published 3 months ago)
  • Last Synced: 2025-12-13T19:09:17.606Z (12 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 31.969%
    • Average: 38.837%
    • Dependent packages count: 45.705%
repo1.maven.org: org.opentripplanner:otp-shaded

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/otp-shaded/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.8.1 (published 3 months ago)
  • Last Synced: 2025-12-13T19:09:16.857Z (12 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 31.969%
    • Average: 38.837%
    • Dependent packages count: 45.705%
repo1.maven.org: org.opentripplanner:application

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/application/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.8.1 (published 3 months ago)
  • Last Synced: 2025-12-13T19:09:17.123Z (12 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 31.969%
    • Average: 38.837%
    • Dependent packages count: 45.705%
repo1.maven.org: org.opentripplanner:raptor

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/raptor/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.8.1 (published 3 months ago)
  • Last Synced: 2025-12-13T19:09:17.903Z (12 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 31.969%
    • Average: 38.837%
    • Dependent packages count: 45.705%
repo1.maven.org: org.opentripplanner:integration-test

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/integration-test/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.8.1 (published 3 months ago)
  • Last Synced: 2025-12-13T19:09:18.375Z (12 days ago)
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 31.969%
    • Average: 38.837%
    • Dependent packages count: 45.705%
repo1.maven.org: org.opentripplanner:utils

The OpenTripPlanner multimodal journey planning system

  • Homepage: https://opentripplanner.org
  • Documentation: https://appdoc.app/artifact/org.opentripplanner/utils/
  • Licenses: GNU Lesser General Public License
  • Latest release: 2.8.1 (published 3 months ago)
  • Last Synced: 2025-12-13T19:09:18.297Z (12 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 31.969%
    • Average: 38.837%
    • Dependent packages count: 45.705%

Dependencies

.github/workflows/cibuild.yml actions
  • actions/checkout v3.3.0 composite
  • actions/checkout v3.1.0 composite
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • actions/setup-node v3 composite
  • al-cheb/configure-pagefile-action v1.3 composite
  • codecov/codecov-action v3.1.1 composite
.github/workflows/close_stale_pr_and_issues.yml actions
  • actions/stale v6.0.1 composite
.github/workflows/performance-test.yml actions
  • actions/checkout v3.1.0 composite
  • actions/setup-java v3 composite
  • actions/upload-artifact v3 composite
  • stCarolas/setup-maven v.4.5 composite
.github/workflows/post-merge.yml actions
  • actions/checkout v3.1.0 composite
pom.xml maven
  • com.google.cloud:libraries-bom 26.22.0 import
  • ch.poole:OpeningHoursParser 0.27.1
  • ch.qos.logback:logback-classic 1.4.11
  • com.azure.resourcemanager:azure-resourcemanager-servicebus 2.24.0
  • com.azure:azure-core 1.36.0
  • com.azure:azure-messaging-servicebus 7.13.2
  • com.beust:jcommander 1.82
  • com.conveyal:kryo-tools 1.5.0
  • com.fasterxml.jackson.core:jackson-annotations 2.15.2
  • com.fasterxml.jackson.core:jackson-core 2.15.2
  • com.fasterxml.jackson.core:jackson-databind 2.15.2
  • com.fasterxml.jackson.datatype:jackson-datatype-jdk8 2.15.2
  • com.fasterxml.jackson.datatype:jackson-datatype-jsr310 2.15.2
  • com.google.cloud:google-cloud-pubsub
  • com.google.cloud:google-cloud-storage
  • com.google.dagger:dagger 2.48
  • com.google.guava:guava 32.1.2-jre
  • com.google.protobuf:protobuf-java
  • com.googlecode.json-simple:json-simple 1.1.1
  • com.graphql-java:graphql-java 21.1
  • com.graphql-java:graphql-java-extended-scalars 21.0
  • com.microsoft.azure:azure-servicebus 3.6.7
  • de.javakaffee:kryo-serializers 0.45
  • edu.ucar:netcdf4 5.5.3
  • io.github.ci-cmg:mapbox-vector-tile 4.0.6
  • io.micrometer:micrometer-registry-prometheus 1.11.4
  • jakarta.annotation:jakarta.annotation-api
  • jakarta.validation:jakarta.validation-api
  • jakarta.ws.rs:jakarta.ws.rs-api
  • jakarta.xml.bind:jakarta.xml.bind-api 3.0.1
  • net.java.dev.jets3t:jets3t 0.9.4
  • net.logstash.logback:logstash-logback-encoder 7.4
  • net.objecthunter:exp4j 0.4.8
  • net.sourceforge.javacsv:javacsv 2.0
  • org.apache.httpcomponents.client5:httpclient5 5.2.1
  • org.apache.lucene:lucene-core 9.7.0
  • org.apache.lucene:lucene-queryparser 9.7.0
  • org.apache.lucene:lucene-suggest 9.7.0
  • org.asynchttpclient:async-http-client 2.12.3
  • org.eclipse.paho:org.eclipse.paho.client.mqttv3 1.2.5
  • org.entur.gbfs:gbfs-java-model 3.0.9
  • org.entur:netex-java-model 2.0.14
  • org.entur:siri-java-model 1.22
  • org.entur:siri-protobuf-mapper 1.0.3
  • org.geotools:gt-coverage 29.2
  • org.geotools:gt-geojson-core 29.2
  • org.geotools:gt-geotiff 29.2
  • org.geotools:gt-opengis 29.2
  • org.glassfish.jaxb:jaxb-runtime 3.0.2
  • org.glassfish.jersey.containers:jersey-container-grizzly2-http 3.1.3
  • org.glassfish.jersey.core:jersey-server 3.1.3
  • org.glassfish.jersey.inject:jersey-hk2 3.1.3
  • org.glassfish.jersey.media:jersey-media-json-jackson 3.1.3
  • org.onebusaway:onebusaway-gtfs 1.4.5
  • org.openstreetmap.osmosis:osmosis-osm-binary 0.48.3
  • org.processing:core 2.2.1
  • org.slf4j:jul-to-slf4j 2.0.9
  • org.slf4j:slf4j-api 2.0.9
  • com.tngtech.archunit:archunit 1.1.0 test
  • commons-cli:commons-cli 1.5.0 test
  • io.github.origin-energy:java-snapshot-testing-junit5 2.3.0 test
  • io.micrometer:micrometer-registry-influx 1.11.4 test
  • org.apache.commons:commons-compress 1.24.0 test
  • org.junit.jupiter:junit-jupiter-api 5.10.0 test
  • org.junit.jupiter:junit-jupiter-params 5.10.0 test
  • org.mockito:mockito-core 5.5.0 test
src/ext/java/org/opentripplanner/ext/gtfsgraphqlapi/generated/package.json npm
  • @graphql-codegen/add 5.0.0
  • @graphql-codegen/cli 4.0.1
  • @graphql-codegen/java 3.3.6
  • @graphql-codegen/java-resolvers 2.3.6
  • graphql 16.8.1
src/ext/java/org/opentripplanner/ext/gtfsgraphqlapi/generated/yarn.lock npm
  • 439 dependencies
docs/requirements.txt pypi
  • mkdocs ==1.5.2
  • mkdocs-material ==9.1.17
  • mkdocs-no-sitemap-plugin ==0.0.1

Score: 18.106706029545663