A command line tool for getting the weather conditions at the current location.
* requires an api key
At this time it is necessary to compile and install the crate locally. The simplest way to do this is to install the Rust toolchain.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shThen use cargo to build and install from crates.io
cargo install conditionsBy default the Open-Meteo weather provider will be used along with a location determined by the machine's ip address.
> conditions current | jq
{
"temp": 57,
"icon": ""
}In order to use the Weather API provider create an account and then an API Key. Then persist the api key in settings.
conditions weather-api-key set [your-api-key]If you prefer to set a specific location you can do so via a postal code:
conditions location set "[postal-code], [country]"For example:
conditions location set "10001, usa"Here's how I'm using this with SketchyBar.
#!/bin/bash
conditions="$(conditions current)"
icon=$(echo "$conditions" | jq -r .icon)
temp=$(echo "$conditions" | jq -r .temp)
sketchybar -m \
--set weather_logo icon="${icon}" \
--set weather label="${temp}°F"Run tasks from this directory via: xc [task-name]
cargo buildcargo buildcargo runcargo install --path .| Project | Version |
|---|---|
| rust-lang.org | ^1.6 |
| rust-lang.org/cargo | ^0.66 |
| git-scm.org | ^2.38 |
| xcfile.dev | ^0 |
I wanted to learn rust and had a (cargo-culted) shell script that performed this task for usage with sketchybar.