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
42KB
980 lines
━━━━━━ ❖ ━━━━━━
❖ TheSeptaTimes.rs
TheSeptaTimes.rs is an easy-to-use commandline utility to fetch information about regional SEPTA trains
❖ 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