econdataverse

A universe of open-source packages to work seamlessly with economic data in R and Python

Goal

While much economic data is accessible through public APIs, many of it is only available in static formats, such as spreadsheets or reports, requiring manual downloading or scraping. The landscape of economic data tools is also highly fragmented, with packages that vary significantly in design, syntax, and usability. These inconsistencies create significant inefficiencies for analysts and researchers who rely on multi-source data.

The econdataverse addresses these challenges by establishing a standardized, cross-language framework, enabling users to access, explore, and analyze economic data seamlessly, regardless of its original format. By offering consistent function names, tidy data outputs, and multi-language compatibility, the econdataverse aims to eliminate these common obstacles, empowering users to focus on research and analysis rather than data acquisition and cleaning.

Roadmap

The table below indicates which R or Python packages are currently released, in development or planned.

  • Planned: 📝
  • In Development: 🛠️
  • Pre-release: 🚀
  • Released: ✅
Institution Data Source R Python
World Bank World Development Indicators (WDI) 🚀 wbwdi 🛠️ wbwdi
World Bank International Debt Statistics (IDS) wbids 📝
OECD Data API 📝
United Nations COMTRADE API 📝

… and many more to come!

If you want to contribute a package that you maintain, please create an issue on GitHub.

Principles

Consistent Interface

Every package within the econdataverse follows a standardized interface with predictable patterns. For instance, functions for data retrieval are named consistently: *_get functions retrieve data from a specific source, *_list functions enumerate available resources.

Coding Style

For R packages, the econdataverse adopts the tidyverse coding style and enforces it through {lintr}. For Python, we use the same naming conventions, but respect style conventions layed out in PEP 8. These styles enhance the readability of code and align with the practices of users familiar with the corresponding language.

Tidy Data Outputs

All packages return data in a tidy format, with each variable as a column, each observation as a row, and each data type as a table. Defaulting to tidy data ensures compatibility with popular data manipulation and visualization libraries in both R and Python.

Comprehensive Unit Testing

Each package is thoroughly tested through extensive unit tests, which ensure consistent functionality, protect against regressions, and help users trust that the packages will work as expected across different environments.

Open-Source Licensing

All packages are released under the MIT License, which permits wide usage and modification. The MIT License promotes transparency, allowing users to freely adapt the tools for their specific needs while contributing improvements to the community.

Multi-Language Compatibility

Wherever feasible, econdataverse interfaces are designed to work across languages. Consistency across languages enables analysts and researchers to incorporate these tools into various projects, regardless of language preference, and fosters a collaborative, multi-lingual community.

Sponsors

The initiative is currently sponsored by

If you want to sponsor the development of a package for a data source of your choice, please get in touch with Christoph Scheuch.