12 unstable releases (5 breaking)

0.7.0 Aug 28, 2024
0.5.3 Feb 14, 2024
0.5.0 Jan 25, 2024
0.4.2 Jan 24, 2024
0.1.1 Oct 28, 2023

#855 in Command line utilities

36 downloads per month

MIT license

42KB
980 lines

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



❖ TheSeptaTimes.rs

TheSeptaTimes.rs is an easy-to-use commandline utility to fetch information about regional SEPTA trains

septa gif

❖ Installation

Shell

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/dotzenith/TheSeptaTimes.rs/releases/latest/download/the-septa-times-installer.sh | sh

Brew

brew tap dotzenith/tap
brew install the-septa-times

Powershell

irm https://github.com/dotzenith/TheSeptaTimes.rs/releases/latest/download/the-septa-times-installer.ps1 | iex

Cargo

cargo install the-septa-times

Binaries

Pre-Compiled binaries for linux, mac, and windows are available in Releases

Source

  • First, install rust
git clone https://github.com/dotzenith/TheSeptaTimes.rs.git
cd TheSeptaTimes.rs
cargo build --release
./target/release/tst

❖ Usage

A CLI application for the SEPTA API

Usage: tst <COMMAND>

Commands:
  next      Search for the next train going from an origin to a destination
  arrivals  Find the next arrivals at a given train station
  train     Track a given train
  stations  Get all valid station names
  extra     All of the extra endpoints added by SepatPlusPlus
  refresh   Manually refresh the cache for station names (note: tst automatically refreshes every week)
  help      Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

❖ Base commands

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

tst next '30th Street Station' 'North Philadelphia'

Since tst uses fuzzy matching, you can also do:

tst next 'suburban' '30th'

List the next 6 arrivals at a given train station:

tst arrivals '30th Street Station' --count 6

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

tst train 9374

Get all valid train station names:

tst stations

Manually refresh the cache for station names:

tst automatically refreshes the cache every week, this command is usually not needed

tst refresh

❖ Extra commands provided by SeptaPlusPlus

These commands require endpoints provided by SeptaPlusPlus. tst requires the SeptaPlusPlusURL environment variable to be set like:

export SeptaPlusPlusURL="https://septa.jawn.website/api"

Get all lines supported by the tst extra schedule command:

tst extra lines

Get all stations on a given track, as supported by the tst extra schedule command:

tst extra stations TRE          # On the Trenton line

Get train schedule going from one station to another on a given line

This command also uses fuzzy matching so station names do not need to be exact

tst extra schedule TRE "Trenton" "Gray 30th Street" inbound weekday

❖ What's New?

0.7.0 - Integrate SeptaPlusPlus


Dependencies

~8–21MB
~316K SLoC