MCPcopy Index your code
hub / github.com/schachmat/wego

github.com/schachmat/wego @2.4 sqlite

repository ↗ · DeepWiki ↗ · release 2.4 ↗
131 symbols 255 edges 14 files 3 documented · 2%
README

wego is a weather client for the terminal.

Screenshots

Features

  • show forecast for 1 to 7 days
  • nice ASCII art icons
  • displayed info (metric or imperial units):
  • temperature range (felt and measured)
  • windspeed and direction
  • viewing distance
  • precipitation amount and probability
  • ssl, so the NSA has a harder time learning where you live or plan to go
  • multi language support
  • config file for default location which can be overridden by commandline
  • Automatic config management with ingo

Dependencies

  • A working Go 1.20 environment
  • utf-8 terminal with 256 colors
  • A monospaced font containing all the required runes (I use dejavu sans mono)
  • An API key for the backend (see Setup below)

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 $HOME directory (it will be hidden in some file managers due to the filename starting with a dot).
  2. With an Openweathermap account
    • You can create an account and get a free API key by signing up
    • Update the following .wegorc config variables to fit your needs: backend=openweathermap location=New York owm-api-key=YOUR_OPENWEATHERMAP_API_KEY_HERE
  3. With a Worldweatheronline account
    • Worldweatheronline no longer gives out free API keys. #83
    • Update the following .wegorc config variables to fit your needs: backend=worldweatheronline location=New York wwo-api-key=YOUR_WORLDWEATHERONLINE_API_KEY_HERE
  4. With a WeatherAPI account
    • You can create an account and get a free API key by signing up
    • Update the following .wegorc config variables to fit your needs: backend=weatherapi location=New York weather-api-key=YOUR_WEATHERAPI_API_KEY_HERE
  5. You may want to adjust other preferences like days, units and …-lang as well. Save the file.
  6. Run wego once again and you should get the weather forecast for the current and next few days for your chosen location.
  7. 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.

You can set the $WEGORC environment variable to override the default config file location.

Todo

License - ISC

Copyright (c) 2014-2017, teichm@in.tum.de

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Extension points exported contracts — how you extend this code

Backend (Interface)
(no doc) [7 implementers]
iface/iface.go
Frontend (Interface)
(no doc) [4 implementers]
iface/iface.go

Core symbols most depended-on inside this repo

aatPad
called by 15
frontends/ascii-art-table.go
mdPad
called by 14
frontends/markdown.go
Temp
called by 6
iface/iface.go
Speed
called by 4
iface/iface.go
Distance
called by 4
iface/iface.go
formatCond
called by 2
frontends/markdown.go
formatCond
called by 2
frontends/ascii-art-table.go
darkBackground
called by 2
frontends/colors.go

Shape

Method 63
Struct 39
Function 25
Interface 2
TypeAlias 2

Languages

Go100%

Modules by API surface

iface/iface.go16 symbols
backends/smhi.go13 symbols
backends/openweathermap.org.go13 symbols
frontends/markdown.go12 symbols
frontends/ascii-art-table.go12 symbols
backends/worldweatheronline.com.go12 symbols
backends/weatherapi.com.go12 symbols
backends/open-meteo.com.go11 symbols
frontends/emoji.go8 symbols
backends/caiyun.go7 symbols
main.go6 symbols
frontends/json.go4 symbols

Dependencies from manifests, versioned

github.com/clipperhouse/uax29/v2v2.2.0 · 1×
github.com/mattn/go-colorablev0.1.14 · 1×
github.com/mattn/go-isattyv0.0.20 · 1×
github.com/mattn/go-runewidthv0.0.23 · 1×
github.com/muesli/mangov0.2.0 · 1×
github.com/muesli/roffv0.1.0 · 1×
github.com/schachmat/ingov0.0.0-2017040301150 · 1×
golang.org/x/sysv0.29.0 · 1×

For agents

$ claude mcp add wego \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact