bustracker

Get bus predictions from NextBus


Keywords
nextbus, python-package, python3
License
GPL-3.0
Install
pip install bustracker==0.0.3

Documentation

Bus Tracker (NextBus)

PyPI version Build Status

Python module to get bus data from NextBus

This is an ongoing project. If you have any requests or contributions, please create a ticket

Install

From PyPI with pip

pip install bustracker

Usage examples

from bustracker import BusTracker
# Agency list is from http://webservices.nextbus.com/service/publicXMLFeed?command=agencyList
agency = 'ttc'
bus = BusTracker(agency)

# get prediction for bus stops
stops = [
    {'routeTag': 506, 'stopTag': 3292}
]

predictions = bus.get_predictions(stops)

print(predictions)

The result is a dictionary of predictions

{
    "predictions": {
        "message": {
            "text": "TTC Information 416-393-4636 (INFO)",
            "priority": "Normal"
        },
        "agencyTitle": "Toronto Transit Commission",
        "routeTag": "506",
        "routeTitle": "506-Carlton",
        "direction": {
            "title": "West - 506 Carlton towards High Park",
            "prediction": [
                {
                    "isDeparture": "false",
                    "minutes": "2",
                    "seconds": "134",
                    "tripTag": "38216487",
                    "vehicle": "4189",
                    "block": "506_9_90",
                    "branch": "506",
                    "dirTag": "506_1_506",
                    "epochTime": "1563543576881"
                },
                ...
            ]
        },
        "stopTitle": "Gerrard St East At Jones Ave",
        "stopTag": "3292"
    },
    "copyright": "All data copyright Toronto Transit Commission 2019."
}

For development

Testing

pytest tests/test.py

References

NextBus Guide Get Agency List