Repolode
schachmat

schachmat/wego

A terminal weather client that shows 1 to 7 day forecasts from several weather APIs, rendered as ASCII tables, emoji, Markdown or JSON.

Stars
8,563
Forks
506
Open issues
16
Last commit
26 days ago

What is it?

wego is a command-line weather client written in Go. It fetches forecasts for a given location and prints them directly in the terminal, covering temperature ranges (both measured and felt), wind speed and direction, visibility, precipitation amount and probability, and humidity.

It supports several backends, including Open-Meteo and SMHI, which need no API key, as well as OpenWeatherMap, WeatherAPI, Caiyun, Pirate Weather and a local JSON file. Output can be shown as a colored ASCII art table (the default), emoji, Markdown, or JSON, and the JSON frontend can be piped into other tools. Unit systems, disk caching with a configurable TTL, and a config file for a default location are also included.

Key features

  • 01Shows forecasts for 1 to 7 days from the command line.
  • 02Supports Open-Meteo, SMHI, OpenWeatherMap, WeatherAPI, Caiyun, Pirate Weather and a local JSON backend.
  • 03Offers ascii-art-table, emoji, markdown and json output frontends.
  • 04Caches weather data on disk with a configurable TTL.
  • 05Reads a config file for the default location, which command-line arguments can override.

Use cases

  • Checking the forecast for a city from a terminal or SSH session.
  • Adding weather to a shell prompt, status bar or script via JSON output.
  • Running a free, keyless weather lookup with Open-Meteo or SMHI.
  • Testing or working offline using a saved JSON weather file.

Quick start

  1. 1

    Install wego with the Go toolchain

    go install github.com/schachmat/wego@latest
  2. 2

    Run wego once to generate the config file, then edit it to set a backend and location

    wego
  3. 3

    Run wego to see the forecast for your location

    wego London 4

Things to know

  • Most backends need an API key, though Open-Meteo and SMHI are free and keyless.
  • Worldweatheronline no longer offers free API keys.
  • Requires a Go 1.20 environment and a UTF-8 terminal with 256 colors for the default frontends.

Topics

FAQ

What is wego?
A terminal weather client that shows 1 to 7 day forecasts from several weather APIs, rendered as ASCII tables, emoji, Markdown or JSON. wego is a command-line weather client written in Go. It fetches forecasts for a given location and prints them directly in the terminal, covering temperature ranges (both measured and felt), wind speed and direction, visibility, precipitation amount and probability, and humidity.
Is wego free to use? What license does it have?
wego is open source under the ISC license. Check the license terms before using it in commercial products.
Is wego still maintained?
Actively maintained. The last commit to wego was on Sep 26, 2026.
What can I use wego for?
Checking the forecast for a city from a terminal or SSH session. Adding weather to a shell prompt, status bar or script via JSON output. Running a free, keyless weather lookup with Open-Meteo or SMHI. Testing or working offline using a saved JSON weather file.
How do I install wego?
Install wego with the Go toolchain: go install github.com/schachmat/wego@latest Run wego once to generate the config file, then edit it to set a backend and location: wego Run wego to see the forecast for your location: wego London 4
Where can I get wego?
The source code and installation instructions are on GitHub: https://github.com/schachmat/wego

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects