Skip to main content

A Python package to get data from the Septa API

Project description

━━━━━━ ❖ ━━━━━━



❖ TheSeptaTimes

TheSeptaTimes is a python package designed to make accessing info about Septa's regional rail network easier. I made this because I commute to college every day via septa, and checking the time for the next train via the app or the website simply takes too much time. I wanted something I could access from my terminal, and thus, TheSeptaTimes was born.


❖ Installation

Install from pip

$ pip3 install TheSeptaTimes

Install from source

$ git clone https://github.com/ZenithDS/TheSeptaTimes.git
$ cd TheSeptaTimes
$ poetry install

❖ Usage

As CLI App
usage: tst [-h] [-o ORIGIN] [-d DESTINATION] [-s STATION] [-t TRAINID] [-n NUMRESULTS] action

positional arguments:
  action                Determines whether you want to `search` or `list`

optional arguments:
  -h, --help            show this help message and exit
  -o ORIGIN, --origin ORIGIN
                        the starting train station
  -d DESTINATION, --destination DESTINATION
                        the ending station
  -s STATION, --station STATION
                        any given station
  -t TRAINID, --trainID TRAINID
                        the ID of any given train
  -n NUMRESULTS, --numResults NUMRESULTS
                        the number of results

Search for a train station

$ tst search -s admr
  
  Station matching your guess: Ardmore

Get times for the next two trains that go from a given train station to another

$ tst list -o '30th Street Station' -d 'North Philadelphia'

List the next 6 arrivals at a given train station

$ tst list -s '30th Street Station' -n 6

Take a look at any given train's schedule using the train number

$ tst list -t 9374
As Python Library/Package

print the next train going from a given train station to another

from TheSeptaTimes.SeptaTimes import TheSeptaTimes

septa = TheSeptaTimes()

next_trains = septa.get_next_to_arrive('30th Street Station', 'North Philadelphia', 1)
readable_next_trains = septa.parse_next_to_arrive(next_trains)

for train in readable_next_trains:
    print(train)

print the next 6 arrivals at a given train station

from TheSeptaTimes.SeptaTimes import TheSeptaTimes

septa = TheSeptaTimes()

trains = septa.get_station_arrivals('30th Street Station', 5)
readable_trains = septa.parse_station_arrivals(trains)

for train in readable_trains:
    print(trains)

print any given train's schedule using the train number

from TheSeptaTimes.SeptaTimes import TheSeptaTimes

septa = TheSeptaTimes()

train_schedule = septa.get_train_schedule(9374)
readable_train_schedule = septa.parse_train_schedule(train_schedule)

for stop in readable_train_schedule:
    print(stop)
    

❖ What's New?

0.0.9 - Now using poetry for package management, and a fix to the PyPi readme


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

theseptatimes-0.0.9.tar.gz (7.8 kB view hashes)

Uploaded Source

Built Distribution

theseptatimes-0.0.9-py3-none-any.whl (7.9 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