What is Open Spending

Open Spending is about mapping the money - Where it comes from and where it goes to

It's a project that aims to track every (public) government and corporate financial transaction across the world and present it in useful and engaging forms for everyone from a school-child to a data geek.

We're exploring, structuring and mapping out different kinds of public finance from all around the world - state budgets, spending reports, grants and subsidy data.

What's wdmmg

(wdmmg) is the pylons application that drives th Open Spending website. It queries the database and serves it as websites or json.

The project started out as Where does my money go, which is the reason for the name :mod:`wdmmg`.

Add-Ons for wdmmg

Some functionality is moved into external packages. Unless noted these packages are available from the Open Knowledge Foundation bitbucket repositories

Data loaders - extract and clean up datasets and load them into a wdmmg database.
Display data tables for view breakdowns, using some deep JS magic.
Disqus commenting for Where does my Money go? Derived from ckanext-disqus.
Flash visualizations used on the original "Where does my money go" dashboard <>;
Javascript-based 'rich internet applications' for Where Does My Money Go?
Plugin for WhereDoesMyMoneyGo to display view breakdowns as treemaps, using theJit

More Information

Read the wdmmg in the /doc subdirectory. This is a Sphinx project, so you can create other formats, e.g. html.

You can find more information about the project and the community on the Open Spending homepage and in the Open Spending wiki

Maybe some information

Where to get help

Feel free to catch us

Hacking on Open Spending

There are different fields where you can get active.

  • You can find, collect, prepare and publish data. A related project, CKAN <>; is dedicated to get, use and share these data.
  • You can help with the :mod:`wdmmg` pylons application that drives the website. See the :doc:`install` documentation.
  • If you have interesting data this data needs to be loaded into wdmmg. You can write a loader, either in :mod:`wdmmg-ext` which provides some infrastructure too, or your own package. Let us know on the mailing lists.

All our packages are available in the Open Knowledge Foundation bitbucket repositories . We use trac to track bugs and other tickets at

For reference: There is an **old** trac site that is no longer used.

Generally development is in Python. Currently Pylons 1 is used to present a web interface. You'll likely need to use virtualenv to manage the ad hoc dependencies (of which there are many).

To get started installing the WDMMG app see doc/install.rst

Mercurial Crib sheet

All of our repositories are Mercurial repositories. The following is fairly standard Mercurial stuff, but still useful]

You can get started with the following command:

hg clone

This will download a copy of the repository, and put it inside a newly-created wdmmg directory.

To check-in your changes:

hg ci hg push

To get other people's changes:

hg pull hg up

To avoid typing in your password every time you push, edit the file wdmmg/.hg/hgrc . You should see a line giving the URL from which you cloned the repository. Add your username and password to the line as follows:

[paths] default =


Copyright (and Database Rights) (c) 2010 the Open Knowledge Foundation, <>.

Unless otherwise stated: