A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

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-transportation mobility-as-a-service gtfs-flex gtfs-realtime transportation bike-share mobility transit-data bikesharing carshare

Last synced: about 11 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.

Performance Test

📊 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.

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.

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 Q3 2020, it has been in
development for over ten years. See the main documentation for an overview
of OTP history and a list
of cities and regions using OTP around
the world.

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: 3 days ago

Total Commits: 22,890
Total Committers: 248
Avg Commits per committer: 92.298
Development Distribution Score (DDS): 0.817

Commits in past year: 3,016
Committers in past year: 38
Avg Commits per committer in past year: 79.368
Development Distribution Score (DDS) in past year: 0.659

Name Email Commits
Leonard Ehrenfried m****l@l****o 4199
Thomas Gran t****n@g****m 2900
Andrew Byrd a****w@f****t 2807
Hannes Junnila h****a@g****m 1245
novalis n****s@o****g 1042
Joel Lappalainen l****8@g****m 896
Gard Mellemstrand g****d@e****g 699
OTP Changelog Bot c****t@o****g 691
Laurent Grégoire l****e@g****m 638
David Turner n****s@n****g 584
Matthew Wigginton Conway m****t@i****g 445
Vesa Meskanen v****n@c****m 428
renovate[bot] 2****] 426
Vincent Paturet v****t@e****g 418
Zsombor Welker z****r@r****o 357
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
David Emory d****y@c****m 202
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
OTP Serialization Version Bot s****t@o****g 155
Viljami Nurminen v****n@c****m 135
Matt Conway m****y@g****m 131
Tom Erik Støwer t****r@g****m 125
Brian Ferris b****s@o****g 114
sharhio s****o@c****m 113
and 218 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 328
Total pull requests: 781
Average time to close issues: 6 months
Average time to close pull requests: 15 days
Total issue authors: 82
Total pull request authors: 54
Average comments per issue: 3.66
Average comments per pull request: 2.78
Merged pull request: 575
Bot issues: 1
Bot pull requests: 196

Past year issues: 221
Past year pull requests: 628
Past year average time to close issues: 2 months
Past year average time to close pull requests: 9 days
Past year issue authors: 52
Past year pull request authors: 39
Past year average comments per issue: 2.3
Past year average comments per pull request: 2.61
Past year merged pull request: 459
Past year bot issues: 0
Past year bot pull requests: 177

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

Top Issue Authors

  • miklcct (75)
  • leonardehrenfried (35)
  • t2gran (27)
  • vpaturet (20)
  • BredeD (20)
  • optionsome (11)
  • vesameskanen (8)
  • andtry (8)
  • habrahamsson-skanetrafiken (7)
  • VillePihlava (7)
  • hbruch (5)
  • lassetyr (5)
  • ndoo (4)
  • ctriley (4)
  • Arilith (4)

Top Pull Request Authors

  • renovate[bot] (196)
  • leonardehrenfried (169)
  • t2gran (68)
  • vpaturet (48)
  • optionsome (47)
  • miklcct (36)
  • habrahamsson-skanetrafiken (22)
  • flaktack (20)
  • eibakke (19)
  • tkalvas (19)
  • vesameskanen (17)
  • VillePihlava (16)
  • mattwigway (13)
  • testower (13)
  • abyrd (6)

Top Issue Labels

  • Stale (95)
  • Entur (37)
  • New Feature (34)
  • Roadmap (27)
  • Bug (27)
  • bug (15)
  • Improvement (15)
  • Technical Debt (13)
  • Skanetrafiken (9)
  • new feature (9)
  • IBI (8)
  • routeRank (8)
  • NeTEx (6)
  • TriMet (5)
  • HSL (5)
  • Regression (5)
  • Real-Time Update (4)
  • OTP Debug UI (4)
  • NVBW (4)
  • RealTimeUpdate (3)
  • improvement (3)
  • GTFS (3)
  • Sandbox (2)
  • New GraphQL API (1)
  • HBT (1)
  • WhereIsMyTransport (1)
  • documentation (1)
  • Digitransit test (1)
  • sandbox (1)
  • optimization (1)

Top Pull Request Labels

  • Skip Changelog (352)
  • skip changelog (91)
  • Technical Debt (88)
  • Improvement (85)
  • Bug (63)
  • bump serialization id (54)
  • Entur Test (38)
  • technical debt (31)
  • Documentation (29)
  • Sandbox (28)
  • Real-Time Update (26)
  • IBI (25)
  • improvement (22)
  • OTP Debug UI (21)
  • New Feature (18)
  • RealTimeUpdate (17)
  • GTFS (16)
  • bug (15)
  • sandbox (13)
  • new feature (13)
  • Entur test (12)
  • Config Change (11)
  • documentation (9)
  • config change (8)
  • NeTEx (6)
  • Skanetrafiken (6)
  • Digitransit Test (6)
  • Developer Decision Record (5)
  • Optimization (5)
  • Regression (4)

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 7 months ago)
  • Last Synced: 2025-04-25T14:40:22.108Z (1 day 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%

Dependencies

.github/workflows/cibuild.yml actions
  • actions/checkout v3.3.0 composite
  • actions/checkout v3 composite
  • actions/checkout v3.1.0 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.02951964399259