A point-in-time mirror of Washington DC Metro's realtime train schedule
Project description
# WMATA Realtime Snapshot
### Overview
Provide a point-in-time mirror of Washington DC Metro's realtime train schedule
### Installation
1. **Install the package**
```shell
pip install django-wmata-realtime-snapshot
```
1. **Add the app to your django project's settings**
```python
INSTALLED_APPS = (
...
wmata_realtime_snapshot,
)
```
1. **Get a WMATA API key**
If you don't already have a WMATA API account, sign up here: https://developer.wmata.com/signup
Alternatively, you may have success using the demo key provided here: https://developer.wmata.com/Products
Once you have a key, (e.g. `1234IAMAKEY`), you can use it to download a dump of the realtime data.
1. **Download a JSON and/or XML dump from WMATA**
These instructions are for a UNIX based system.
JSON Dump:
```shell
curl https://api.wmata.com/StationPrediction.svc/json/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.json
```
XML Dump:
```shell
curl https://api.wmata.com/StationPrediction.svc/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.xml
```
To download both at the same time:
```shell
curl https://api.wmata.com/StationPrediction.svc/json/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.json & curl https://api.wmata.com/StationPrediction.svc/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.xml
```
1. **Add your dumps to the Django settings file**
In your Django settings, define the following variables for the dumps you want to serve.
```
WMATA_JSON_DUMP='path/to/realtime_dump.json'
WMATA_XML_DUMP='path/to/realtime_dump.xml'
```
Any endpoint type (json or xml) that does not have a dump file to read will return a json/xml error message when querying the snapshot API:
```json
{"Error": "No JSON resource has been defined. Please read the installation instructions."}
```
```xml
<Error>No XML resource has been defined. Please read the installation instructions.</Error>
```
1. **Add a url endpoint**
```python
url(r'^mirror/', include('wmata_realtime_snapshot.urls', namespace='wmata_realtime_snapshot')),
```
1. **Visit the API**
The API path is the same as the real WMATA API for easy plug-n-play:
```
http://localhost:8000/mirror/StationPrediction.svc/json/GetPrediction/All
http://localhost:8000/mirror/StationPrediction.svc/GetPrediction/B01
http://localhost:8000/mirror/StationPrediction.svc/json/GetPrediction/K08,D13,A05
```
### Overview
Provide a point-in-time mirror of Washington DC Metro's realtime train schedule
### Installation
1. **Install the package**
```shell
pip install django-wmata-realtime-snapshot
```
1. **Add the app to your django project's settings**
```python
INSTALLED_APPS = (
...
wmata_realtime_snapshot,
)
```
1. **Get a WMATA API key**
If you don't already have a WMATA API account, sign up here: https://developer.wmata.com/signup
Alternatively, you may have success using the demo key provided here: https://developer.wmata.com/Products
Once you have a key, (e.g. `1234IAMAKEY`), you can use it to download a dump of the realtime data.
1. **Download a JSON and/or XML dump from WMATA**
These instructions are for a UNIX based system.
JSON Dump:
```shell
curl https://api.wmata.com/StationPrediction.svc/json/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.json
```
XML Dump:
```shell
curl https://api.wmata.com/StationPrediction.svc/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.xml
```
To download both at the same time:
```shell
curl https://api.wmata.com/StationPrediction.svc/json/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.json & curl https://api.wmata.com/StationPrediction.svc/GetPrediction/All?api_key=1234IAMAKEY > realtime_dump.xml
```
1. **Add your dumps to the Django settings file**
In your Django settings, define the following variables for the dumps you want to serve.
```
WMATA_JSON_DUMP='path/to/realtime_dump.json'
WMATA_XML_DUMP='path/to/realtime_dump.xml'
```
Any endpoint type (json or xml) that does not have a dump file to read will return a json/xml error message when querying the snapshot API:
```json
{"Error": "No JSON resource has been defined. Please read the installation instructions."}
```
```xml
<Error>No XML resource has been defined. Please read the installation instructions.</Error>
```
1. **Add a url endpoint**
```python
url(r'^mirror/', include('wmata_realtime_snapshot.urls', namespace='wmata_realtime_snapshot')),
```
1. **Visit the API**
The API path is the same as the real WMATA API for easy plug-n-play:
```
http://localhost:8000/mirror/StationPrediction.svc/json/GetPrediction/All
http://localhost:8000/mirror/StationPrediction.svc/GetPrediction/B01
http://localhost:8000/mirror/StationPrediction.svc/json/GetPrediction/K08,D13,A05
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-wmata-realtime-snapshot-0.2.tar.gz
.
File metadata
- Download URL: django-wmata-realtime-snapshot-0.2.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3961107bb0dfb0692eb66f7762ebc618e51d08c906ffde5e2665894127ae7469 |
|
MD5 | a7402e3ea1796aee381e7b084c86c571 |
|
BLAKE2b-256 | bff26d0fb087eaf90fabc14c6faab13a734c29fa94b44df9bc80df3074c36e58 |