How hytangs/vigo-py works
VIGO Python is a wrapper for building and querying transport City models through a compatible VIGO Engine runtime. The principal workflow is GTFS and OSM inputs → City build/open → Route, Matrix, or Reach queries → Results that can be interpreted, exported, or compared. Scenarios provide optional planned-service inputs for Reach; supplied traffic supports Drive Route/Matrix. The sampled code shows runtime selection and resident Route execution; other query paths and result behavior are represented only where documented. Core behavior is concentrated in vigo/model.py and vigo/runtime.py.
Main entry points: __init__.py VIGO API · model.py Build City · runtime.py Runtime selection · progress.py Build progress
Components 17
City lifecycle
- VIGO API
vigo/__init__.py - Build City
vigo/model.py - City model
vigo/model.py - City directory
Queries and results
- Scenario
vigo/model.py - Route query
vigo/model.py - Matrix query
vigo/model.py - Reach query
vigo/model.py - Result
vigo/model.py - Compare results
vigo/model.py
Runtime execution
- Runtime selection
vigo/runtime.py - VIGO Engine
- Route stream
vigo/model.py - Build progress
vigo/progress.py
Other components
- Python caller
- GTFS data
- OSM data
Connections 28
- Python caller → VIGO API: calls
- VIGO API → Build City: exposes
- VIGO API → City model: exposes
- VIGO API → Route query: exposes
- VIGO API → Matrix query: exposes
- VIGO API → Reach query: exposes
- VIGO API → Scenario: exposes
- VIGO API → Compare results: exposes
- Build City → GTFS data: reads
- Build City → OSM data: reads
- Build City → Runtime selection: resolves runtime
- Build City → VIGO Engine: invokes build
- Build City → City directory: creates
- Build City → City model: opens
- City model → City directory: opens
- City model → Runtime selection: resolves runtime
- Runtime selection → VIGO Engine: checks capabilities
- City model → Route stream: uses resident route
- Route stream → VIGO Engine: sends requests
- City model → VIGO Engine: runs queries
- City model → Result: returns query result
- Scenario → Reach query: supports planned service
- Route query → Result: produces
- Matrix query → Result: produces
- Reach query → Result: produces
- Compare results → Result: compares
- Result → Python caller: returns
- Build City → Build progress: reports progress