Skip to main content

linecast

Weather, sunlight, tides, radar, the Moon, and maps — drawn for the terminal.

PyPI Python License: MIT

linecast weather, sunshine, radar, and maps

linecast turns free public data into six live, mouse-friendly terminal apps. It is pure Python, has no dependencies, adapts to your terminal theme, and needs no account or API key for its core experience.

Command What it shows
weather Current conditions, an hourly braille temperature curve, seven-day forecast, air quality, comparisons, and official alerts
sunshine The Sun moving across its daily arc, with sky gradients, day length, and moon phase
moon A shaded lunar disc, illumination, altitude, rise and set times, and the next full and new moons
tides A sunlight-shaded tide curve, current water level, and high and low times
radar Animated worldwide radar or satellite imagery, warning polygons, temperature, and wind
maps Detailed vector streets, terrain and bathymetry, place search, and directions

Install

With uv:

uv tool install linecast

Or use Homebrew:

brew tap ashuttl/linecast
brew install linecast

pipx install linecast and pip install linecast work too. linecast requires Python 3.10+ on macOS or Linux.

Take it outside

weather
sunshine
moon
tides
radar
maps

Every command finds your approximate location from your IP address and opens in live mode when run in a terminal. Drag or scroll where it makes sense; each app shows its keyboard controls along the bottom.

Pass a place name or coordinates to go somewhere else:

weather --location "Québec"
radar --location 41.88,-87.63
maps --view terrain --location "Innsbruck"
maps --to "Portland Head Light" --profile bike

Use --print for one static frame. When output is piped, linecast does this automatically. Weather, sunshine, moon, and tides also offer --json and compact --oneline output for status bars.

If a short command name conflicts with something already on your system, everything also lives under the linecast namespace:

linecast weather --metric
linecast radar --theme rainbow
linecast maps --view terrain

A closer look

Weather

The weather dashboard combines current conditions, daylight-shaded hourly temperatures, precipitation, daily ranges, air quality, and natural-language comparisons. Official alerts are available across 36 countries and open to their full detail in live mode.

weather dashboard

Sunshine and Moon

sunshine is inspired by the Apple Watch Solar face. The arc and sky move through dawn, day, dusk, and night; day length includes its change from yesterday.

sunshine at midday sunshine at dusk

moon draws the current phase with its real terminator, mare shading, halo, and orientation for your hemisphere, then tells you what the Moon is doing next. Try moon --oneline for a status bar.

waxing gibbous Moon

Tides

The tide chart scrolls across several days and annotates exact highs, lows, and the current predicted water level. Coverage comes from NOAA in the US, the Canadian Hydrographic Service, and Queensland Open Data. An optional TideCheck key adds global coverage.

tide chart

Radar

Radar animates recent observations and an hour of forecast over a braille basemap. LibreWXR supplies worldwide composites and fills gaps with model-derived precipitation; linecast adds time-synced US warning polygons, optional temperature and wind layers, 13 colour themes, and hourly infrared satellite imagery.

radar --theme rainbow
radar --layers temp,wind
radar --layer satellite

animated radar forecast over Glasgow

Maps

Street view renders OpenFreeMap vector tiles as solid water, land, parks, and buildings under a braille road network. Hover a feature to name and highlight it; search with /, ask for directions with d, or switch views with v.

Terrain view turns global elevation into hillshade and a hypsometric ramp, from deep ocean trenches through lowland green to alpine white. Coastlines, borders, water, and cities are drawn over it in braille.

street map of Portland, Maine terrain map of the Alps around Innsbruck

maps --location "Portland, Maine" --zoom 0.01
maps --view terrain --location 60.4,5.3 --zoom 8
maps --to "Portland Head Light" --profile foot

Make it yours

Location

Save one location for every command:

linecast location set "Portland, Maine"
linecast location set 44.54,-68.42
linecast location
linecast location auto
linecast location search fayette

The setting lives in ~/.config/linecast/config.json. A command's --location flag or WEATHER_LOCATION takes precedence.

Language

Use --lang or LINECAST_LANG to localize the interface. Seventeen languages are supported:

English, French, Spanish, German, Italian, Portuguese, Dutch, Polish, Norwegian, Swedish, Icelandic, Danish, Finnish, Japanese, Korean, Chinese, and Indonesian

