Kleines Python-Setup, um die travelynx API aufzurufen und Rohdaten als JSON abzulegen. Startpunkt ist der Status-Endpunkt; weitere Endpunkte (checkin/checkout/import) sind vorbereitet.
- Repository-Verzeichnis:
~/codex-projekt/travelynx-analytics - Optional: virtuelles Env anlegen
cd ~/codex-projekt/travelynx-analytics python3 -m venv .venv source .venv/bin/activate
- API-Token setzen:
.envanlegen auf Basis von.env.example:Hinweis: travelynx vergibt getrennte Tokens für Status/Travel/Import. Je nach Aktion den passenden Token perTRAVELYNX_TOKEN=dein-status-token TRAVELYNX_TRAVEL_TOKEN=dein-travel-token TRAVELYNX_IMPORT_TOKEN=dein-import-token--tokenübergeben oder die Variable in.envanpassen. Alternativ kannst du den Token als Environment-Variable setzen.
Status abfragen und als JSON speichern:
python main.py status --output data/status.jsonNur auf der Konsole ausgeben:
python main.py statusFalls dein System-Zertifikatsspeicher das SSL-Zertifikat nicht kennt, kannst du temporär die Prüfung abschalten (nicht empfohlen):
python main.py --insecure statusWeitere Aktionen (checkin/checkout/import) können über python main.py --help eingesehen werden. Für Analysen kannst du die gespeicherten JSON-Dateien weiterverarbeiten (z.B. mit Pandas oder einem kleinen Notebook).
Erwarte eine JSON-Liste deiner Fahrten unter data/trips.json (z.B. Export aus travelynx). Dann:
python analysis.py --file data/trips.jsonBericht liefert häufigste Strecken/Linien und aufsummierte Verspätungen.
PNG-Plots erzeugen (Top Strecken, Linien, Verspätung nach Strecke):
python plots.py --file data/trips.json --outdir data/plotsStandard-Eingabe ist data/export.json falls du sie direkt dort ablegst.
Interaktive Oberfläche starten:
pip install -r requirements.txt # einmalig
streamlit run app.pyIm UI kannst du einen Export hochladen oder den Pfad setzen (Standard: data/export.json). Anzeige von Top-Strecken/Linien, Verspätungen, Tabelle, Charts und CSV-Download. Bei Schema-Änderungen bekommst du eine Fehlermeldung.
Es gibt auch eine Karte, die häufig befahrene Strecken dicker/dunkler visualisiert (nutzt die im Export enthaltenen Koordinaten). Falls du einen Mapbox-Token hast, setze MAPBOX_API_KEY; sonst wird OSM als Fallback verwendet.
Hinweis: OSRM-Routing wird nur für Busse genutzt (Züge bleiben als Gerade Start→Ziel, solange keine Polylines im Export sind).
Optionaler Layer: OpenRailwayMap-Kacheln (tile.openrailwaymap.org) für die Schienennetze. Attribution: Daten © OpenStreetMap-Mitwirkende, Service/Style: OpenRailwayMap.
Kurzfassung zum Durchklicken:
cd ~/codex-projekt/travelynx-analyticspython3 -m pip install -r requirements.txtstreamlit run app.py
This repository may include code/assets based on third-party sources. If you are a rights holder and want proper attribution or removal, please contact: https://github.com/HariHvc6090