SWU API
Python libary for the use of the public transport and carsharing API of the Stadtwerke Ulm / Neu-Ulm (SWU) more easily.
Details and documentation of the API can be found on their website: https://api.swu.de/mobility/.
SWU provides the data free of charge under CC-0-license.
Principle of using API requests: As much as necessary and as little as possible.
Table of Contents
Install
For installation use Pypi:
pip install swu_api
or pip3 install swu_api
Structure
The libary is divided into two components. One part deals with the request of the basedata and livedata (swu_functions.py). The other part (swu_helper.py) provides help functions to support requests.
The swu_helper is able to request data that changes infrequently (basedata) at a predefined interval and store it in a buffer. This reduces the number of queries.
With the help of swu_demo_data you can download examples of the API data and save them to a json file.
Usage
Short example are listed below. Details are listed in the notebook example_carsharing and example_public_transport.
example for helper functions
public transport
Get information about public transport.
from swu_api.swu_helper import swu_api_pt_helper
swu_pt_helper = swu_api_pt_helper(use_buffer=True)
station_info = swu_pt_helper.get_station_info(serach_parameter='StopName', serach_term='Justizgebäude')
vehicle_info = swu_pt_helper.get_vehicle_info(vehiclenumber=42)
route_direction = swu_pt_helper.get_route_direction(routenumber=1)
get_route = swu_pt_helper.get_route(routenumber=1, direction=1)
carsharing
Get information about carsharing.
from swu_api.swu_helper import swu_api_cs_helper
swu_cs_helper = swu_api_cs_helper(use_buffer=True)
station_details = swu_cs_helper.get_station_details(station_id='5162')
example for basic API request
Basic data of the SWU API.
from swu_api.swu_fuctions import swu_pt_functions
swu_func = swu_pt_functions()
route_data = swu_func.base_route(routenumber=1, contentscope='basic')
vehicle_trip = swu_func.live_vehicle_trip(vehiclenumber=42)
save API examples
Save output of the API to a json file for further analyse.
from swu_api.swu_demo_data import api_to_json
swu_demo = api_to_json(save_filter='all', folderpath='C:/Users/Default/Desktop/swu_data')
Release Notes
0.1
0.1.1
MIT License Copyright (c) 2021 Cedric Klimt
API-data provided by SWU verkehrstechnik@swu.de