weather --lang fr
radar --lang zh

Colour and icons

linecast queries the terminal palette so its colours belong in your theme. Set LINECAST_COLOR to truecolor, 256, 16, or none to override colour detection, or use the standard NO_COLOR variable. A Nerd Font gives the best icon rendering; --emoji or LINECAST_ICONS=emoji uses standard emoji instead.

Shell completion

# Bash
source <(linecast completion bash)

# Zsh
source <(linecast completion zsh)

# Fish
linecast completion fish | source

Completion covers both linecast <command> and the standalone commands.

Environment variables
Variable Description
WEATHER_LOCATION Default lat,lng for location-aware commands; overrides the saved location
WEATHER_UNITS metric for Celsius, km/h, and mm
TIDE_STATION Default tide station ID
TIDES_UNITS metric for tide heights in metres
LINECAST_TIDECHECK_KEY Optional TideCheck API key for global tide coverage
LINECAST_LANG UI language code: en, fr, es, de, it, pt, nl, pl, no, sv, is, da, fi, ja, ko, zh, or id
LINECAST_RADAR_THEME Default radar colour theme
LINECAST_LIBREWXR_URL Base URL of a self-hosted LibreWXR instance
LINECAST_ICONS emoji to use standard emoji instead of Nerd Font icons
LINECAST_COLOR auto, truecolor, 256, 16, or none
LINECAST_THEME auto (default), or classic / legacy / off for the fixed palette
LINECAST_THEME_TIMEOUT_MS Terminal palette query timeout in milliseconds (default 100)
NO_COLOR Any non-empty value disables ANSI colours
Data sources and coverage
  • WeatherOpen-Meteo for forecasts, geocoding, and air quality. Alerts come from the US National Weather Service, Environment Canada, China Meteorological Administration, DWD via Bright Sky, Met Éireann, Japan Meteorological Agency, MET Norway, and MeteoAlarm.
  • Sunshine and Moon — computed locally from astronomical equations.
  • Tides — NOAA CO-OPS, Canadian Hydrographic Service, Queensland Open Data, and optionally TideCheck.
  • RadarLibreWXR, with NEXRAD via Iowa Environmental Mesonet and RainViewer as fallbacks; warning polygons come from the US National Weather Service via IEM. The basemap is derived from Natural Earth.
  • Maps — terrain from AWS/Mapzen elevation tiles; streets and inland water from OpenFreeMap (© OpenMapTiles © OpenStreetMap contributors); search from Photon and Nominatim; directions from FOSSGIS OSRM (© OpenStreetMap contributors).

License

MIT

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.9.1.tar.gz (16.0 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.9.1-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: linecast-1.9.1.tar.gz
  • Upload date:
  • Size: 16.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for linecast-1.9.1.tar.gz
Algorithm Hash digest
SHA256 7106bf180946d11f39c778dd80e2ac45089538c5bced076928dab88edf4efb91
MD5 7c0ace1794d1c7e38401ba1a86aa083b
BLAKE2b-256 ed98393e443b2b9f5fde8eb36f27134c73f7093f8f83a1f60de5585bd90deb3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for linecast-1.9.1.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.9.1-py3-none-any.whl.

File metadata

  • Download URL: linecast-1.9.1-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for linecast-1.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0414b0cc6a3ec61d7e6e2ab3e0c1bd4f796794639878055f7a73f366d1b5c4dd
MD5 6179a6ece794f997bdc67ebfad77766c
BLAKE2b-256 8f0b2e4745991c482072635801d682d87eafde0d68ffb0d4a5dfb7c135db75f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for linecast-1.9.1-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.

Release history Release notifications | RSS feed

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.2

2 files

2.2.1

2 files

2.2.0

2 files

2.1.0

2 files

2.0.0

2 files

1.17.0

2 files

1.16.1

2 files

1.16.0

2 files

1.15.2

2 files

1.15.1

2 files

1.15.0

2 files

1.14.0

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.1

2 files

1.10.0

2 files

1.9.2

2 files

This release

1.9.1 This release

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.1

2 files

1.3.0

2 files

1.2.7

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.10

2 files

1.1.9

2 files

1.1.8

2 files

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.0

2 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