[](https://github.com/OCHA-DAP/hdx-python-api/actions/workflows/run-python-tests.yaml)
[](https://coveralls.io/github/OCHA-DAP/hdx-python-api?branch=main)
[](https://github.com/astral-sh/ruff)
[](https://pypistats.org/packages/hdx-python-api)
The HDX Python API Library is designed to enable you to easily develop code that
interacts with the [Humanitarian Data Exchange](https://data.humdata.org/) (HDX)
platform. The major goal of the library is to make pushing and pulling data from HDX as
simple as possible for the end user.
For more information, please read the
[documentation](https://hdx-python-api.readthedocs.io/en/latest/).
This library is part of the [Humanitarian Data Exchange](https://data.humdata.org/)
(HDX) project. If you have humanitarian related data, please upload your datasets to
HDX.
Raw data
{
"_id": null,
"home_page": null,
"name": "hdx-python-api",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "API, CKAN, HDX, humanitarian data exchange",
"author": "Michael Rans",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/32/6e/1be06cc9309b588e014e3c0480bebd0480727601f4bad3fd41b077271bf6/hdx_python_api-6.4.6.tar.gz",
"platform": null,
"description": "[](https://github.com/OCHA-DAP/hdx-python-api/actions/workflows/run-python-tests.yaml)\n[](https://coveralls.io/github/OCHA-DAP/hdx-python-api?branch=main)\n[](https://github.com/astral-sh/ruff)\n[](https://pypistats.org/packages/hdx-python-api)\n\nThe HDX Python API Library is designed to enable you to easily develop code that\ninteracts with the [Humanitarian Data Exchange](https://data.humdata.org/) (HDX)\nplatform. The major goal of the library is to make pushing and pulling data from HDX as\nsimple as possible for the end user.\n\nFor more information, please read the\n[documentation](https://hdx-python-api.readthedocs.io/en/latest/).\n\nThis library is part of the [Humanitarian Data Exchange](https://data.humdata.org/)\n(HDX) project. If you have humanitarian related data, please upload your datasets to\nHDX.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "HDX Python API for interacting with the Humanitarian Data Exchange",
"version": "6.4.6",
"project_urls": {
"Homepage": "https://github.com/OCHA-DAP/hdx-python-api"
},
"split_keywords": [
"api",
" ckan",
" hdx",
" humanitarian data exchange"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "07f645e565e6c0cf73b1e9d032695214e8f3b0142101556e5d8a7c6628c25000",
"md5": "2cb2e206244d7b9baa5bb4894957b316",
"sha256": "653cd4b63e121a38625ce0094ed8e531ef3143af3b9ed3928dc6663409a8636e"
},
"downloads": -1,
"filename": "hdx_python_api-6.4.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2cb2e206244d7b9baa5bb4894957b316",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 74225,
"upload_time": "2025-07-24T02:51:58",
"upload_time_iso_8601": "2025-07-24T02:51:58.973232Z",
"url": "https://files.pythonhosted.org/packages/07/f6/45e565e6c0cf73b1e9d032695214e8f3b0142101556e5d8a7c6628c25000/hdx_python_api-6.4.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "326e1be06cc9309b588e014e3c0480bebd0480727601f4bad3fd41b077271bf6",
"md5": "350b4e5bbc7ca6369861e52a40623eda",
"sha256": "09a450cd66fd49556b4262e689ab83a10eabb1d7c4a9c072af2e06889bd09cb2"
},
"downloads": -1,
"filename": "hdx_python_api-6.4.6.tar.gz",
"has_sig": false,
"md5_digest": "350b4e5bbc7ca6369861e52a40623eda",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 429323,
"upload_time": "2025-07-24T02:52:01",
"upload_time_iso_8601": "2025-07-24T02:52:01.043772Z",
"url": "https://files.pythonhosted.org/packages/32/6e/1be06cc9309b588e014e3c0480bebd0480727601f4bad3fd41b077271bf6/hdx_python_api-6.4.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-24 02:52:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OCHA-DAP",
"github_project": "hdx-python-api",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "annotated-types",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "astdoc",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "attrs",
"specs": [
[
"==",
"25.3.0"
]
]
},
{
"name": "babel",
"specs": [
[
"==",
"2.17.0"
]
]
},
{
"name": "backrefs",
"specs": [
[
"==",
"5.9"
]
]
},
{
"name": "cachetools",
"specs": [
[
"==",
"5.5.2"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2025.7.14"
]
]
},
{
"name": "cfgv",
"specs": [
[
"==",
"3.4.0"
]
]
},
{
"name": "chardet",
"specs": [
[
"==",
"5.2.0"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.2"
]
]
},
{
"name": "ckanapi",
"specs": [
[
"==",
"4.8"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.2.1"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "coverage",
"specs": [
[
"==",
"7.9.2"
]
]
},
{
"name": "defopt",
"specs": [
[
"==",
"7.0.0"
]
]
},
{
"name": "distlib",
"specs": [
[
"==",
"0.4.0"
]
]
},
{
"name": "dnspython",
"specs": [
[
"==",
"2.7.0"
]
]
},
{
"name": "docopt",
"specs": [
[
"==",
"0.6.2"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.21.2"
]
]
},
{
"name": "email-validator",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "et-xmlfile",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "filelock",
"specs": [
[
"==",
"3.18.0"
]
]
},
{
"name": "frictionless",
"specs": [
[
"==",
"5.18.1"
]
]
},
{
"name": "ghp-import",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "google-auth",
"specs": [
[
"==",
"2.40.3"
]
]
},
{
"name": "google-auth-oauthlib",
"specs": [
[
"==",
"1.2.2"
]
]
},
{
"name": "gspread",
"specs": [
[
"==",
"6.2.1"
]
]
},
{
"name": "hdx-python-country",
"specs": [
[
"==",
"3.9.6"
]
]
},
{
"name": "hdx-python-utilities",
"specs": [
[
"==",
"3.8.8"
]
]
},
{
"name": "humanize",
"specs": [
[
"==",
"4.12.3"
]
]
},
{
"name": "identify",
"specs": [
[
"==",
"2.6.12"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "ijson",
"specs": [
[
"==",
"3.4.0"
]
]
},
{
"name": "inflect",
"specs": [
[
"==",
"7.5.0"
]
]
},
{
"name": "iniconfig",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "isodate",
"specs": [
[
"==",
"0.7.2"
]
]
},
{
"name": "jinja2",
"specs": [
[
"==",
"3.1.6"
]
]
},
{
"name": "jsonlines",
"specs": [
[
"==",
"4.0.0"
]
]
},
{
"name": "jsonpath-ng",
"specs": [
[
"==",
"1.7.0"
]
]
},
{
"name": "jsonschema",
"specs": [
[
"==",
"4.25.0"
]
]
},
{
"name": "jsonschema-specifications",
"specs": [
[
"==",
"2025.4.1"
]
]
},
{
"name": "libhxl",
"specs": [
[
"==",
"5.2.2"
]
]
},
{
"name": "loguru",
"specs": [
[
"==",
"0.7.3"
]
]
},
{
"name": "makefun",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "markdown",
"specs": [
[
"==",
"3.8.2"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "marko",
"specs": [
[
"==",
"2.1.4"
]
]
},
{
"name": "markupsafe",
"specs": [
[
"==",
"3.0.2"
]
]
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "mergedeep",
"specs": [
[
"==",
"1.3.4"
]
]
},
{
"name": "mkapi",
"specs": [
[
"==",
"4.4.4"
]
]
},
{
"name": "mkdocs",
"specs": [
[
"==",
"1.6.1"
]
]
},
{
"name": "mkdocs-get-deps",
"specs": [
[
"==",
"0.2.0"
]
]
},
{
"name": "mkdocs-material",
"specs": [
[
"==",
"9.6.15"
]
]
},
{
"name": "mkdocs-material-extensions",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "more-itertools",
"specs": [
[
"==",
"10.7.0"
]
]
},
{
"name": "nodeenv",
"specs": [
[
"==",
"1.9.1"
]
]
},
{
"name": "num2words",
"specs": [
[
"==",
"0.5.14"
]
]
},
{
"name": "oauthlib",
"specs": [
[
"==",
"3.3.1"
]
]
},
{
"name": "openpyxl",
"specs": [
[
"==",
"3.1.5"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"25.0"
]
]
},
{
"name": "paginate",
"specs": [
[
"==",
"0.5.7"
]
]
},
{
"name": "pathspec",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "petl",
"specs": [
[
"==",
"1.7.17"
]
]
},
{
"name": "platformdirs",
"specs": [
[
"==",
"4.3.8"
]
]
},
{
"name": "pluggy",
"specs": [
[
"==",
"1.6.0"
]
]
},
{
"name": "ply",
"specs": [
[
"==",
"3.11"
]
]
},
{
"name": "pockets",
"specs": [
[
"==",
"0.9.1"
]
]
},
{
"name": "pre-commit",
"specs": [
[
"==",
"4.2.0"
]
]
},
{
"name": "pyasn1",
"specs": [
[
"==",
"0.6.1"
]
]
},
{
"name": "pyasn1-modules",
"specs": [
[
"==",
"0.4.2"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.11.7"
]
]
},
{
"name": "pydantic-core",
"specs": [
[
"==",
"2.33.2"
]
]
},
{
"name": "pygments",
"specs": [
[
"==",
"2.19.2"
]
]
},
{
"name": "pymdown-extensions",
"specs": [
[
"==",
"10.16"
]
]
},
{
"name": "pyphonetics",
"specs": [
[
"==",
"0.5.3"
]
]
},
{
"name": "pytest",
"specs": [
[
"==",
"8.4.1"
]
]
},
{
"name": "pytest-check",
"specs": [
[
"==",
"2.5.3"
]
]
},
{
"name": "pytest-cov",
"specs": [
[
"==",
"6.2.1"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "python-io-wrapper",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "python-slugify",
"specs": [
[
"==",
"8.0.4"
]
]
},
{
"name": "pyyaml",
"specs": [
[
"==",
"6.0.2"
]
]
},
{
"name": "pyyaml-env-tag",
"specs": [
[
"==",
"1.1"
]
]
},
{
"name": "quantulum3",
"specs": [
[
"==",
"0.9.2"
]
]
},
{
"name": "ratelimit",
"specs": [
[
"==",
"2.2.1"
]
]
},
{
"name": "referencing",
"specs": [
[
"==",
"0.36.2"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.4"
]
]
},
{
"name": "requests-file",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "requests-oauthlib",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "rfc3986",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
"==",
"14.0.0"
]
]
},
{
"name": "rpds-py",
"specs": [
[
"==",
"0.26.0"
]
]
},
{
"name": "rsa",
"specs": [
[
"==",
"4.9.1"
]
]
},
{
"name": "ruamel-yaml",
"specs": [
[
"==",
"0.18.14"
]
]
},
{
"name": "ruamel-yaml-clib",
"specs": [
[
"==",
"0.2.12"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"80.9.0"
]
]
},
{
"name": "shellingham",
"specs": [
[
"==",
"1.5.4"
]
]
},
{
"name": "simpleeval",
"specs": [
[
"==",
"1.0.3"
]
]
},
{
"name": "simplejson",
"specs": [
[
"==",
"3.20.1"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.17.0"
]
]
},
{
"name": "sphinxcontrib-napoleon",
"specs": [
[
"==",
"0.7"
]
]
},
{
"name": "structlog",
"specs": [
[
"==",
"25.4.0"
]
]
},
{
"name": "tableschema-to-template",
"specs": [
[
"==",
"0.0.13"
]
]
},
{
"name": "tabulate",
"specs": [
[
"==",
"0.9.0"
]
]
},
{
"name": "tenacity",
"specs": [
[
"==",
"9.1.2"
]
]
},
{
"name": "text-unidecode",
"specs": [
[
"==",
"1.3"
]
]
},
{
"name": "typeguard",
"specs": [
[
"==",
"4.4.4"
]
]
},
{
"name": "typer",
"specs": [
[
"==",
"0.16.0"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
"==",
"4.14.1"
]
]
},
{
"name": "typing-inspection",
"specs": [
[
"==",
"0.4.1"
]
]
},
{
"name": "unidecode",
"specs": [
[
"==",
"1.4.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.5.0"
]
]
},
{
"name": "validators",
"specs": [
[
"==",
"0.35.0"
]
]
},
{
"name": "virtualenv",
"specs": [
[
"==",
"20.32.0"
]
]
},
{
"name": "watchdog",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "wheel",
"specs": [
[
"==",
"0.45.1"
]
]
},
{
"name": "xlrd",
"specs": [
[
"==",
"2.0.2"
]
]
},
{
"name": "xlrd3",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "xlsx2csv",
"specs": [
[
"==",
"0.8.4"
]
]
},
{
"name": "xlsxwriter",
"specs": [
[
"==",
"3.2.5"
]
]
},
{
"name": "xlwt",
"specs": [
[
"==",
"1.3.0"
]
]
}
],
"lcname": "hdx-python-api"
}