API Wrapper for VVS (Verkehrsverbund Stuttgart)
Project description
🚂 VVS API Wrapper
Fully object-oriented library to integrate the VVS API into your project.
Installation
pip install vvspy
Examples
- Detect delay in upcoming departures:
from vvspy import get_departures
from vvspy.enums import Station
deps = get_departures(Station.HAUPTBAHNHOF__TIEF, limit=3)
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
- Detect cancellations in upcoming departures/arrivals:
from vvspy import get_departures
from vvspy.enums import Station
arrivals = get_departures(Station.VAIHINGEN, limit=5)
for arrival in arrivals:
if arrival.cancelled:
print(f"Alarm! The train at {arrival.real_datetime} has been cancelled!")
# Check arrival.stop_infos and arrival.line_infos for more information
- Get complete trip info between two stations (including interchanges):
from vvspy import get_trip # also usable: get_trips
from vvspy.enums import Station
trip = get_trip(Station.HAUPTBAHNHOF__TIEF, Station.HARDTLINDE)
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
from vvspy.enums import Station
deps = get_departures(Station.HAUPTBAHNHOF__TIEF)
for dep in deps:
if dep.serving_line.symbol == "S4":
print(f"Departure of S4 at {dep.real_datetime}")
- Filter for specific platforms:
from vvspy import get_departures
from vvspy.enums import Station
deps = get_departures(Station.HAUPTBAHNHOF__TIEF)
for dep in deps:
if dep.platform == "101":
print(f"Departure of {dep.serving_line.number} to {dep.serving_line.direction} on {dep.platform_name} at {dep.real_datetime}")
Get your station id
See: #64
Logging
vvspy uses the python logging module. If you want to change the log level of vvspy, use the following:
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("vvspy")
logger.setLevel(logging.DEBUG)
⭐️ Project assistance
If you want to say thank you or/and support active development of vvspy
:
- Add a GitHub Star to the project.
- Support me on Ko-fi.
🏆 A win-win cooperation
And now, I invite you to participate in this project! Let's work together to create the most useful tool for all PietSmiet Enjoyers.
- Issues: ask questions and submit your features.
- Pull requests: send your improvements to the current.
- Mail: send your ideas for the project.
- Discord: add me as a friend on Discord: @zaanposni
Together, we can make this project better every day!
👀 Projects using vvspy
- vvs_direct_connect is a dockerized REST service providing departure data by aschuma.
🔥 Other projects of the authors
- discord-masz - MASZ is a selfhostable highly sophisticated moderation bot for Discord. Includes a web dashboard and a discord bot.
⚠️ License
vvspy is free and open-source software licensed under the MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vvspy-2.2.0.tar.gz
.
File metadata
- Download URL: vvspy-2.2.0.tar.gz
- Upload date:
- Size: 256.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c59ece075c6425db107d6f35d20b15f6594e91d72c668dfac1d865e9ac0f393 |
|
MD5 | 04f277dfbea13f0673861126fcbdb0f6 |
|
BLAKE2b-256 | 9e4d2abd9285340945860f194f01f46639ef82d94e54c2131ae58301fb456d4a |
File details
Details for the file vvspy-2.2.0-py3-none-any.whl
.
File metadata
- Download URL: vvspy-2.2.0-py3-none-any.whl
- Upload date:
- Size: 260.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e1ba4ceac753c5fbbdcfee300ebc25d329b351f3577ea64e216cdf285996cf0 |
|
MD5 | 4daf751e9eeb3af5d7b8ffa1bccd251f |
|
BLAKE2b-256 | 2d1658e83cf3ceacee67c4e374f0196e73f3eeaf039ad293687265618b7ac04e |