Warning, /libraries/kpublictransport/README.md is written in an unsupported language. File is not indexed.

0001 # KPublicTransport
0002 
0003 A library for accessing realtime public transport data and for performing
0004 public transport journey queries.
0005 
0006 This includes:
0007 * Finding bus stops or train stations, departures/arrivals from there, and journeys between those.
0008 * Path and routing information for individual transport sections of a journey.
0009 * Information about train coach and train station platform layouts.
0010 * Information about rental vehicle positions and availability, such as shared bikes or scooters.
0011 * Realtime information about the operational status of elevators or escalators.
0012 * Unified access to onboard API on trains for obtaining the current position and journey.
0013 
0014 !! Before using this, please read the license compliance and attribution section below !!
0015 
0016 ## Data Model
0017 
0018 The key elements are:
0019 
0020 * KPublicTransport::Journey (getting from one place to another)
0021 * KPublicTransport::Stopover (departures/arrivals)
0022 * KPublicTransport::Location (a place, stop, or train station, rental vehicle dock, floating rental vehicle, elevator/escalator,
0023 ie. anything that has a geo coordinate associated with it).
0024 
0025 ## Supported Operations
0026 
0027 * Location searches: retrieve stop information based on name or geo coordinates.
0028 * Stopover (arrival/departure) queries: retrieve base schedule and if available realtime information
0029   about upcoming arrivals and departures at a stop.
0030 * Journey queries: obtain ways to get from A to B.
0031 * Vehicle and platform layout queries: information about where coaches stop on a platform,
0032 and how a platform is structured.
0033 
0034 All operations can be started from KPublicTransport::Manager with an API similar to
0035 QNetworkAccessManager.
0036 
0037 Onboard API access is available via the KPublicTransport::OnboardStatus class.
0038 
0039 ## Backends
0040 
0041 All data is retrieved from online backend services, this library is not offline capable.
0042 The following Free Software/Open Data backend types are supported:
0043 * [Navitia](https://navitia.io).
0044 * [OpenTripPlanner](http://opentripplanner.org), in the REST, Digitransit and Entur variants.
0045 * [GBFS](https://github.com/NABSA/gbfs/) feeds for rental vehicles, such as provided by
0046 the [OpenBike](https://github.com/stadtulm/OpenBike/) bike rental system.
0047 * [accessibility.cloud](https://accessibility.cloud/) for realtime elevator/escalator status information.
0048 
0049 Additionally, a few proprietary/vendor-specific backends are supported too though.
0050 
0051 Configurations for about 70 backend services can be found in 'src/lib/networks'.
0052 Backend service configations follow the [Transport API Repository](https://github.com/public-transport/transport-apis/)
0053 format.
0054 
0055 ## License Compliance and Attribution
0056 
0057 When using the data retrieved by this library you need to comply with the license
0058 terms of the backends this is coming from, in particular https://www.navitia.io/api-term-of-use.
0059 
0060 Attribution information that need to be displayed in an appropriate place in the
0061 application using this are provided globally via KPublicTransport::Manager::attributions()
0062 as well as more fine-grained per query reply via KPublicTransport::Reply::attributions().
0063 
0064 Besides attributing backend data correctly, this library also contains static data
0065 retrieved from [Wikidata](https://wikidata.org) licensed as CC0 as well as data
0066 from [OpenStreetMap](https://openstreetmap.org) licensed as ODbL, so those should
0067 be appropriately credited in your application as well.
0068 
0069 ## Development
0070 
0071 Setting the `KPUBLICTRANSPORT_LOG_DIR` environment variable will result in all network operations
0072 being logged there, grouped by backend, and including the full network traffic. This is useful for
0073 example to capture rare scenarios not parsed correctly yet, or for exploring what additional information
0074 is available that KPublicTransport does not expose yet.