Skip to main content

Terminal weather, solar arc, and tide visualizations

Project description

linecast

Terminal weather, solar arc, and tide visualizations. Pure Python, zero dependencies.

Three commands that turn your terminal into a living dashboard — temperature-colored braille curves, half-block pixel art, true color gradients, and Nerd Font icons. All data comes from free public APIs with no keys required.

Commands

weather — Current conditions, hourly braille temperature curve, 7-day forecast with color range bars, precipitation sparkline, natural language comparisons, and NWS/Environment Canada weather alerts.

weather

sunshine — Solar arc inspired by the Apple Watch Solar face. Shows the sun's position on its daily arc with sky color gradients, day length with daily delta, and moon phase.

sunshine — midday sunshine — dusk

tides — NOAA tide predictions rendered as an ocean-themed half-block chart with gradient fill, current water level, and high/low extremes.

tides

All three support --live for a full-screen auto-refreshing display. sunshine and tides also support arrow-key time scrubbing.

Install

pip install linecast

Or with a Homebrew tap:

brew tap ashuttl/linecast
brew install linecast

Usage

weather                          # current location via IP geolocation
weather --location 44.54,-68.42  # specific coordinates
weather --search québec          # find coordinates by city name
weather --live                   # full-screen, auto-refresh

sunshine                         # solar arc for today
sunshine --live                  # full-screen with time scrubbing

tides                            # nearest NOAA station
tides --station 8413320          # specific station ID
tides --search "Bar Harbor"      # find stations by name
tides --live                     # full-screen

Weather alerts

Alerts are sourced automatically based on your location:

  • US — National Weather Service (api.weather.gov)
  • Canada — Environment and Climate Change Canada (api.weather.gc.ca)

Other regions get forecasts but no alerts yet.

Environment variables

Variable Description
WEATHER_LOCATION Default lat,lng for weather (e.g., 44.54,-68.42)
TIDE_STATION Default NOAA station ID for tides (e.g., 8413320)
LINECAST_ICONS Set to emoji to use standard emoji instead of Nerd Font icons

Requirements

  • Python 3.10+
  • A terminal with true color support (iTerm2, Ghostty, Kitty, WezTerm, etc.)
  • A Nerd Font for best icon rendering (optional — use --emoji for standard emoji fallback)
  • macOS or Linux (uses termios for live mode)

License

MIT

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

linecast-1.0.6.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

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

linecast-1.0.6-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

Details for the file linecast-1.0.6.tar.gz.

File metadata

  • Download URL: linecast-1.0.6.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for linecast-1.0.6.tar.gz
Algorithm Hash digest
SHA256 0e0cb85b135f07f51a5b371b619af814f27fe9772f1031545dba6f9f858f0a3e
MD5 f80f0d4a44d07e519b897a0e86807b9f
BLAKE2b-256 5f5cb8a37fed7e9b2cd6b975f4f90d5752e434d6c0c0d7045c34c3ae404b9b19

See more details on using hashes here.

Provenance

The following attestation bundles were made for linecast-1.0.6.tar.gz:

Publisher: publish.yml on ashuttl/linecast

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

File details

Details for the file linecast-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: linecast-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 34.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for linecast-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3e48803e64bdc316817f9a5f0e36051e23d28af5f4ca9c274b62a3ec6f1aa4b9
MD5 e689c5b2bfcdf2fdd8d505c547a52077
BLAKE2b-256 072dc2cdeb31ae0dfac069d412e97c93bfc8ac5319f315b4aa7d666cb95327b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for linecast-1.0.6-py3-none-any.whl:

Publisher: publish.yml on ashuttl/linecast

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