MARTApy
Python wrapper for MARTA realtime rail and bus APIs: http://www.itsmarta.com/app-developer-resources.aspx
Installation
To install via pip, just:
$ pip install martapy
Or, locally from the same directory as setup.py:
$ python setup.py install
Rail
To get a list of train arrivals:
from martapy import RailClient
rail_client = RailClient(api_key="your_api_key")
arrivals = rail_client.arrivals()
This returns an instance of martapy.rail.Arrivals(list) which has a few handy methods to filter results further.
For example, to print the destination and waiting time for upcoming arrivals at Peachtree Center Station:
from martapy import RailClient
rail_client = RailClient(api_key="your_api_key")
peachtree_station = rail_client.arrivals().by_station('peachtree')
for arrival in peachtree_station:
print("To: {}, When: {}".format(arrival.destination, arrival.waiting_time))
- With output that would look something like::
To: Airport, When: Arriving To: Lindbergh, When: 16 min To: Doraville, When: 19 min
Filters
To narrow results, martapy.rail.Arrivals(list) has a number of properties/methods:
Arrivals by line: red_line blue_line green_line gold_line
Arrivals by direction: northbound eastbound westbound southbound
Arrivals by waiting time: boarding arriving arrived
Arrivals grouped by station name: Arrivals.stations
Arrivals grouped by train ID: Arrivals.trains
Arrivals associated with a specific station: Arrivals.by_station('station name')
These can be chained as well for more specific results. For example, to get all arrivals for the red line which are heading southbound:
from martapy.rail import RailClient
rail_client = RailClient(api_key="your_api_key")
arrivals = rail_client.arrivals().red_line.southbound
Other properties
Each Arrivals instance returned is just a list of martapy.rail.Arrival objects, with properties similar to the filters above (station, direction, event_time, line…). To get the original JSON string back, use Arrival.json.
Bus
To get a list of active buses:
from martapy import BusClient
bus_client = BusClient()
buses = bus_client.buses()
To get active buses for a particular route number, use BusClient.buses(route=111) (or any other route number)
To filter this list down further, use filter() on the returned Buses list. For example, to return only Westbound buses:
from martapy import BusClient
bus_client = BusClient()
buses = bus_client.buses().filter(direction='Westbound')
Release files for martapy 1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| martapy-1.1.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| martapy-1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.1 kB
Release files / martapy-1.1.tar.gz
| Download URL | martapy-1.1.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
496fc4370e63a201f7052aa8c258d5a83ac883b5f11c45c37245fe1d7491c389
|
|
BLAKE2b-256 checksum How to use checksums |
d75125519b42766556bee53ad110dbf9e22bfde15c5e3875487ab54eac18db0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / martapy-1.1-py3-none-any.whl
| Download URL | martapy-1.1-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49dbcedc1d3048f4f75171095bee254d86e43382c3c33e0e1d00325e0ceaaade
|
|
BLAKE2b-256 checksum How to use checksums |
cf5a93571a8ce20679234f76f7a44dd74801f4642b75015cc0b194418c7dcb42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |