87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
# OpenWeatherWidget
|
|
|
|
Minimal weather widget for your desktop updates using the [OpenWeatherMap](https://openweathermap.org) API.
|
|
|
|
## Status
|
|
⚠️ Work in progress - not ready for regular use.
|
|
|
|
## Configuration
|
|
The widget reads configuration from:
|
|
|
|
```
|
|
~/.config/candywidgets/openweathermap.toml
|
|
````
|
|
|
|
Example:
|
|
|
|
```toml
|
|
# General configs section
|
|
[general]
|
|
# API version.
|
|
# Available options: "free_2.5" (default), "onecall_3.0" (WIP)
|
|
# Other APIs are WIP
|
|
api_version = "free_2.5"
|
|
|
|
# Path to cache file.
|
|
# Default: ~/.cache/candydesktop/owm_widget.json
|
|
cache_file = "/path/to/file"
|
|
|
|
# Query parameters section
|
|
[query_params]
|
|
# API key.
|
|
# Get a free API key from https://openweathermap.org
|
|
api_key = "your_api_key_here"
|
|
|
|
# Location parameters.
|
|
# One of these must be specified: `city_name`, `city_id`, `lat` + `lon` pair, or `zip`
|
|
# `lat=` must always be paired with `lon=`
|
|
# Find your city id in the url of your city at https://openweathermap.org/find?
|
|
city_id = "5391959" # Example: San Francisco, US
|
|
|
|
# Measurement units: `standard` (Kelvin, default), `imperial` (Fahrenheit), `metric` (Celcius)
|
|
units = "metric"
|
|
|
|
# Language. Default: "en" (English)
|
|
lang = "en"
|
|
````
|
|
⚠️ WIP - Full configuration format will be released later.
|
|
|
|
## API
|
|
|
|
- Currently supports the [Free API v2.5](https://openweathermap.org/appid). Find details on [OWM](https://openweathermap.org/current) or [Postman](https://www.postman.com/api-evangelist/openweathermap/request/9dt1g2m/call-current-weather-data-for-one-location).
|
|
- [One Call API 3.0](https://openweathermap.org/api/one-call-3) is free for up to 1000 API calls per day, but requires payment information for subscription.
|
|
- Support for student plan may be considered later.
|
|
- Support for One Call v3.0 may be considered later.
|
|
|
|
## To-do
|
|
|
|
- [x] TOML configuration file
|
|
- [x] Fetch and parse current weather data from OWM
|
|
- [ ] Weather forecast query
|
|
- [ ] Complete library crate [(WIP)](https://git.candifloss.cc/candifloss/OpenWeatherMapSDK)
|
|
- [ ] Complete configuration
|
|
- [ ] CLI args
|
|
- [ ] GUI - ~~[iced](https://book.iced.rs/)~~ [Slint](https://docs.slint.dev/latest/docs/slint/)
|
|
- Weather info:
|
|
- [x] Cureent weather
|
|
- [ ] Forecast
|
|
- [ ] Alerts and details
|
|
- Platforms:
|
|
- [x] X11
|
|
- [ ] Wayland
|
|
- Tested on:
|
|
- [LeftWM](https://github.com/leftwm/leftwm)
|
|
- Ubuntu/Gnome on xorg
|
|
- [ ] Icons
|
|
- [ ] Support One Call API 3.0
|
|
- Components:
|
|
- [x] Daemon
|
|
- [x] GUI widget
|
|
- [ ] TUI client
|
|
- [ ] CLI client
|
|
|
|
## Low-probability To-do
|
|
|
|
- [ ] Historical weather query
|
|
- [ ] Weather maps
|