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
- Host: GitHub
- URL: https://github.com/opentripplanner/opentripplanner
- Owner: opentripplanner
- License: other
- Created: 2011-07-18T16:15:38.000Z (over 14 years ago)
- Default Branch: dev-2.x
- Last Pushed: 2025-12-13T05:46:02.000Z (13 days ago)
- Last Synced: 2025-12-15T12:06:07.478Z (10 days ago)
- Language: Java
- Homepage: http://www.opentripplanner.org
- Size: 203 MB
- Stars: 2,488
- Watchers: 142
- Forks: 1,090
- Open Issues: 137
- Releases: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
README.md
Overview
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
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
- Name: OpenTripPlanner Project
- Login: opentripplanner
- Email:
- Kind: organization
- Description:
- Website: opentripplanner.org
- Location: worldwide
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/3007066?v=4
- Repositories: 19
- Last ynced at: 2024-03-26T04:32:28.316Z
- Profile URL: https://github.com/opentripplanner
GitHub Events
Total
- Create event: 157
- Commit comment event: 1
- Release event: 2
- Issues event: 289
- Watch event: 203
- Delete event: 145
- Issue comment event: 1687
- Push event: 764
- Pull request review comment event: 1997
- Pull request event: 860
- Pull request review event: 2795
- Fork event: 53
Last Year
- Create event: 157
- Commit comment event: 1
- Release event: 2
- Issues event: 289
- Watch event: 203
- Delete event: 145
- Issue comment event: 1687
- Push event: 764
- Pull request review comment event: 1997
- Pull request event: 860
- Pull request review event: 2795
- Fork event: 53
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 | 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:
- entur.org: 8
- hbt.de: 7
- cgi.com: 6
- skanetrafiken.se: 3
- fastmail.net: 3
- openplans.org: 3
- opentripplanner.org: 3
- camsys.com: 3
- iki.fi: 3
- purplescout.se: 3
- kyyti.com: 3
- calendar42.com: 2
- hsl.fi: 2
- ibigroup.com: 2
- ruter.no: 2
- webvalto.hu: 2
- rideamigos.com: 2
- goeuropa.eu: 2
- allyapp.com: 2
- goabout.com: 2
- conveyal.com: 2
- decerno.se: 2
- localhost.localdomain: 2
- whereismytransport.com: 1
- raumobil.com: 1
- west.nl: 1
- karreman.org: 1
- unipoltech.it: 1
- dev.opentripplanner.org: 1
- totenkopf.lv: 1
- equalexperts.com: 1
- konink.de: 1
- ubuntu.com: 1
- interline.io: 1
- ci.opentripplanner.org: 1
- greenbird.com: 1
- leonard.io: 1
- novalis.org: 1
- indicatrix.org: 1
- realcity.io: 1
- aubin.app: 1
- ridewithvia.com: 1
- nicholasbs.net: 1
- jkoelewijn.nl: 1
- onebusaway.org: 1
- frankpurcell.com: 1
- arcadis.com: 1
- tri-met.org: 1
- soprasteria.com: 1
- cgi.fi: 1
- capraconsulting.no: 1
- danielheppner.com: 1
- moovitapp.com: 1
- adesso-sweden.se: 1
- markupartist.com: 1
- spaetfruehstuecken.org: 1
- begerad.de: 1
- qq.com: 1
- ytausch.de: 1
- shuster.house: 1
- shaunmcdonald.me.uk: 1
- tinet.org: 1
- mail.ru: 1
- pascal-lab.ch: 1
- here.com: 1
- frachet.ca: 1
- mail.com: 1
- modulaweb.fr: 1
- whizziwig.com: 1
- sidewalklabs.com: 1
- routerank.com: 1
- andrey.se: 1
- kartoteket.as: 1
- omnitrans.nl: 1
- analyst.ovh.net: 1
- netfarm.it: 1
- ddeop.(none): 1
- david.(none): 1
- 2xminteractive.com: 1
- jetsli.de: 1
- vladvesa.ro: 1
- phoops.it: 1
- foofactory.fi: 1
- graspit.co.uk: 1
- netlight.com: 1
- mail.utoronto.ca: 1
- door2door.io: 1
- majki.org: 1
- ianrees.net: 1
- mfdz.de: 1
- deskbookers.com: 1
- zonion.org: 1
- mbta.com: 1
- karhm.com: 1
- yahoo.co.uk: 1
- montel.fi: 1
- blablacar.com: 1
- dwld.info: 1
- giroll.org: 1
- inetum.world: 1
- idirect.net: 1
- geo.uzh.ch: 1
- student.tudelft.nl: 1
- gmx.de: 1
- mvanlaar.net: 1
- cassee.net: 1
- unwire.com: 1
- thomhubers.nl: 1
- live.at: 1
- eljakim.nl: 1
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
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
- Total packages: 10
- Total downloads: unknown
- Total docker downloads: 98
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 8 (may contain duplicates)
- Total versions: 64
proxy.golang.org: github.com/opentripplanner/OpenTripPlanner
- Homepage:
- Documentation: https://pkg.go.dev/github.com/opentripplanner/OpenTripPlanner#section-documentation
- Licenses: other
- Latest release: v2.8.1+incompatible (published 3 months ago)
- Last Synced: 2025-12-13T19:09:18.505Z (12 days ago)
- Versions: 15
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.528%
- Average: 6.747%
- Dependent repos count: 6.966%
proxy.golang.org: github.com/opentripplanner/opentripplanner
- Homepage:
- Documentation: https://pkg.go.dev/github.com/opentripplanner/opentripplanner#section-documentation
- Licenses: other
- Latest release: v2.8.1+incompatible (published 3 months ago)
- Last Synced: 2025-12-13T19:09:19.843Z (12 days ago)
- Versions: 15
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.528%
- Average: 6.747%
- Dependent repos count: 6.966%
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
- 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
- actions/stale v6.0.1 composite
- actions/checkout v3.1.0 composite
- actions/setup-java v3 composite
- actions/upload-artifact v3 composite
- stCarolas/setup-maven v.4.5 composite
- actions/checkout v3.1.0 composite
- 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
- @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
- 439 dependencies
- mkdocs ==1.5.2
- mkdocs-material ==9.1.17
- mkdocs-no-sitemap-plugin ==0.0.1
Score: 18.106706029545663