amtrak-status
A clean terminal user interface (TUI) for tracking Amtrak train status in real-time. No more manual page refreshing!
Features
- Auto-refresh: Automatically updates every 30 seconds (configurable)
- Visual progress bar: See journey completion at a glance
- Station-by-station breakdown: Scheduled, estimated, and actual times
- Color-coded status: Green for early/on-time, red for late, yellow for en-route
- Clean TUI: Built with Rich for a beautiful terminal experience
Installation
Using uv (recommended)
# Run directly without installing
uv run --with amtrak-status amtrak-status 42
# Or install as a project
uv sync
uv run amtrak-status 42
Using pip
pip install amtrak-status
amtrak-status 42
Usage
# Track the Pennsylvanian #42
amtrak-status 42
# Track the California Zephyr #5
amtrak-status 5
# Track with custom refresh interval (60 seconds)
amtrak-status 42 -r 60
# Display once and exit (no auto-refresh)
amtrak-status 42 --once
# Track a specific day's train (train 42 from the 26th)
amtrak-status 42-26
Options
| Option | Description |
|---|---|
train_number |
Amtrak train number (e.g., 42, 5, 91) |
-r, --refresh |
Refresh interval in seconds (default: 30) |
--once |
Display once and exit without auto-refresh |
Common Train Numbers
| Number | Route |
|---|---|
| 42 | Pennsylvanian (Pittsburgh → NYC) |
| 43 | Pennsylvanian (NYC → Pittsburgh) |
| 5 | California Zephyr (Chicago → Emeryville) |
| 6 | California Zephyr (Emeryville → Chicago) |
| 91 | Silver Star (NYC → Miami) |
| 92 | Silver Star (Miami → NYC) |
| 79/80 | Carolinian |
| 19/20 | Crescent |
How It Works
This tool uses the Amtraker API, a community-built API that provides real-time Amtrak train tracking data. The API pulls from Amtrak's official Track Your Train system.
Troubleshooting
"Train Not Found"
- The train may not have started its journey yet today
- Double-check the train number on Amtrak's website
- The train may have already completed its journey
No updates showing
- The Amtraker API updates when Amtrak's system updates (typically every few minutes)
- Check your internet connection
Development
To contribute to this library, first checkout the code. Then create a new virtual environment:
cd amtrak-status
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
python -m pip install -e '.[test]'
To run the tests:
python -m pytest
License
Apache-2.0
Credits
- Amtraker API by piemadd
- Rich for the beautiful TUI components
Metadata
Release files for amtrak-status 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| amtrak_status-0.1.3.tar.gz | 63.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| amtrak_status-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 87.3 kB
Release files / amtrak_status-0.1.3.tar.gz
| Download URL | amtrak_status-0.1.3.tar.gz |
|---|---|
| Size | 63.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5bd375e30341545df84a5acb7cca2c4fabfa5e1f7b674969914568408fd4fd16
|
|
BLAKE2b-256 checksum How to use checksums |
9f4724af512c00e6b3e09b0fb3e542d842d96e867a6a3d0e16273ef9a900c2b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 21, 2026.
Transparency logRelease files / amtrak_status-0.1.3-py3-none-any.whl
| Download URL | amtrak_status-0.1.3-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75cbfed8dc007a27b4bb8f28dc605dff0d89d70f0a3c2cba30be76494a05938e
|
|
BLAKE2b-256 checksum How to use checksums |
745cb88da6adbf01d455e370141e2defbe1f855f6d015e89ec3ee017c78b40e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 21, 2026.
Transparency log