Cleaned + Plotted PATH ridership data (source)
Interactive versions of the plots below:
Contents:
As of April 2025:
- Weekday ridership was 71.2% of April '19 (pre-COVID)
- Weekend ridership was 99.6% of April '19 (pre-COVID)
Quick Update (Manual):
./scripts/update-all.shRuns all three steps (refresh → update → combine) in sequence.
GitHub Actions (Automated):
- Runs automatically on the 10th of each month
- Creates a PR when new data is available
- Can be triggered manually from the Actions tab
git clone https://github.com/hudcostreets/path
cd path
pip install -e .path-data refreshrefresh.py- Updates local copies of PANYNJ PDFs, e.g.:
1b. Create Tabula templates
This is already done, the resulting templates are saved in templates/.
path-data updateupdate.pymonthly.ipynb- Outputs
data/20*.pqt
path-data combinecombine.pymonths.ipynb- Outputs:
data/all.pqt,data/all.xlsx, plots (when kaleido is working)
Merge per-year PDFs into one:
/opt/homebrew/bin/gs \
-o merged.pdf \
-sDEVICE=pdfwrite \
-dPDFFitPage \
-g12984x10033 \
-dPDFSETTINGS=/prepress \
traffic-e-zpass-usage-20*cf. SO.








