Open source software for your weather station

Examples of stations running WeeWX

We thank JetBrains for free licenses of their products to the open source community.

JetBrains logo

WeeWX is a free, open source, software program, written in Python, which interacts with your weather station to produce graphs, reports, and HTML pages. It can optionally publish to weather sites or web servers. It uses modern software concepts, making it simple, robust, and easy to extend. It includes extensive documentation.

WeeWX runs under most versions of Linux, as well as macOS, *BSD, and Solaris. Many users are running on the Raspberry Pi. The images on this page and throughout this web site are from sample stations running WeeWX.

Thousands of stations throughout the world run WeeWX, many of whom have opted-in to be shown on our station map.

Key features:

Last, but definitely not least,

I wrote WeeWX over the winter of 2008-2009 for two reasons: it was a wet and miserable winter here in Oregon with not much else to do, so there was no good reason not to, and because I wanted a simple, easy-to-understand server to run my Davis VantagePro2 weather station on a Linux box. I had been using wview, which is a high-performance and feature rich system authored by Mark Teel with lots of users. Written in C, it is an efficient system that can run on underpowered boxes. In exchange, it is huge (45,000+ lines of code), tightly integrated in with its companion library, radlib (another 14,000+ lines), and very complex, making it difficult to understand and reliably customize. I wanted something more modern and much, much simpler.

Having made a career in C++ and Java, I was also interested in some more modern languages, so I thought I would try either Python or Ruby (although, truth be told, the roots of Python are nearly as old as C++!). I ended up picking Python because its libraries are more mature and there are many more choices for third party libraries.

WeeWX has grown to about 15,000 lines of code, plus another 15,000 for the hardware drivers. Because it is pure Python, it requires no makefiles, no builds, no special installs. It offers very powerful configuration and templating options, as well as an internally extensible engine, making it easy to customize. Its internal modular design and use of modern exception handling make it very robust and difficult to crash. It is also architecturally very simple and easy to understand.

Some intrepid users have run WeeWX on Microsoft Windows, but this is not yet widely supported.