Skip to content

tidy-intelligence/py-wbwdi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py-wbwdi

PyPI PyPI Downloads python-package.yml codecov.yml License: MIT

wbwdi is a Polars-based Python library to access and analyze the World Bank’s World Development Indicators (WDI) using the corresponding API. WDI provides more than 24,000 country or region-level indicators for various contexts. wbwdi enables users to download, process and work with WDI series across multiple entities and time periods.

This library is a product of Christoph Scheuch and not sponsored by or affiliated with the World Bank in any way. For an R implementation, please consider the r-wbwdi package. For packages with a shared design philosophy, check out the econdataverse.

Installation

You can install the release version from PyPI:

pip install wbwdi

If you want to use the package with pandas, then install with the corresponding dependencies:

pip install wbwdi[pandas]

You also need to set the configuration to pandas (see below).

You can install the development version from GitHub:

pip install "git+https://github.com/tidy-intelligence/py-wbwdi"

Usage

The main function wdi_get() provides an interface to download multiple WDI series for multiple entities and specific date ranges.

import wbwdi as wb

wb.wdi_get(
  entities=["MEX", "CAN", "USA"], 
  indicators=["NY.GDP.PCAP.KD", "SP.POP.TOTL"],
  start_year=2020, 
  end_year=2024
)

You can also download these indicators for all entities and available dates:

wb.wdi_get(
  entities="all", 
  indicators=["NY.GDP.PCAP.KD", "SP.POP.TOTL"]
)

Some indicators are also available on a monthly basis, e.g.:

wb.wdi_get(
  entities="AUT", 
  indicators="DPANUSSPB",         
  start_year=2012, 
  end_year=2015, 
  frequency="month"
)

Similarly, there are also some indicators available on a quarterly frequency, e.g.:

wb.wdi_get(
  entities="NGA", 
  indicators= "DT.DOD.DECT.CD.TL.US",
  start_year=2012, 
  end_year=2015, 
  frequency="quarter"
)

You can get a list of all indicators supported by the WDI API via:

wb.wdi_get_indicators()

You can get a list of all supported entities via:

wb.wdi_get_entities()

You can also get the list of supported indicators and entities in another language, but note that not everything seems to be translated into other languages:

wb.wdi_get_indicators(language="es")
wb.wdi_get_entities(language="zh")

Check out the following function for a list of supported languages:

wb.wdi_get_languages()

In addition, you can list supported regions, sources, topics and lending types, respectively:

wb.wdi_get_regions()
wb.wdi_get_sources()
wb.wdi_get_topics()
wb.wdi_get_lending_types()

If you want to search for specific keywords among indicators or other data sources, you can use the Positron data explorer. Alternatively, this package comes with a helper function:

indicators=wb.wdi_get_indicators()

wb.wdi_search(
  indicators,
  keywords=["inequality", "gender"],
  columns=["indicator_name"]
)

If you want to data as a pandas or arrow data frame instead of polars, you can change the corresponding configuration:

wb.wdi_set_format("pandas")  

wb.wdi_get(
  entities=["MEX", "CAN", "USA"], 
  indicators=["NY.GDP.PCAP.KD", "SP.POP.TOTL"],
  start_year=2020, 
  end_year=2024
)

Relation to Existing Python Libraries

There are already great libraries that allow you to interact with the World Bank WDI API. The two main reasons why this library exists are: (i) to have an implementation based on Polars rather than pandas, and (ii) to have an interface consistent with the econdataverse.

About

Access and Analyze World Bank World Development Indicators (WDI) with Polars

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages