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 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: QA/UAT 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: PROD 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.
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.
Source Distributions
Built Distribution
File details
Details for the file wbddh-0.1.12-py3-none-any.whl
.
File metadata
- Download URL: wbddh-0.1.12-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04ad3af32722f3ea7d689a00fd0b976421e7b59674abf2e96a4363051bdb30ff |
|
MD5 | 7bde5a8547dd2631040b6419bb281d1b |
|
BLAKE2b-256 | 3b9b1d249417b4d10635fca40c060464e2f8d7c0d64996b1b4a350b1f4398411 |