Ein Einblick in das „DB Timetable API“ PyPi-Paket

Als Entwickler und Bahnenthusiast habe ich stets nach M├Âglichkeiten gesucht, einfach und effizient auf die Fahrplandaten der Deutschen Bahn zuzugreifen. Dies f├╝hrte zur Entwicklung des „DB Timetable API“ PyPi-Pakets. In diesem Blogbeitrag m├Âchte ich Euch mein Paket vorstellen. F├╝r alle Code-Interessierten: Der vollst├Ąndige Code meines Projekts ist auf Github f├╝r jeden zug├Ąnglich und einsehbar.

Installation

Die Installation meines Pakets ist kinderleicht. F├╝r Windows:

  pip install db-timetable-api

Und f├╝r Unix:

  pip3 install db-timetable-api

Nach der Installation k├Ânnt Ihr direkt loslegen und das Paket in Euren Projekten nutzen.

Anwendung und Beispiele

Nach der Installation ist es wichtig, das Paket in Euer Projekt zu importieren und den API-Schl├╝ssel anzugeben. F├╝r den Fall, dass Ihr noch keinen API-Schl├╝ssel besitzt m├╝sst ihr euch auf developers.deutschebahn.com registrieren. Nach der Registrierung erstellt Ihr eine Anwendung und meldet Euch f├╝r die kostenlose Timetables API an.

Startet mit dem Import des Packages und der Definierung der Klasse inklusive der API-Keys

from db_timetable_api import timetable

db = timetable.timetable_api(clientid=<EURE_CLIENT_ID>, clientsecret=<EURE_CLIENT_SECRET>)

Informationen ├╝ber die Station abrufen

Mit Hilfe dieser Funktion k├Ânnt ihr leicht Informationen zu einer beliebigen Station erhalten:

db.get_station("Berlin Hbf")

Unter anderem erhaltet ihr hier die EVA-ID eines Bahnhofes, welche f├╝r sp├Ątere API Anfragen wichtig wird.

Zeitplan f├╝r eine bestimmte Stunde abrufen

Gebt zum Abrufen des Soll-Fahrplans einfach die EVA-ID, das Datum und die Uhrzeit ein:

db.get_timetable("8011160", "2023-10-31", "12")

Hiermit erhaltet Ihr alle geplanten An- und Abfahrten f├╝r die angegebene Stunde am angegebenen Bahnhof

Änderungen für eine Station abrufen

Versp├Ątungen und Gleis├Ąnderungen kommen vor. Daher sollte man auch diese leicht abrufen k├Ânnen. Mit get_changes seht Ihr alle ├änderungen f├╝r eine Station:

db.get_changes("8011160")

Und wer nur die neuesten Fahrplan├Ąnderungen checken m├Âchte, kann die get_recent_changes-Methode nutzen:

db.get_recent_changes("8011160")

Weitere Dokumentation und den Quellcode von dem Projekt findet ihr nat├╝rlich auf Github

Nach oben scrollen