Skip to main content

CLI for I-66 inside-the-Beltway toll lookups

Project description

i66tolls

Vibe coded command-line tool for checking tolls on I-66 inside the Capital Beltway (between I-495 and the Theodore Roosevelt Bridge).

Run it with no arguments for an interactive wizard, or pass entry/exit IDs and flags for a quick lookup.

Data comes from VDOT's official toll calculator at vai66tolls.com.

Demo

Requirements

Install

From PyPI:

pip install i66tolls

From source:

pip install -e .

Interactive mode

i66tolls
  1. Directioncurrent, eastbound, or westbound
    • current uses the system clock. If no toll period is active, prints a message and exits.
    • Eastbound/westbound continues to entry selection for that direction.
  2. Entry — choose an entry interchange
  3. Exit — choose an exit interchange
  4. Whencurrent or historic (skipped if you already chose current in step 1)
  5. Date/time — for historic lookups, an interactive date/time picker (its-a-dt)

Use ↑/↓ and Enter to select. Press to go back to the previous step (even for values pre-filled from the command line).

Provide arguments to skip interactive steps

Provide entry and exit IDs (and any other options) to skip prompts:

i66tolls 1 10 -c
i66tolls 1 10 --current
i66tolls 16 1 -w -c
i66tolls 1 10 -t "06/10/2026 08:00 AM"

When both entry and exit are given, direction is inferred automatically.

Options

Flag Description
-e, --eastbound Eastbound route
-w, --westbound Westbound route
-c, --current Use the current toll rate
-t, --time Historic date/time (MM/DD/YYYY HH:MM AM/PM, US/Eastern)

Conflicts

  • --eastbound and --westbound cannot be used together
  • --current and --time cannot be used together
  • Provide both entry and exit IDs, or neither

Toll hours

Direction Hours
Eastbound (toward DC) Weekdays 5:30–9:30 AM
Westbound (toward Beltway) Weekdays 3:00–7:00 PM

Outside these windows, current tolls show as unavailable. Federal holidays are also toll-free.

Entry and exit IDs

Run i66tolls and browse the interactive lists, or query the API directly:

curl -s "https://vai66tolls.com/Index?handler=BeginIntPartial&rbEastVal=true" | grep option
curl -s "https://vai66tolls.com/Index?handler=ExitIntPartial&bIntId=1&rbEastVal=true" | grep option

Data source

This tool uses the same backend API as vai66tolls.com. Amounts are estimates and can change before you reach the road.

reference/tolls.py is the original Alexa skill that used a SmarterRoads XML feed. That public endpoint is no longer available.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

i66tolls-0.1.1.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

i66tolls-0.1.1-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file i66tolls-0.1.1.tar.gz.

File metadata

  • Download URL: i66tolls-0.1.1.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for i66tolls-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f9780452ff30bdaab1e1725962fc692ed9a2dd91ce0dcd8ad55099e8b82fc3d1
MD5 b2475e4492b261e77662f81caab4ee4d
BLAKE2b-256 fa76b9556dca14ad0e2c283779bee5ac46ba030ecaae7539e7fc3cf657ddaf05

See more details on using hashes here.

Provenance

The following attestation bundles were made for i66tolls-0.1.1.tar.gz:

Publisher: publish.yml on alanjschoen/i66tolls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file i66tolls-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: i66tolls-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for i66tolls-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ccbd9ec530cc679238cdcf578a265138199aec22dd381ccdaddb1322bdfb7df
MD5 5244ebbbdbf7a2069a53c495cb236092
BLAKE2b-256 b903b819c7d51b3872d8f2492e39aae405823ba0bc85421054e9eefc12eecd79

See more details on using hashes here.

Provenance

The following attestation bundles were made for i66tolls-0.1.1-py3-none-any.whl:

Publisher: publish.yml on alanjschoen/i66tolls

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page