Skip to main content

linecast

Weather, tides, the sun, the moon, maps, and a planetarium, in your terminal. The Old Farmer's Almanac meets Minitel.

Tests PyPI Python License: MIT

Terminal Trove Tool of The Week

English | 日本語

linecast weather, radar, the moon, the year, and sunshine at dusk tiled on an Omarchy desktop

Seven live terminal apps built on free public data. Pure Python, no dependencies, no accounts or API keys. Colors come from your terminal theme, and the mouse works. Runs on macOS, Linux, and Windows, over SSH, and in tmux.

Command Shows
linecast weather Current conditions, hourly and seven-day forecasts, and official alerts for 45 countries
linecast sunshine The sun's path today, and daylight through the year
linecast moon The Moon's phase as you see it, with rise, set, and a month calendar
linecast sky A planetarium: stars, constellations, planets, and the Milky Way over you
linecast tides A tide curve for the nearest station
linecast radar Animated weather radar for the whole world
linecast maps Street maps, terrain, directions, and a globe with live daylight and clouds

Install · Using it · The apps · Settings · Contributing

Install

brew install linecast        # Homebrew
uv tool install linecast     # uv
uvx linecast weather         # try it without installing
curl -sL https://raw.githubusercontent.com/ashuttl/linecast/main/get.sh | sh   # with nothing but curl

pipx and pip work too, and there are community packages in the AUR and nixpkgs. linecast needs Python 3.10 or newer. On Windows, use Windows Terminal.

If you can't use a package manager, or would rather carry linecast around as a file, each release also has all of it in one file, linecast.pyz. A package manager is the better choice where you have one, because it keeps linecast up to date for you; the file only tells you, once a week, when there's a newer release. Make it executable with chmod +x linecast.pyz and run ./linecast.pyz weather, or rename it linecast and put it on your PATH. It needs Python 3.10 or newer.

Using it

Every command opens live. Press ? for the keys. Add --print for one static frame, --json for raw data, or --oneline for a status bar.

linecast weather --location "quebec"
linecast sky --culture hawaiian
linecast sunshine --year
linecast maps --from "portland, maine" --to "portland head light" --profile bike
linecast maps --view now

an animated version of the hero screenshot, showing the weather radar moving

The apps

The gallery shows each one in more of its states.

Weather

An hourly chart on the scale of a typical year where you are, so a mild day looks mild, with a forecast in words. Click an alert to read it. Press v for the year so far, après Tufte: each day's high and low against the last ten years, and each month's precipitation against its average. Press c to change the chart's colors. The first highlights where the temperature went above or below the average, the second uses the temperature colors from the main weather view, and the third is plain.

weather dashboard

Reykjavík in Icelandic, and Kyoto in Japanese:

the weather in Reykjavík, in Icelandic the weather in Kyoto, in Japanese

The year view for Westbrook, Maine, with the pointer on a week in May:

the weather year view for Westbrook, Maine, with the chip for a week in May

Sunshine

The sun on its arc through dawn, day, and dusk. Press v for the whole year. --hours reads the day in traditional hours: halachic, Roman, Edo, Islamic, or Swahili.

Dawn and dusk on the June solstice:

sunshine at dawn on the June solstice sunshine at dusk on the June solstice

The year in Reykjavík, in Icelandic:

the year view for Reykjavík, in Icelandic, with the pointer on the December solstice

Polar night and midnight sun, at 78° north and 78° south:

the year view for Longyearbyen, Svalbard the year view for Vostok Station, Antarctica

Moon

The phase as you see it, with the real stars behind. Drag to see the far side; press v for the month. --calendar adds a traditional calendar and its festivals.

full Moon

Okinawa after the mid-autumn full moon, in Japanese, and the month around it:

the moon over Okinawa in Japanese: 十六夜, the sixteenth night of the eighth month the month calendar for September 2026 in Japanese, with 十五夜 on the 25th and the pointer on it

Sky

The sky over you, now or at any hour. Drag to look around, / to find a star or planet, t to choose among 22 sky cultures.

