Code for IATI: sharing and collaborating on IATI tools

Happy new year! I hope everyone had a great break over the new year period.

A lot of us in the IATI community have been working on a bunch of IATI-related projects and tools for a number of years. The tools we’re each working on are often useful to other people. A few of us decided to try and make it easier to share and collaborate on our projects, under the banner of Code for IATI (inspired by Code for America). I’ve posted below our first blog post which explains a little bit what we’re trying to achieve. Feedback and collaboration very welcome!

Hello, World!

Welcome to Code for IATI! This website (and a Github repository) has been set up to bring together tools and techniques that members of the IATI community regularly make use of when working with IATI data. Some of the tools are solving quite specific or niche problems, but many others are commonly required for interpreting IATI data or for building tools that use IATI data.

By bringing them together in one place, with a brief description of each, we hope to make it easier for us all to share and discover these tools, as well as to sustainably maintain them.

Examples of tools so far

  • Replicated codelists: A nice (bilingual) interface for accessing up-to-date third-party codelists used in IATI data, including historical withdrawn codes.
  • Exchange Rate Calculator: an online exchange rate converter for historical exchange rates, from the OECD and US Federal Reserve (the underlying data is also available to download).
  • Org ID Finder: A tool to find organisation IDs of publishers in IATI data
  • iatikit: A python toolkit for using IATI data

Who is Code for IATI for?

Code for IATI is for anyone who finds these resources useful or stands to benefit from using IATI data, and for anyone who would like to contribute and share their own resources. That means both technical and non-technical users. We’re very keen to work with other developers in terms of building and maintaining tools - and that will likely be a big focus initially - but our goal is to build tools that are ultimately useful for non-developers, in order to make it easier to use IATI data across the board:

  • to ensure tools are useful, we need a lot of input from those working in policy environments - that could mean anything from detailed knowledge of the meaning of individual codelists to a more high-level strategic vision of how information can help solve problems in the way development cooperation and humanitarian aid is delivered
  • to communicate between the technical and policy levels we also need writers
  • to translate resources into different languages we need those with language skills (starting with French, but we’re keen to expand to other languages, preferably with some thinking about how we would maintain multiple languages going forward).

How Code for IATI works

Code for IATI is practical and positive. We want to make and do things, and we want to encourage others to make and do things, but we don’t volunteer other people for work. Is there something that doesn’t work the way you would like, or something you would like to exist but doesn’t? Great! Dive in and be the change you want to see :slight_smile:

We also want it to be fun. There’s an enormous amount of potential of IATI data, and a lot of people in the IATI community with great ideas. We will encourage anyone to do anything they want to with IATI data, and will give open and friendly advice.

We hope that new tools will be added regularly and anyone can submit them. We’re happy to list them here (or include them on the Code for IATI Github repository as requested) as long as they are open source, somehow related to IATI data (even loosely), and interested in collaboration in some form (note, we also have a Code of Conduct).

Sounds cool! How can I get involved?

Well, it’s up to you!


Thx for sharing, this looks super interesting! Fills some of the small but annoying gaps for data users. Can I make a suggestion? It’d be useful to have a tag on the webpage for each project to say when it was last updated (or current, or maintained, or something similar). Just learning the lessons from the Open Development Toolkit.


Thanks for the feedback @SJohns – this is a great idea.

Thanks for making the codelists available in csv/json/xml as well. I was going round the different places to keep ours up to date but having them available in one place for download makes life much easier - thanks


Great to hear the codelist API has been useful. Thanks for the feedback, @RichPepp!

If you have any other suggestions or requests for the codelists project, please let us know either here or on github. We’re planning a post about that for next week, so we’re thinking about it at the moment!

It’s difficult to know what extra to add. I have the lists built into our system in a single table with an extra column to say which list a record is in but other than that we are using exactly the same as you have.
From our point of view as we started to push out more data it made it easier to add new reporting elements rather than adding another table e.g. if we wanted to start reporting against a different sector and we add the data we need to the new sector data rather than adding further tables - but in the end that is just an internal issue with us and isn’t as limiting for you as just adding another codelist so I’m happy with what is there currently


Any reason Datastore and Validator are not mentioned anywhere on Code for IATI?

Surely they should be included as newcomers to IATI would initially live under assumption both Datastore and Validator are non existent.

Any specific reason for this omission?

Hey @siemvaessen - apologies for slow reply, I have been traveling and at a conference this week.

No particular reason! Though NB it’s not intended to be an exhaustive list of all available IATI-related tools; I think it’s also quite important for other people to decide if they would like to include their own tools and invite collaboration on them. As the above blogpost says:

If you would like to add other tools, take a look at this page (basically just restating the above a little more clearly) and if you’re happy for your projects to be included on that basis – which would be great! – then please send a PR!


Done :slight_smile: -

1 Like