6 releases
0.3.0 | Jan 6, 2024 |
---|---|
0.2.0 | Oct 8, 2023 |
0.1.3 | Sep 6, 2023 |
#31 in #condition
57KB
1K
SLoC
Conditions
A command line tool for getting the weather conditions at the current location.
Weather Sources
* requires an api key
Installation
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 | sh
Then use cargo
to build and install from crates.io
cargo install conditions
Usage
By 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": ""
}
Weather API
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]
Location
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"
SketchyBar
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"
Tasks
Run tasks from this directory via: xc [task-name]
check
cargo build
build
cargo build
run
cargo run
install
cargo install --path .
Dependencies
Project | Version |
---|---|
rust-lang.org | ^1.6 |
rust-lang.org/cargo | ^0.66 |
git-scm.org | ^2.38 |
xcfile.dev | ^0 |
Why
I wanted to learn rust and had a (cargo-culted) shell script that performed this task for usage with sketchybar.
Dependencies
~54MB
~1M SLoC