Orion on a January evening over Westbrook, Maine, with Jupiter in Gemini

The whole August sky, and a January evening drawn the Hawaiian way:

the whole August sky at once, the horizon closed into a circle, the Milky Way across it the same January sky in the Hawaiian tradition, with the star compass along the horizon

Tides

National tide services in the US, Canada, Queensland, and Hong Kong, and a global model elsewhere. --nearby lists stations.

tide chart

Radar

The last hour and the next, with US warnings on top. S switches to satellite, t changes the colors.

animated radar forecast

Maps

Streets or terrain; press v to switch, / to search, D for directions. Zoom out to the globe, and press S for daylight and c for clouds.

street map of Portland, Maine terrain map of New Zealand, with the seafloor around it

The labels change with the zoom:

Portland, Maine, at block level Portland, Maine, at city scale southern Maine

The globe in daylight, and with the hour's clouds:

the globe as it is right now: live daylight, the terminator, and the city lights beyond it the same globe with this hour's clouds

Settings

Run a setting alone to see it, with a value to save it, or with auto to reset it.

Setting Values For one run
linecast location set "Portland, Maine", set 44.54,-68.42, search NAME --location
linecast language one of 29 languages --lang
linecast units metric, imperial --metric, --imperial
linecast clock 12, 24 --12h, --24h
linecast week monday, sunday, saturday --week-start
linecast calendar chinese, hebrew, islamic, … --calendar
linecast culture chinese, hawaiian, norse, … --culture
linecast hours halachic, roman, japanese, … --hours
linecast icons nerd, emoji, plain --icons
linecast dates gregorian, solar-hijri
linecast digits latin, native

Without a saved location, linecast guesses from your IP address, which can be far off on a VPN or over SSH.

Persian support is experimental. It works in Ghostty, Alacritty, and foot, but not well in the Mac's Terminal or iTerm2. See docs/languages.md.

Environment variables, and the optional TideCheck key for more tide stations, are in docs/configuration.md, and data sources and credits in docs/sources.md.

Extras

linecast link                       # add weather, moon, … as short commands
source <(linecast completion zsh)   # shell completion: bash, zsh, fish, nu
linecast doctor                     # when something looks wrong

Contributing

Questions and ideas are welcome in Discussions, and pull requests too; see CONTRIBUTING.md.

Lineage

3615 LINECAST

Prior art.

A Telic-Alcatel videotex terminal draws the weather, circa 1990. Photograph from the collection at minitel-alcatel.fr.

License

MIT

Metadata

Release files for linecast 2.9.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 linecast 2.9.3
File Size Uploaded
linecast-2.9.3.tar.gz 9.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for linecast 2.9.3
File Interpreter ABI Platform
linecast-2.9.3-py3-none-any.whl Python 3 none any Details

Total release size: 17.5 MB

Release files / linecast-2.9.3.tar.gz

Download URL linecast-2.9.3.tar.gz
Size 9.0 MB
Tags Source
SHA-256 checksum
How to use checksums
cda8376f0b5e35b84b5845dee20b1d3631969202eada90f102c6153c681297e8
BLAKE2b-256 checksum
How to use checksums
f0c744a2cc304a71ea2934cd735b4fd290fe98ee870a88184c06c52a16a3f2ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release files / linecast-2.9.3-py3-none-any.whl

Download URL linecast-2.9.3-py3-none-any.whl
Size 8.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
218a09beff96b627aa6feddfeafbceec49c27e07deff6636c5ad27493becab12
BLAKE2b-256 checksum
How to use checksums
f8ca05413eff7925f3b5ac853cc6b4f24ae1ffb391788f0482371ecf69a96c4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

2.10.2

2 release files

This release

2.9.3 This release

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.0

2 release files

2.7.0

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.17.0

2 release files

1.16.1

2 release files

1.16.0

2 release files

1.15.2

2 release files

1.15.1

2 release files

1.15.0

2 release files

1.14.0

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.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