Unofficial API to retrieve STCP information for public transit buses in Porto, Portugal.
Retrieves static data about lines, stops, locations, and real-time estimates of bus arrivals.
Since it's based on a non-official API, it may stop working in the future. Confirmed working as of 24 February 2024.
See the files at stcp/api.py and stcp/util.py for the complete documentation, and examples.md for usage examples.
Function | Description |
---|---|
get_lines | gets a list of all STCP lines. |
get_line_directions | gets a list of directions (usually 2) of a line. |
get_line_stops | gets a list of all stops of a line. |
get_stop_data | gets information about a stop, including a list of all the lines that pass through it. |
get_stop_real_times | gets a real-time list of buses passing through a stop soon (up to one hour from the current time). |
Function | Description |
---|---|
get_all_stops | gets a set of all STCP stop codes across all lines. |
stop_departures | gets a map of upcoming departures of a stop, grouped by line. |
follow_line | gets the current times for a given line. |
To be able to get a stop's real-time departures, a "hash" is needed, which can be obtained by scraping STCP's webpage.
These hashes are stored in a local CSV cache for efficiency purposes, which is generated on the first execution.
However, the cache can be disabled, and the hash request can be made on-the-fly, by passing use_hash_cache=False
to
the get_stop_real_times function.