A simple cli weather tool built with Go that provides weather forecasts in the terminal.
The easiest way to install gust at the moment is with Homebrew:
brew tap josephburgess/formulae
brew install gust
git clone https://github.com/josephburgess/gust.git
cd gust
go mod tidy
go build -o gust ./cmd/gust
Move the binary to a directory in your $PATH
:
mv gust /usr/local/bin/
The first time you run gust a first-time configuration wizard will get you set up in no time.
# Get weather for your default city
gust
# Get weather for a specific city
gust london
These flags modify user config / settings and don't display weather by themselves
Short | Long | Description |
---|---|---|
-h |
--help |
Show help |
-S |
--setup |
Run the setup wizard |
-A |
--api=STRING |
Set custom API server URL (mostly for development) |
-C |
--city=STRING |
Specify city name |
-D |
--default=STRING |
Set a new default city |
-U |
--units=STRING |
Set default temperature units (metric, imperial, standard) |
-L |
--login |
Authenticate with GitHub |
-K |
--api-key |
Set your api key (either gust, or openweathermap) |
These flags control how weather information is displayed
Short | Long | Description |
---|---|---|
-a |
--alerts |
Show weather alerts |
-c |
--compact |
Show today's compact weather view |
-d |
--detailed |
Show today's detailed weather view |
-f |
--full |
Show today, 5-day and weather alert forecasts |
-r |
--hourly |
Show 24-hour (hourly) forecast |
-y |
--daily |
Show 5-day forecast |
gust uses a proxy api I set up and host privately, breeze, to fetch weather data. This keeps the setup flow pretty frictionless for new users.
When you first run gust:
- A setup wizard will guide you through the initial configuration
- You'll be prompted to choose an authentication method:
- GitHub OAuth (one click sign up/in)
- Your own OpenWeather Map API key if you prefer not to use Oauth or need much higher rate limits
- User submitted keys will need to be eligible for the One Call API 3.0
- The first 1000 calls every day are free but they ask for CC info to get a key
- If you choose GitHub OAuth:
- Your default browser will open to complete authentication
- No need to manually obtain or manage API keys
- Your credentials will be securely stored locally for future use in
~/.config/gust/auth.json
After this one-time setup, authentication happens automatically whenever you use the app.
If you encounter any auth issues, you can re-run the setup wizard or use the -L / --login
(Oauth) -K / --api-key
(api key) flags to re-set your key or check the local config files.