Statistical Data and Metadata eXchange (SDMX) for the Python data ecosystem

pandaSDMX is an Apache 2.0-licensed Python library that implements SDMX 2.1 (ISO 17369:2013), a format for exchange of statistical data and metadata used by national statistical agencies, central banks, and international organisations.

pandaSDMX can be used to:

  • explore the data available from data providers such as the World Bank, ILO, ECB, Eurostat, OECD, and United Nations;

  • parse data and metadata in SDMX-ML (XML) or SDMX-JSON formats—either:

    • from local files, or

    • retrieved from SDMX web services, with query validation and caching;

  • convert data and metadata into pandas objects, for use with the analysis, plotting, and other tools in the Python data science ecosystem;

  • apply the SDMX Information Model to your own data;

…and much more.

Get started

Assuming a working copy of Python 3.7 or higher is installed on your system, you can get pandaSDMX either by typing from the command prompt:

$ pip install pandasdmx

or from a conda environment:

$ conda install pandasdmx -c conda-forge

Next, look at a usage example in only 10 lines of code. Then dive into the longer, narrative walkthrough and finally peruse the more advanced chapters as needed.

Bear in mind that SDMX was designed to be flexible enough to accommodate almost any data. This also means it is complex, with many abstract concepts for describing data, metadata, and their relationships. These are called the “SDMX Information Model” (IM).

But fear not: This documentation gently explains the functionality provided by pandaSDMX itself enabling you to make the best use of all supported data sources. A decent understanding of the IM is conveyed in passing. However, if you got hooked, follow the list of resources and references, or read the API documentation and implementation notes for the pandasdmx.model and pandasdmx.message modules that implement the IM.

Contributing to pandaSDMX and getting help

  • Report bugs, suggest features or view the source code on GitHub.

  • The sdmx-python Google Group and mailing list may have answers for some questions.