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 public API (v2.0): https://ddh-openapi.worldbank.org/docs/index.html
- DDH internal API (v2.0): https://ddh-internal-openapi.worldbank.org/docs/index.html
- DDH curation API (v2.0): https://ddh-curation-openapi.worldbank.org/docs/index.html
- DDH curation API (v1.0): https://ddhinboundapi.ase.worldbank.org/swagger/ui/index
Setup
Public users:
pip install -U wbddh
WB internal users:
pip install -U wbddh[internal]
DDH curators:
pip install -U wbddh[curation]
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)
Authentication info for curation API
PROD
- authorityHostURL: https://login.microsoftonline.com
- tenant: '31a2fec0-266b-4c67-b56e-2796d8f59c36'
- resourceURL: https://ddhinboundapi.ase.worldbank.org
- clientID: PROD service account
- API v2.0 host: https://ddh-curation-openapi.worldbank.org
- API v1.0 host: https://ddhinboundapi.ase.worldbank.org
QA/UAT
- authorityHostURL: https://login.microsoftonline.com
- tenant: '31a2fec0-266b-4c67-b56e-2796d8f59c36'
- resourceURL: https://ddhinboundapiqa.asestg.worldbank.org
- clientID: QA/UAT service account
- API v2.0 host: https://ddhinboundopenapiuat.asestg.worldbank.org
- API v1.0 host: https://ddhinboundapiqa.asestg.worldbank.org
DDH SharePoint
- authorityHostURL: https://login.microsoftonline.com
- tenant: '31a2fec0-266b-4c67-b56e-2796d8f59c36'
- resourceURL: https://graph.microsoft.com
- clientID: GRAPH API-enabled Azure account
- GRAPH API host: https://graph.microsoft.com
Examples
Jupyter Notebooks under examples folder show basic use cases utilizing wbddh.
Metadata
Release files for wbddh 0.1.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wbddh-0.1.14-py3-none-any.whl | Python 3 | none | any | Details |
Release files / wbddh-0.1.14-py3-none-any.whl
| Download URL | wbddh-0.1.14-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
082ba7ebe3aa9fdd9d8125968007a106cb5899cc8fa182a6615231f8d55fdd95
|
|
BLAKE2b-256 checksum How to use checksums |
421cf2ca1a44de5433e204633ee6459876b899a1688315176d148199b5f4a3ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.2 cpython/3.11.11 HTTPX/0.28.1
|