Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A simple and concise Clojure library for working with the Wunderground weather forecasting API.
Branch: master
Latest commit e5a4d2 @Raynes Release 0.1.0.
Failed to load latest commit information.
src/ororo Fix a bug that causes nothing to work because Wunderground is sending…
.gitignore First commit.
LICENSE First commit. Down below.
project.clj Release 0.1.0.


A library for talking to the Wunderground API.

It currently implements all of the Wunderground Weather API, with the exception of autocomplete.


Ororo defines a function for each API 'feature'. Each API function (with the exception of history) takes two arguments: key and location.

key is an API key for the wunderground API. You can get one of these keys instantly for free by signing up on the website. API keys are free for non-commercial and lower-end usage.

location is the place you want to get information about. It can be presented in a number of ways. It can be a string of a zip code like "35554", or just a string representation of a place: "CA/San Francisco". Note that spaces are converted to underscores. If you don't want to pass a string, you can pass a collection of city and state or similar: ["Eldridge" "Alabama"], ["Sydney" "Australia"], etc.

The history function takes an extra argument. It is a date of the format "YYYYMMDD".

The API functions usually return massive maps. There is no way in red hot hell that I can document each and every key that the API throws down. You're on your own with that one. Furthermore, doesn't do much of anything to prettify json keys. They are ususally word separated by underscores rather than hyphens. I'm not sure it is worth the computational power to make these keys prettier.


Note that I was stupid enough to commit my real API key below. Rather than bother fixing the repo (by breaking its history), I simply regenerated my key. As a result, the below examples won't work unless you replace my key with one of your own.

user=> (use 'ororo.core)
user=> (radar "bd7953ef3c00c914" ["Eldridge" "Alabama"])
{:image_url "", :url ""}
user=> (radar "bd7953ef3c00c914" "35554")
{:image_url "", :url ""}
user=> (satellite "bd7953ef3c00c914" ["Eldridge" "Alabama"])
{:image_url "", :image_url_ir4 "", :image_url_vis ""}


In cake or leiningen: :dependencies [[ororo "0.1.0-alpha1"]].

Something went wrong with that request. Please try again.