TheSeptaTimes [rust]
Information about SEPTA trains, right in your terminal.
This project was born because of my desire to not leave the terminal to check for the next train going home. It was originally written in Python but I've fallen for the rewrite it in rust meme. The rewrite has been thoroughly enjoyable, mostly because of the phenomenal first-party tooling provided by rust.
It can show the next trains going from one station to another, next
arrivals at any given train station, and info on the current status
of your train. I personally just use tst to show the
next two trains home on my status bar.
Most of the commands in tst come from the
public septa API,
but I decided those weren't enough so I also wrote
Septum
to augment tst with endpoints that the public api
doesn't provide. Septum probably deserves its own blurb
of text but I don't feel like adding another section. It scrapes
pages, transforms data from undocumented endpoints used by septa
and serves it all very nicely with the help of
FastAPI.
The API is rate-limited because I can't afford a beefy VPS (I act as if I have
users other than my friends).