Skip to main content

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.

Metadata

Release files for wbwdi 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wbwdi 1.0.1
File Size Uploaded
wbwdi-1.0.1.tar.gz 30.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wbwdi 1.0.1
File Interpreter ABI Platform
wbwdi-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 48.0 kB

Release files / wbwdi-1.0.1.tar.gz

Download URL wbwdi-1.0.1.tar.gz
Size 30.0 kB
Tags Source
SHA-256 checksum
How to use checksums
268b819d9e3d56cb9a91708098d77cd0c8c10ce168570246a660adee244e606c
BLAKE2b-256 checksum
How to use checksums
a80b0de798c0e45f0ffa86f547cb173ec5016a66b84027b37f884e7790dbb6ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.26

Release files / wbwdi-1.0.1-py3-none-any.whl

Download URL wbwdi-1.0.1-py3-none-any.whl
Size 18.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81b710bbf4d3bafa893c0ab645eb10b7832686478377f2869f0fc2fbba0a7851
BLAKE2b-256 checksum
How to use checksums
1aad1a455040382ac96c3165556afcd9374618b671f6b9ee2aa90629f5fc6531
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.26

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page