Python wrapper for DDH Open API
Project description
WBDDH
WBDDH is a Python wrapper for World Bank Data Catalog Web APIs. It can be used for both DDH API v1.0 and v2.0.
- DDH API 1.0 admin (PROD): https://ddhinboundapi.ase.worldbank.org/swagger/ui/index
- DDH API 2.0 admin (UAT): https://ddhinboundopenapiuat.asestg.worldbank.org/docs/index.html
- DDH API 2.0 admin (PROD): https://ddhinboundopenapiprd.ase.worldbank.org/docs/index.html
- DDH API 2.0 public (UAT): https://ddhextopenapiuat.asestg.worldbank.org/docs/index.html
Setup
Public users:
pip install -U wbddh
DDH administrators:
pip install -U wbddh[admin]
Usage
WBDDH handles HTTP requests and manages MSAL sessions.
Users first have to set API_host before using other functions:
import wbddh
wbddh.set_api_host(url)
Admin users first have to create a session to further run other admin functions:
import wbddh
session = wbddh.create_session(name='default_ddh_session', params=None, autoCopy=True, verify=None)
Users can send a simple GET/POST request:
wbddh.get(endpoint, params=None, headers=None, session=None)
wbddh.post(endpoint, params=None, json=None, headers=None, session=None)
Alternatively, users can repeat sending a GET/POST request until it succeeds or it tries {num_try} times:
wbddh.try_get(endpoint, params=None, headers=None, session=None, num_try=3, interval=300)
wbddh.try_post(endpoint, params=None, json=None, headers=None, session=None, num_try=3, interval=300)
There are two helper functions that fetch all data for endpoints that have paging parameters (ex. search, datasets):
wbddh.get_all_in_generator(endpoint, params=None, top_key="top", skip_key="skip", headers=None, session=None)
wbddh.get_all_in_list(endpoint, params=None, top_key="top", skip_key="skip", headers=None, session=None)
Examples
Jupyter Notebooks under examples folder show basic use cases utilizing wbddh.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.