Unofficial API to retrieve STCP information for public transit buses in Porto, Portugal
Project description
STCP API
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.
Available operations
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). |
Utilities
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. |
Notes
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.