HTTPS clone URL
Subversion checkout URL
Simple Python for accessing the Wunderground API and getting forecast data (and more!) right from your favorite shell. Now on pypi as well! http://pypi.python.org/pypi/pycliweather . Check the 'webapp' branch out if you're looking for this as a simple Flask webapp (not finished yet but it works).
The problem: I want to look up the weather from wunderground from my terminal without opening up a web browser. I figured "hey, this should be easy / fun to do using Python!" -- WRONG! XML is always a pain to work with, and there is no *easy* way to get XML schema into a dict. Most people don't even use XML correctly; you should use JSON if you just have strings inside of XML tags and nothing more. Every API I've ever seen / worked with uses XML in this way, and so they could all replace it with the *much* easier to parse JSON. Update: You can now pass in the location as the first argument to the script. Update 2: You can use *any* location search format that wunderground supports; this includes zipcode, airport code, city name and state, etc. If Wunderground returns valid XML for your query, pycliweather will parse it; the searches are limited only by the Wunderground API. In the example below, I'm using 'dallas texas'. There is also a default specified in the code should a location not be passed. Anyway, here is what should come out when you run this: likwid@helios pycliweather(master)$ weather dallas texas Location: dallas+texas Sunrise: 6:18 Sunset: 20:37 Moon visible: 95% Friday - Partly Cloudy - 79F to 99F - 0% chance of rain Saturday - Partly Cloudy - 79F to 104F - 10% chance of rain Sunday - Partly Cloudy - 79F to 101F - 10% chance of rain Monday - Partly Cloudy - 77F to 99F - 10% chance of rain Tuesday - Chance of a Thunderstorm - 77F to 95F - 20% chance of rain Wednesday - Chance of a Thunderstorm - 76F to 92F - 30% chance of rain