ランキングに戻る

schachmat/wego

Go

weather app for the terminal

gowegoforecastweatherterminalascii-artascii-tablehacktoberfest
スター成長
スター
8.5k
フォーク
506
週間成長
Issue
10
5k
2023年1月2024年3月2025年5月2026年7月
成果物Go Modulesgo get github.com/schachmat/wego
README

wego is a weather client for the terminal.

Screenshots

Features

  • show forecast for 1 to 7 days
  • multiple backends: openweathermap, weatherapi, open-meteo, smhi, caiyun, worldweatheronline, pirateweather, and json
  • multiple frontends: ascii-art-table (default), emoji, markdown, and json
  • displayed info:
    • temperature range (felt and measured)
    • windspeed and direction
    • viewing distance
    • precipitation amount and probability
    • humidity
  • unit systems: metric, imperial, si, metric-ms
  • disk caching of weather data with configurable TTL (--cache-ttl)
  • multi language support
  • config file for default location which can be overridden by commandline
  • automatic config management with ingo
  • built-in man page (wego --man)
  • composable via JSON: pipe data between the json backend and json frontend

Dependencies

  • A working Go 1.20 environment
  • utf-8 terminal with 256 colors (for ascii-art-table and emoji frontends)
  • A monospaced font containing all the required runes (e.g. dejavu sans mono)
  • An API key for most backends (see Setup below; open-meteo and smhi are free and keyless)

Installation

Check your distribution for packaging:

Packaging status

To directly install or update the wego binary from Github into your $GOPATH as usual, run:

go install github.com/schachmat/wego@latest

Setup

  1. Run wego once. You will get an error message, but the wegorc config file will be generated in your $XDG_CONFIG_HOME/wego/ directory (or the OS-equivalent location returned by os.UserConfigDir(), e.g. ~/.config/wego/wegorc on Linux).
  2. Choose a backend and configure it (see below). Then run wego again.
  3. You may want to adjust other preferences like days, units and …-lang as well. Save the file.
  4. Run wego once again and you should get the weather forecast for the current and next few days for your chosen location.
  5. If you're visiting someone in e.g. London over the weekend, just run wego 4 London or wego London 4 (the ordering of arguments makes no difference) to get the forecast for the current and the next 3 days.

The config file is resolved in the following order:

  1. $WEGORC environment variable (highest precedence).
  2. $XDG_CONFIG_HOME/wego/wegorc (or OS equivalent via os.UserConfigDir()), if it exists.
  3. $HOME/.wegorc (legacy location, for backward compatibility), if it exists.
  4. If none of the above exist, a new config file is created at $XDG_CONFIG_HOME/wego/wegorc.

Backends

Open-Meteo — free, no API key required:

backend=openmeteo
location=New York

SMHI — free, no API key required (Sweden and surrounding areas):

backend=smhi
location=59.33,18.07

Openweathermap — free API key available:

backend=openweathermap
location=New York
owm-api-key=YOUR_OPENWEATHERMAP_API_KEY_HERE

WeatherAPI — free API key available:

backend=weatherapi
location=New York
weather-api-key=YOUR_WEATHERAPI_API_KEY_HERE

Caiyun — API key required (China-focused, supports Chinese):

backend=caiyun
location=121.47,31.23
caiyun-api-key=YOUR_CAIYUN_API_KEY_HERE

Worldweatheronline — no longer offers free API keys (#83):

backend=worldweatheronline
location=New York
wwo-api-key=YOUR_WORLDWEATHERONLINE_API_KEY_HERE

Pirateweather — free API key available (requires lat,lon location):

backend=pirateweather.net
location=40.71,-74.01
pirateweather-api-key=YOUR_PIRATEWEATHER_API_KEY_HERE

JSON file — read weather data from a local JSON file (useful for testing or offline use):

backend=json
location=/path/to/weather.json

Frontends

Select a frontend with the --frontend flag or by setting frontend=… in .wegorc.

Frontend Description
ascii-art-table Default. Classic colored ASCII art table.
emoji Compact emoji-based display.
markdown Markdown table output.
json JSON output, suitable for piping to other tools.

Example: wego --frontend emoji London

Color Configuration

Both ascii-art-table and emoji frontends display temperatures and wind speeds in color by default. To disable colors:

  • Pass --monochrome as a flag, or add it to .wegorc to make it permanent:
    monochrome=true
    
  • Set the NO_COLOR environment variable (see no-color.org) to disable colors without changing the config:
    NO_COLOR=1 wego
    
関連リポジトリ
avelino/awesome-go

A curated list of awesome Go frameworks, libraries and software

GoGo ModulesMIT Licensegolanggolang-library
awesome-go.com
178.7k13.4k
ollama/ollama

Get up and running with Kimi-K2.6, GLM-5.2, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.

GoGo ModulesMIT Licensellamallm
ollama.com
176.5k17k
golang/go

The Go programming language

GoGo ModulesBSD 3-Clause "New" or "Revised" Licenseprogramming-languagelanguage
go.dev
135.3k19.3k
kubernetes/kubernetes

Production-Grade Container Scheduling and Management

GoGo ModulesApache License 2.0kubernetesgo
kubernetes.io
123.8k43.7k
fatedier/frp

A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.

GoGo ModulesApache License 2.0proxyreverse-proxy
108.2k15.1k
gohugoio/hugo

The world’s fastest framework for building websites.

GoGo ModulesApache License 2.0gohugo
gohugo.io
89k8.3k
gin-gonic/gin

Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices.

GoGo ModulesMIT Licenseservermiddleware
gin-gonic.com
88.9k8.6k
syncthing/syncthing

Open Source Continuous File Synchronization

GoGo ModulesMozilla Public License 2.0synchronizationgo
syncthing.net
86.7k5.4k
junegunn/fzf

:cherry_blossom: A command-line fuzzy finder

GoGo ModulesMIT Licensefzfgo
junegunn.github.io/fzf/
81.9k2.8k
grafana/grafana

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

TypeScriptnpmGNU Affero General Public License v3.0grafanamonitoring
grafana.com
75.7k14.3k
caddyserver/caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

GoGo ModulesApache License 2.0goweb-server
caddyserver.com
74.2k4.8k
moby/moby

The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

GoGo ModulesApache License 2.0dockercontainers
mobyproject.org
71.9k19k