yweather is a Python module that provides an interface to the Yahoo! Weather RSS feed.
>>> client.fetch_woeid("Paris, France") '615702' >>> client.fetch_woeid("Seattle, Washington") '2490383'
Location and weather data is not limited to a single country. Fetch data for any location that is available on Yahoo! Weather.
Different countries use different measurement systems (unfortunately). Fetch data according to United States customary units or the metric system.:
>>> paris_weather = client.fetch_weather("615702", metric=True) >>> seattle_weather = client.fetch_weather("2490383", metric=False)
Data is Returned as a Dict
>>> norfolk_weather = client.fetch_weather("2460389") >>> norfolk_weather["astronomy"]["sunrise"] '7:18 am' >>> norfolk_weather["condition"]["text"] 'Partly Cloudy'
Weather data is returned as a Python
dict, not as an object of a confusing class.
No API Keys or Signup Needed
No Manual ID Lookups
>>> client.fetch_woeid("Raleigh, North Carolina") '2478307' >>> client.fetch_lid("2379574") 'USIL0228'
yweather doesn't assume you know location identifiers off the top of your head. You can call the
fetch_lid methods to lookup a location's WOEID or LID. WOEID is Yahoo! Weather's location identifier. LID is The Weather Channel's location identifier.
5-day Forecast Support
>>> london_weather = client.fetch_weather("UKXX0085") >>> len(london_weather["forecast"]) 5
By using a The Weather Channel Location ID (LID), you can fetch a location's 5-day weather forecast. A little warning though -- it's using an undocumented API. If you aren't up for it, you can still get the 2-day forecast using a WOEID.
yweather includes complete and easy-to-read documentation. Check it out for a gentle introduction or the full API details.
yweather uses its GitHub Issues page to track bugs, feature requests, and support questions.
yweather is released under the OSI-approved MIT License. See the file LICENSE.txt for more information.