Skip to main content

PyPI Downloads

powerline-owmweather 🌦

Example 1

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

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 default humidity_format
  • Added pre_data and post_data arguments 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

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)

Table of built distributions (wheels) for powerline-owmweather 0.5
File Interpreter ABI Platform
powerline_owmweather-0.5-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.5 This release

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page