PyWeather (2017-2019)

TL;DR: I made a weather checking tool in Python that used the Wunderground API. It managed to be my first major project where I learned a lot about software development, QA, versioning, issue tracking, etc.

PyWeather was my second major Python project. Following on the heels of PyTerm – I was excited to learn new stuff, and have some fun.

The concept of PyWeather was simple – checking the weather in Python. After some early development fumbles, I settled in on using the Wunderground API for weather data, and it all went from there.

I would continue working on PyWeather – but Wunderground decided to kill their API in February 2019. I did have ambitions to try and rig up PyWeather to use Dark Sky in early 2019, but these ambitions quickly died. Rigging up a 2-year-old program with 10k lines of code to use a new API is not easy.


Regardless, PyWeather was a monumental project to work on. With a codebase of about 15,000 lines, and 25 releases, I taught myself a lot with working on PyWeather. Namely, working with APIs (and error checking), reading configuration files, setting up static APIs for updater use, doing QA on software, among other things. It was a monumental leap in my development career, and a project that I’ll always remember and be proud of. It also gained some traction on GitHub, with a few forks and 30 stars before moving to GitLab.

PyWeather not only checked the weather – it also had a lot of features behind it. Some of these features included a caching system, radar viewer through a GUI, automatic updater (although it did take a lot of work to perfect it), a much too long setup script, and lots more. I’d be here for hours describing the level of customization that I built into PyWeather – it was truly monumental.


PyWeather in reality stopped working sometime between March and April 2019, as Wunderground was pretty slow when it came to shutting down their API. Below is the last known screenshot of PyWeather in action, taken on March 2, 2019:


Before the Wunderground API shut down, I wanted to document all the versions of PyWeather in action, through a project called the PyWeather Archives. You can currently visit for the temporary version hosted here on the WordPress site. Plans for a Materialize-based site are under way, but I’ve been extremely busy so I haven’t had too much time to put into making the archives.


Code is available here:


On December 19, 2018, the last PyWeather update was announced – v1.0.3. This marked the conclusion to development of PyWeather (although there are more commits past this date, they all broke PyWeather badly)

Sleep tight, PyWeather.

January 9, 2017 9:59 PM – December 19, 2018 1:52 PM

In case you’re curious, that’s 708 days, 15 hours, and 53 minutes of development.

In other conversions, that’s 1 year, 11 months, 9 days, 15 hours and 53 minutes, or 23 months, 9 days, 15 hours and 53 minutes.