CLI access to your TempestWX station and forecast data.
Built with Go, Cobra, and Lipgloss.
- Clone the repo and build:
go build .- Create a
.envfile in the project root with your Tempest API token:
API_TOKEN=your_token_here
You can get an API token from tempestwx.com.
tempest-cli [command] [flags]
| Flag | Short | Description |
|---|---|---|
--station |
-s |
Station ID to pull data from |
--output |
-o |
Output format (JSON for raw JSON) |
Retrieve the weather forecast for a station with a styled ASCII art display showing current conditions and a 5-day outlook.
tempest-cli forecast -s <station_id>╭──────────────────────────────────────────────────────────────────────────────╮
│ Brookmore Victoria (America/Chicago) │
╰──────────────────────────────────────────────────────────────────────────────╯
╭──────────────────────────────────────────────────────────────────────────────╮
│ │
│ \ / 33°F Feels like 28°F │
│ .-. Partly Cloudy │
│ - ( .''-. │
│ '( ) Humidity: 57% Wind: 5.0 mph W │
│ '''-'' Pressure: 1021 mb UV: 2 │
│ Dew Point: 19°F Precip: 0% │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
╭──────────────────────────────────────────────────────────────────────────────╮
│ Mon Tue Wed Thu Fri │
│ \|/ .--. \|/ .--. .--. .--. .--. │
│ (o)( ) (o)( ) -( )- -( )- -( )- │
│ /|\ '-- /|\ '-- * * * * * * * * * │
│ 41°/28° 35°/26° 33°/19° 37°/27° 37°/26° │
│ Partly Cloudy Partly Cloudy Snow Possible Snow Likely Snow Possible │
│ 10% 10% 30% 50% 30% │
╰──────────────────────────────────────────────────────────────────────────────╯
Forecast flags:
| Flag | Short | Description |
|---|---|---|
--fahrenheit |
-f |
Display temperature in Fahrenheit (default: Celsius) |
--miles |
Display distance in miles (default: km) | |
--inches |
Display precipitation in inches (default: mm) | |
--mph |
Display wind in mph (default: km/h) |
Retrieve the latest observation data from a station.
tempest-cli observation -s <station_id>List all stations or get details for a specific station.
tempest-cli station # list all stations
tempest-cli station -s <station_id> # details for a specific stationWebSocket connection to station (in development).
tempest-cli websocketAny command supports raw JSON output with -o JSON:
tempest-cli forecast -s <station_id> -o JSONcmd/
root.go # root command and global flags
forecast.go # forecast command, API call, data types
display.go # lipgloss-styled terminal rendering
weather_icons.go # ASCII art icons and color themes
observation.go # observation command
station.go # station command
websocket.go # websocket command (stub)
main.go # entry point
MIT - see LICENSE.