Halo – Weather software written in Python

Last Updated on August 24, 2020

Farmers need forecasts to help them coordinate planting and harvesting their crops. Airlines need to know about local weather conditions in order to schedule flights. And where would sailors around the British Isles be without the Met Office’s Shipping Forecast broadcast by BBC Radio 4. I was often found listening to the Shipping Forecast not to learn the weather outlook for Forties, Dogger, Humber, German Bight or Rockall. Instead, the slightly hypnotic Sailing By light music caught my fascination. But I digress!

Halo is a weather app written in the Python programming language and uses Pycairo, a Python module providing bindings for the Cairo graphics library. Halo also uses matplotlib, an excellent plotting library, which came top in our 10 Best Free Plotting Tools Group Test.

The software lets you view the weather in your town/city and check out the forecast and historic temperature trends. Halo identifies your location based on your IP address. But you can also add other locations.

The software saw its first release in December 2018.


The developer provides a Debian/Ubuntu package. There’s also a snap available from snapcraft.io.

Downloading and installing the source code is simple and straightforward.

$ https://github.com/cijo7/Halo.git
$ cd Halo
$ sudo python3 setup.py install

This was sufficient to install the software. You might find you are missing some dependencies. If so, on Ubuntu, type:

sudo apt install python3-setuptools pkg-config libcairo2-dev libgirepository1.0-dev gir1.2-gtk-3.0 python3-dev

Next, you’ll need a free API key, and then add that key to the software.

You can sign up for the Weatherbit API here. The free API key lets you make 1,000 calls/day, access 16 day forecasts, with a 1 hour data update delay. It takes about 5-30 minutes before your API key is validated.

Once validated, enter the key by clicking the Menu button (the three vertical dots), select Preference, and enter the key.


Next page: Page 2 – In Operation / Other Features

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation / Other Features
Page 3 – Summary

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
Emilio Fontana
Emilio Fontana
5 years ago

“The free plan limits the historic weather data to the previous day.”

Could one not save the date each day in one’s own database and then plot the historical data from that stored data to give a view of changes over the last week or last month?