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.