{"id":17540154,"url":"https://github.com/kiliankoe/dvb","last_synced_at":"2025-04-23T22:27:06.082Z","repository":{"id":56907984,"uuid":"58228041","full_name":"kiliankoe/DVB","owner":"kiliankoe","description":"🚆 Query Dresden's public transport system for current bus- and tramstop data in swift","archived":false,"fork":false,"pushed_at":"2020-06-04T20:10:15.000Z","size":1571,"stargazers_count":22,"open_issues_count":5,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-24T19:40:58.693Z","etag":null,"topics":["dresden","dvb","public-transportation","vvo"],"latest_commit_sha":null,"homepage":"https://kiliankoe.github.io/DVB","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiliankoe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-06T18:46:22.000Z","updated_at":"2023-10-23T09:49:08.000Z","dependencies_parsed_at":"2022-08-20T19:50:29.077Z","dependency_job_id":null,"html_url":"https://github.com/kiliankoe/DVB","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiliankoe%2FDVB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiliankoe%2FDVB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiliankoe%2FDVB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiliankoe%2FDVB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiliankoe","download_url":"https://codeload.github.com/kiliankoe/DVB/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250525382,"owners_count":21445053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dresden","dvb","public-transportation","vvo"],"created_at":"2024-10-20T22:08:33.070Z","updated_at":"2025-04-23T22:27:06.065Z","avatar_url":"https://github.com/kiliankoe.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚆DVB\n\n[![Travis](https://img.shields.io/travis/kiliankoe/DVB.svg)](https://travis-ci.org/kiliankoe/DVB)\n[![Version](https://img.shields.io/cocoapods/v/DVB.svg)](http://cocoapods.org/pods/DVB)\n[![Platform](https://img.shields.io/cocoapods/p/DVB.svg)](http://cocoapods.org/pods/DVB)\n[![Docs](./docs/badge.svg)](https://kiliankoe.github.io/DVB)\n\nThis is an unofficial Swift package giving you a few options to query Dresden's public transport system for current bus- and tramstop data.\n\nWant something like this for another language, look [no further](https://github.com/kiliankoe/vvo#libraries) 🙂\n\n## Example\n\nHave a look at the [example iOS app](https://github.com/kiliankoe/DVBExample).\n\n## Installation\n\nDVB is available through Cocoapods, Carthage/Punic and Swift Package Manager, whatever floats your boat.\n\n```swift\n// Cocoapods\npod 'DVB'\n\n// Carthage\ngithub \"kiliankoe/DVB\"\n\n// Swift Package Manager\n.package(url: \"https://github.com/kiliankoe/DVB\", from: \"latest_version\")\n```\n\n\n## Quick Start\n\nBe sure to check the [docs](http://cocoadocs.org/docsets/DVB) for more detailed information on how to use this library, but here are some quick examples for getting started right away.\n\n***Caveat***: Stops are always represented by their ID. You can get a stop's ID via `Stop.find()`. Some of the methods listed below offer convenience overloads, which are listed here since they look nicer. The downside to these is that they have to send of a find request for every stop first resulting in a significant overhead. Should you already have a stop's ID at hand I **strongly** suggest you use that instead.\n\n### Monitor a single stop\n\nMonitor a single stop to see every bus, tram or whatever leaving this stop. The necessary stop id can be found by using the `find()` function.\n\n```swift\n// See caveat above\nDeparture.monitor(stopWithName: \"Postplatz\") { result in\n    guard let response = result.success else { return }\n    print(response.departures)\n}\n```\n\n### Find a specific stop\n\nSay you're looking for \"Helmholtzstraße\". You can use the following to find a list of matches.\n\n```swift\nStop.find(\"Helmholtzstraße\") { result in\n    guard let response = result.success else { return }\n    print(response.stops)\n}\n```\n\nYou can also get a list of stops around a given coordinate.\n\n```swift\nlet coordinate = CLLocationCoordinate2D(latitude: 51.063080, longitude: 13.736835)\nStop.findNear(coordinate) { result in\n    guard let response = result.success else { return }\n    print(response.stops)\n}\n```\n\n### Find a route from A to B\n\nWant to go somewhere?\n\n```swift\n// See caveat above\nTrip.find(from: \"Albertplatz\", to: \"Hauptbahnhof\") { result in\n    guard let response = result.success else { return }\n    print(response.routes)\n}\n```\n\n### Look up current route changes\n\nWant to see if your favorite lines are currently being re-routed due to construction or some other reason? Check the published list of route changes.\n\n```swift\nRouteChange.get { result in\n    guard let response = result.success else { return }\n    print(response.lines)\n    print(response.changes)\n}\n```\n\n### Lines running at a specific stop\n\nLooking to find which lines service a specific stop? There's a func for that.\n\n```swift\n// See caveat above\nLine.get(forStopName: \"Postplatz\") { result in\n    guard let response = result.success else { return }\n    print(response.lines)\n}\n```\n\n## Authors\n\nKilian Koeltzsch, [@kiliankoe](https://github.com/kiliankoe)\n\nMax Kattner, [@maxkattner](https://github.com/maxkattner)\n\n## License\n\nDVB is available under the MIT license. See the LICENSE file for more info.\n\n## Terms of Service\n\nPlease refer to the [VVO Terms of Service](https://www.vvo-online.de/de/service/widgets/nutzungsbedingungen-1671.cshtml) regarding their widget. Take particular care not to use this library to hammer their servers through too many requests to their graciously-provided API.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiliankoe%2Fdvb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiliankoe%2Fdvb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiliankoe%2Fdvb/lists"}