Weewx

Open source software for your weather station

About weewx

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 the WeatherUnderground, PWSweather.com, or CWOP. It uses modern software concepts, making it simple, robust, and easy to extend. Here's a list of sample stations.

weewx runs under most versions of Linux, as well as Mac OS X and Solaris. Many users are running on the Raspberry Pi.

Supported hardware:

weewx logo

Key features:

last, but definitely not least,

News

History

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's an efficient system that can run on very underpowered boxes. In exchange, it's huge (nearly 50,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 learning some more modern languages, so I thought I'd give either Python or Ruby a try (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 is well under 7,000 lines of code, plus another 4,000 comment lines. 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.

 Right now, it is Unix only. I have not tried porting to Microsoft Windows, but given the portability of Python it is likely to be a large, but not mammoth, project.

See the Users' Manual for more details.

weewx on SourceForge

Weewx is a SourceForge project. A Subversion repository is available, should you wish to try the very latest version. To get a working copy of the current main development trunk:

svn co http://svn.code.sf.net/p/weewx/code/trunk weewx

Users Group

There is Users' Group on Google: http://groups.google.com/group/weewx-user