A Swift library for querying real-time and static data from public transport providers across multiple regions.
TripKit is a Swift library that allows developers to query data from public transport providers, such as schedules, departures, and trip planning. It serves as a Swift port of the Java-based public-transport-enabler with enhancements, enabling integration of transit information into Apple ecosystem apps. The library solves the problem of fragmented transit APIs by offering a unified interface to multiple providers.
iOS, watchOS, tvOS, and macOS developers building public transportation apps, navigation tools, or mobility solutions that require real-time transit data.
Developers choose TripKit for its modern Swift implementation, async/await support, and compatibility with HAFAS-based systems, reducing the complexity of integrating diverse transit APIs. It is actively used in production apps like ÖPNV Navigator, ensuring reliability and practical validation.
Swift library for querying data from public transport providers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports async/await for non-blocking network requests, leveraging Swift 5.0's modern features as shown in the example usage with await calls.
Provides a unified interface to query schedules and departures from various transit providers, with a coverage list available online, simplifying data aggregation.
Based on the established public-transport-enabler Java library, ensuring reliability and maintainability with HAFAS-based transit systems as stated in the philosophy.
Actively used in the ÖPNV Navigator app on the iOS App Store, demonstrating real-world reliability and practical testing.
Primarily targets German-speaking regions with uncertain future expansion, as noted in the contributing section, making it unsuitable for global apps without modifications.
Requires developers to obtain and manage API keys or secrets for certain providers independently, adding setup complexity as highlighted in the README's secrets.json requirement.
Offers only data APIs without pre-styled components, forcing teams to build their own user interface from scratch for transit displays.