Skip to main content

A small package to work with the Deutsche Bahn timetables api

Project description

Deutsche Bahn Api

This is a small Python package to access the Deutsche Bahn timetables api. The timetable api is able to request the timetable of a specific station and access all dynamic changes on the timetable e.g. changed departure or arrival of the train, changed platform of arrival or a changed path of the train.

Setup

ApiAuthentication

Create a new ApiAuthentication class and pass to it the newly created client id and client secret. And test with the api.test_credentials() function if the api authentication works.

api_authentication = ApiAuthentication("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
success: bool = api.test_credentials()

Stations

To get the timetable of a specific train station you can use the name or lat and long values.

station_helper = StationHelper()
found_stations = station_helper.find_stations_by_lat_long(47.996713, 7.842174, 10)
found_stations_by_name = station_helper.find_stations_by_name("Freiburg")

Timetable

With the station object you are able to request the timetable from the station using the following code.

timetable_helper = TimetableHelper(station_helper, api_authentication)
trains_in_this_hour = timetable_helper.get_timetable()
trains_at_given_hour = timetable_helper.get_timetable(12)
trains_at_given_hour_tomorrow = timetable_helper.get_timetable(12, datetime.now() + timedelta(days=1)) # It's also possible to request the next day

This method returns you a list with all trains that are scheduled for departure at this station in the current hour. You can also pass the get_timetable() function the hour you want to request. Important this list don't contains delays, platform changes or changed stations. This can be achieved by using the get_timetable_changes() function and passing the list from the previous step.

trains_with_changes = timetable_helper.get_timetable_changes(trains)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deutsche_bahn_api-1.1.0.tar.gz (263.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deutsche_bahn_api-1.1.0-py3-none-any.whl (280.4 kB view details)

Uploaded Python 3

File details

Details for the file deutsche_bahn_api-1.1.0.tar.gz.

File metadata

  • Download URL: deutsche_bahn_api-1.1.0.tar.gz
  • Upload date:
  • Size: 263.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for deutsche_bahn_api-1.1.0.tar.gz
Algorithm Hash digest
SHA256 34372193d2b105dcc97ba13384031ea2aacd27728a9c006170a6d5a6d136aa99
MD5 f3b9ea1b521b07e51415d79998317ca1
BLAKE2b-256 59a87cf0b1e0bdab5d9831582d2732542a6c0307f1577c796d45a7971e2c355d

See more details on using hashes here.

File details

Details for the file deutsche_bahn_api-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for deutsche_bahn_api-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cad2f59e2731d7a363e92990afdc545e87bdbfb50197664f372aba9645b04ad7
MD5 0f52eebebe164524a0990f0c44ff3c53
BLAKE2b-256 44ceb0da683935429cb683b4351fa5302fc0aa31bd0b69f1e39d0e0b04bcba35

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page