PyWeather is a python package that contains weather related modules implemented in Python. This light weight package is designed to be straightforward and easy to use. Although many of the conversion algorithms are approximations, they are "good enough" for the average amateur meteorologist, as well as some professionals. The modules in PyWeather exist in 3 fundamental categories:

Conversion Equations and Functions

The field of meteorology spreads many sciences, and many thousands of years. Accordingly, serveral scales and numerical systems are used for reporting observations. As an example, ambient temperature can be expressed in degrees Fahrenheit, Kelvin, and Rankine; barometric pressure can be expressed in atmospheres, inches of mercury at 32 degrees F, inches of mercury at 60 degrees F, millibars, pascals, kilopascals, and pounds per square inch.

Equations exist for conversion to/from all of the units used in meteorology, and indeed many of the equations are very straightforward. However, most online references are designed for end-users, and not programmers. Multiple websites can convert "inches of mercury at 32 degrees F" to atmospheres, but seldom do they also provide the mathematical equations used to perform the converrsion.

PyWeather helps programmers writing scientific and meteorological software by implementing many of the common conversion equations. These conversion functions are found in the weather.units package.

Console Readers

PyWeather also contains modules that can be used to retrieve observations from weather consoles. These modules typically use the pyserial pacakge to connect to the weather console, and can be found in the weather.stations package. Currently support is limited to the following weather stations:

If you have developed a Python module to retrieve observations from a weather console not listed above, please email the author in order to have your module added to PyWeather.

Observation Publishers

Observations read from the console readers can be published to weather services. The publishers are located in the package. Currently, support is provided for the following weather services:

If you have developed a Python module that can post observations to a weather service, please email the author in order to have your module added to PyWeather.

More Information

For more information, see the following projects links:


Two mailing lists have been created:

To join either list, send an email to with the contents "subscribe pyweather-users" or "subscribe pyweather-devel" in the body of the message.

Christopher Blunck