Skip to main content

amtrak-status

PyPI Tests Changelog License

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

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)

Source distribution for amtrak-status 0.1.3
File Size Uploaded
amtrak_status-0.1.3.tar.gz 63.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for amtrak-status 0.1.3
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page