powerline-owmweather 🌦
A light-hearted Powerline segment for fetching and showing the weather in the current location (either by IP geolocation or by setting a location, see Configuration below).
Motivation
The built-in weather segment is using Yahoo Weather API which is no longer available so I decided to create an almost drop-in replacement using OpenWeather.
Requirements
- Powerline
- A (free) OpenWeather account and API key with the "Current Weather Data" plan enabled.
Installation
pip install powerline-owmweather
Activation
The very minimum required to activate the segment is to add the following to your theme JSON:
{
"function": "powerline_owmweather.weather",
"args": {
"openweathermap_api_key": API_KEY
}
}
Alternatively, the API key can also be provided by setting it as an environment variable, see Configuration and Customization for details.
and the following to your colorscheme JSON (the colors can be customized):
"groups": {
...,
"owmweather": {
"fg": "gray9",
"bg": "gray2",
"attrs": []
}
}
Configuration and Customization
The following optional args are available:
| Argument | Type | Description | Default |
|---|---|---|---|
openweathermap_api_key |
string | If not provided in the theme JSON, the segment will try to use the POWERLINE_OPENWEATHERMAP_API_KEY environment variable |
POWERLINE_OPENWEATHERMAP_API_KEY environment variable |
condition_as_icon |
boolean | If true, condition will be displayed as an icon (if one of known conditions).If false condition will be displayed as a string |
true |
humidity_format |
string | A Python format string that accepts humidity as an argument |
"{humidity:.0f}" |
location_query |
string | Location in format CITY, 2-LETTERS-COUNTRY-CODE | Retrived using IP geolocation |
post_condition |
string | String to append after condition |
"" |
post_humidity |
string | String to append after humidity |
"" |
post_location |
string | String to append after location |
"" |
post_temp |
string | String to append after temp |
"" |
pre_condition |
string | String to prepend before condition |
" " |
pre_humidity |
string | String to prepend before humidity |
" " |
pre_location |
string | String to prepend before location |
" " |
pre_temp |
string | String to prepend before temp |
" " |
show |
string | Comma-separated string specifies what data to show. Can include "condition", "humidity", "location", "temp".See Highlight Groups |
"temp" |
temp_format |
string | A Python format string that accepts temp as an argument |
"{temp:.0f}" |
ttl_in_minutes |
integer | Time in minutes for which location and weather are cached. Warning: The lower the value the slower your terminal will be |
60 |
units |
string | Temperature units. Should be one of "C", "F", "K" |
"C" |
Highlight Groups
Every data in "show" is displayed in its own segment with its own highlight group, meaning it can be styled independently in your colorscheme JSON. Each highlight group is composed of owmweather_{data_name}, for example:
"owmweather_condition": {
"fg": "gray6",
"bg": "gray3",
"attrs": []
},
"owmweather_temp": {
"fg": "gray9",
"bg": "gray2",
"attrs": []
}
"pre_{data_name}" and "post_{data_name}" can also be customized using "owmweather_pre_{data_name}" and "owmweather_post_{data_name}" highlight groups.
If a specific highlight group is not defined then the style of "owmweather" group will be used.
Changelog
0.5 - Dec. 27 2024
- Allowing to set openweathermap API key as an environment variable
0.4 - Nov. 3 2020
'%'is no longer in the defaulthumidity_format- Added
pre_dataandpost_dataarguments and highlight groups - Added ability to show location
0.3 - Nov. 1 2020
- Added ability to display humidity
0.2 - Nov. 1 2020
- Added ability to display temperature, condition
- Added ability to display condition as either icons or strings
0.1.1 - Oct. 31 2020
- Fixed a bug that prevented setting a custom
ttl_in_minutes - Added debug logs
0.1.0 - Oct. 31 2020
Initial release
TODO
- Support icons
- Support weather description ("cloudy", "windy", etc)
- Support configurable information to display:
- Temperature
- Condition
- Wind speed/direction
- Humidity
- Pressure
Metadata
Release files for powerline-owmweather 0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| powerline_owmweather-0.5-py3-none-any.whl | Python 3 | none | any | Details for powerline_owmweather-0.5-py3-none-any.whl |
Release files / powerline_owmweather-0.5-py3-none-any.whl
| Download URL | powerline_owmweather-0.5-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
873c58f5d0deb40852be571c25bded83b09c27590d4a67d491b1325ec580cc32
|
|
BLAKE2b-256 checksum How to use checksums |
7c254f3276c7cff13002d042028a4a5edd57fb9740baca58f94be1c46358ebf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.4
|
Security for powerline-owmweather 0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.