Python scripts and Flask app that transform, store, and expose HRT Bus data through a RESTful API. API's don't make for good demos, so we've created an HRT Bus Finder App.
HRT exposes the real time location of there buses at ftp://216.54.15.3/Anrd/hrtrtf.txt
. Unfortunately, this file gives us less than five minutes of data and most of the entries don't have a route number associated with them. Riders lookup bus information by route number, so without it, the data isn't very useful.
- Process FTP - Fetches the HRT FTP file and stores the data in MongoDB. Also attempts to set route number when it's missing.
- Process GTFS - Fetches the HRT GTFS package and stores the schedulded stop times for a single day in MongoDB.
- Web App
-
Bus Finder
-
Install Python 2
-
Install virtualenv
-
Clone this repo
-
Create a virtual environment in the top level directory of the repo
$ virtualenv venv --distribute
-
Activate the environment
$ source venv/bin/activate
-
Install dependencies
$ pip install -r requirements.txt
If you would like to develop the scripts, you will need your own MongoDB instance. I recommend MongoLab. If you just want to work on the web app, feel free to skip the part about the scripts. Read-only access is provided to a MongoDB instance that is being populated with real-time bus data.
-
Set MongoDB URI (substitue your own MongoDB instance if you have one)
$ export MONGO_URI=mongodb://hrt_web_app:[email protected]:45897/hrt
-
Change to the web directory and run the flask app
$ cd web $ python app.py
-
Browse to
http://0.0.0.0:5000/
- Iron.io - Each script has it's own README with instructions for deployment
- Ben Schoenfeld - [email protected] - @oilytheotter
- Search or post to our Google Group for the local "Brigade"