Fully object-oriented library to integrate the VVS API into your project.
Python 3.6 or higher required
pip install vvspy
- Detect delay in upcoming departures:
from vvspy import get_departures
deps = get_departures("5006115", limit=3) # Stuttgart main station
for dep in deps:
if dep.delay > 0:
print("Alarm! Delay detected.")
print(dep) # [Delayed] [11:47] [RB17]: Stuttgart Hauptbahnhof (oben) - Pforzheim Hauptbahnhof
else:
print("Train on time")
print(dep) # [11:47] [RB17]: Stuttgart Hauptbahnhof (oben) - Pforzheim Hauptbahnhof
- Get complete trip info between two stations (including interchanges):
from vvspy import get_trip # also usable: get_trips
trip = get_trip("5000355", "5005600") # Stuttgart main station
print(f"Duration: {trip.duration / 60} minutes")
for connection in trip.connections:
print(f"From: {connection.origin.name} - To: {connection.destination.name}")
# Output:
Duration: 58 minutes
From: Wallgraben - To: Hauptbf (A.-Klett-Pl.)
From: Hauptbf (Arnulf-Klett-Platz) - To: Stuttgart Hauptbahnhof (tief)
From: Stuttgart Hauptbahnhof (tief) - To: Marbach (N)
From: Marbach (N) Bf - To: Murr Hardtlinde
- Filter for specific lines:
from vvspy import get_departures
deps = get_departures("5006118") # Stuttgart main station (lower)
for dep in deps:
if dep.serving_line.symbol == "S4":
print(f"Departure of S4 at {dep.real_datetime}")
-
full customizable requests and parameters
-
parsing all available info into result obj
-
Well tested and maintained
-
Departures, Arrivals, Trips, Station info, Upcoming events, Maintenance work
-
See issues/projects on GitHub for upcoming features
- vvs_direct_connect is a dockerized REST service providing departure data by @aschuma.
This project is licensed under MIT.