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
- Host: GitHub
- URL: https://github.com/opentripplanner/opentripplanner
- Owner: opentripplanner
- License: other
- Created: 2011-07-18T16:15:38.000Z (almost 14 years ago)
- Default Branch: dev-2.x
- Last Pushed: 2025-04-22T15:41:31.000Z (4 days ago)
- Last Synced: 2025-04-23T20:56:23.325Z (3 days ago)
- Language: Java
- Homepage: http://www.opentripplanner.org
- Size: 194 MB
- Stars: 2,325
- Watchers: 146
- Forks: 1,057
- Open Issues: 154
- Releases: 9
-
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.
Performance Test
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
- 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: 105
- Commit comment event: 1
- Release event: 1
- Issues event: 201
- Watch event: 141
- Delete event: 103
- Issue comment event: 1274
- Push event: 569
- Pull request review comment event: 1322
- Pull request event: 633
- Pull request review event: 1913
- Fork event: 36
Last Year
- Create event: 105
- Commit comment event: 1
- Release event: 1
- Issues event: 201
- Watch event: 141
- Delete event: 103
- Issue comment event: 1274
- Push event: 569
- Pull request review comment event: 1322
- Pull request event: 633
- Pull request review event: 1913
- Fork event: 36
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 | 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:
- entur.org: 7
- cgi.com: 6
- hbt.de: 5
- fastmail.net: 3
- openplans.org: 3
- opentripplanner.org: 3
- skanetrafiken.se: 3
- iki.fi: 3
- purplescout.se: 3
- kyyti.com: 3
- camsys.com: 3
- goeuropa.eu: 2
- decerno.se: 2
- ibigroup.com: 2
- localhost.localdomain: 2
- ruter.no: 2
- webvalto.hu: 2
- calendar42.com: 2
- rideamigos.com: 2
- conveyal.com: 2
- goabout.com: 2
- allyapp.com: 2
- karreman.org: 1
- dev.opentripplanner.org: 1
- interline.io: 1
- konink.de: 1
- ci.opentripplanner.org: 1
- whereismytransport.com: 1
- unipoltech.it: 1
- west.nl: 1
- ubuntu.com: 1
- raumobil.com: 1
- totenkopf.lv: 1
- equalexperts.com: 1
- ianrees.net: 1
- leonard.io: 1
- novalis.org: 1
- indicatrix.org: 1
- realcity.io: 1
- ridewithvia.com: 1
- nicholasbs.net: 1
- jkoelewijn.nl: 1
- onebusaway.org: 1
- jnction.co.uk: 1
- frankpurcell.com: 1
- hsl.fi: 1
- tri-met.org: 1
- soprasteria.com: 1
- cgi.fi: 1
- capraconsulting.no: 1
- moovitapp.com: 1
- adesso-sweden.se: 1
- markupartist.com: 1
- spaetfruehstuecken.org: 1
- begerad.de: 1
- greenbird.com: 1
- netlight.com: 1
- mail.ru: 1
- routerank.com: 1
- kartoteket.as: 1
- andrey.se: 1
- shuster.house: 1
- sidewalklabs.com: 1
- whizziwig.com: 1
- ytausch.de: 1
- tinet.org: 1
- live.at: 1
- qq.com: 1
- eljakim.nl: 1
- frachet.ca: 1
- mail.com: 1
- modulaweb.fr: 1
- vladvesa.ro: 1
- jetsli.de: 1
- phoops.it: 1
- david.(none): 1
- ddeop.(none): 1
- omnitrans.nl: 1
- analyst.ovh.net: 1
- netfarm.it: 1
- 2xminteractive.com: 1
- shaunmcdonald.me.uk: 1
- foofactory.fi: 1
- mail.utoronto.ca: 1
- door2door.io: 1
- danielheppner.com: 1
- graspit.co.uk: 1
- majki.org: 1
- mfdz.de: 1
- montel.fi: 1
- yahoo.co.uk: 1
- karhm.com: 1
- deskbookers.com: 1
- blablacar.com: 1
- dwld.info: 1
- zonion.org: 1
- mbta.com: 1
- idirect.net: 1
- inetum.world: 1
- giroll.org: 1
- student.tudelft.nl: 1
- geo.uzh.ch: 1
- unwire.com: 1
- cassee.net: 1
- mvanlaar.net: 1
- gmx.de: 1
- thomhubers.nl: 1
- here.com: 1
- pascal-lab.ch: 1
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
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
- Total packages: 3
- Total downloads: unknown
- Total docker downloads: 98
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 8 (may contain duplicates)
- Total versions: 40
proxy.golang.org: github.com/opentripplanner/opentripplanner
- Homepage:
- Documentation: https://pkg.go.dev/github.com/opentripplanner/opentripplanner#section-documentation
- Licenses: other
- Latest release: v2.7.0+incompatible (published about 2 months ago)
- Last Synced: 2025-04-25T14:40:22.528Z (1 day ago)
- Versions: 13
- 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.7.0+incompatible (published about 2 months ago)
- Last Synced: 2025-04-25T14:40:22.699Z (1 day ago)
- Versions: 13
- 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 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
- 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
- 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.02951964399259