Skip to main content

Python client library for the MARTA API

Project description

MARTApy

A Python-based library for accessing the MARTA API.

More: 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

Example use

To get a list of train arrivals:

from martapy.rail 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.rail 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.by_station('station name') returns all arrivals for a specific station

  • Arrivals.trains Returns each train and its associated arrivals: (as an OrderedDict with train IDs as keys, and that train’s list of arrivals as its value)

  • Arrivals.stations returns each station and its associated arrivals (as an OrderedDict with station names as keys, list of arrivals as its value)

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.

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

martapy-1.0.1.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

martapy-1.0.1-py3-none-any.whl (7.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