Skip to main content

Get transport information from TransportNSW

Project description

TransportNSW

Python lib to access Transport NSW information.

How to Use

Get an API Key

An OpenData account and API key is required to request the data. More information on how to create the free account can be found here: https://opendata.transport.nsw.gov.au/user-guide .

Get the stop and line

The libary will expect at least stop id to request the next leave events. The easieste way to get the ID is using Google Maps and clicking on one of the bus, train or ferry stops. The information pane one the left will show the relevant stop ID.

Another source for the stop ID and line is https://transportnsw.info/stops#/. It provides the option to search for a stop and the corresponding lines leaving from there.

Sample Code

The following example will request the next leave event for the bus route/line 199 from stop ID 209516.

Code:

from TransportNSW import TransportNSW
ptnsw1 = TransportNSW.TransportNSW()
journey = tnsw.get_departures('209516', '199', '', 'YOUR_API_KEY')
print(journey)

Result:

{'stop_id': '209516', 'route': '199', 'due': 4, 'delay': 0, 'real_time': 'n', 'destination': 'Palm Beach'}
  • route: bus, train, ferry number
  • due: minutes till next leave
  • real_time: flag if the leave event has real_time information
  • delay: delay in minutes from the scheduled leave time
  • destination: end point of the route

Leaving the line field empty will return any bus/train/ferry leaving next from a given stop. Code:

journey = tnsw.get_departures('209516', '', '', 'YOUR_API_KEY')

Setting a destination will return all lines going there from the stop_id. Example for ferries leaving Balmain Warf towards Circular Quay Code:

journey = tnsw.get_departures('10102008','','Circular Quay' 'YOUR_API_KEY')

Errors

No leave event with wrong stop ID or not matching route.

{'stop_id': 'n/a', 'route': 'n/a', 'due': 'n/a', 'delay': 'n/a', 'real_time': 'n/a', destination: 'n/a'}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyTransportNSW-0.1.1.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

PyTransportNSW-0.1.1-py3-none-any.whl (16.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page