Skip to main content

Build Status Coverage Status Ruff Downloads

The HDX Python API Library is designed to enable you to easily develop code that interacts with the Humanitarian Data Exchange (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.

This library is part of the Humanitarian Data Exchange (HDX) project. If you have humanitarian related data, please upload your datasets to HDX.

Development

Environment

Development is currently done using Python 3.13. The environment can be created with:

    uv sync

This creates a .venv folder with the versions specified in the project's uv.lock file.

Pre-commit

pre-commit will be installed when syncing uv. It is run every time you make a git commit if you call it like this:

    pre-commit install

With pre-commit, all code is formatted according to ruff guidelines.

To check if your changes pass pre-commit without committing, run:

    pre-commit run --all-files

Packages

uv is used for package management. If you’ve introduced a new package to the source code (i.e. anywhere in src/), please add it to the project.dependencies section of pyproject.toml with any known version constraints.

To add packages required only for testing, add them to the [dependency-groups].

Any changes to the dependencies will be automatically reflected in uv.lock with pre-commit, but you can re-generate the files without committing by executing:

    uv lock --upgrade

Project

uv is used for project management. The project can be built using:

    uv build

Linting and syntax checking can be run with:

    uv run ruff check

To run the tests and view coverage, execute:

    uv run pytest

For the test_ckan.py test to run successfully, some configuration is required:

  1. The environment variable HDX_KEY_TEST needs to contain a valid key from the HDX demo server at https://demo.data-humdata-org.ahconu.org/
  2. Authentication details for Google Sheets need to be obtained and either saved in a file named .gsheet_auth.json in the home directory (~) or placed in an environment variable GSHEET_AUTH. The file is preferred for Windows systems since adding such a long text string to an environment variable in Windows is challenging.

Documentation

The documentation, including API documentation, is generated using ReadtheDocs and MkDocs with Material. As you change the source code, remember to update the documentation at documentation/index.md.

Metadata

Release files for hdx-python-api 6.7.5

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

Source distribution (sdist)

Source distribution for hdx-python-api 6.7.5
File Size Uploaded Provenance
hdx_python_api-6.7.5.tar.gz 630.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hdx-python-api 6.7.5
File Interpreter ABI Platform
hdx_python_api-6.7.5-py3-none-any.whl Python 3 none any Details

Total release size: 714.9 kB

Release files / hdx_python_api-6.7.5.tar.gz

Download URL hdx_python_api-6.7.5.tar.gz
Size 630.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8212c3ce8e0a4652d5083728e5567978ffdd3280a42f2f2003ae571fd2656f5e
BLAKE2b-256 checksum
How to use checksums
58b7f49e2246fd3e158e69df194f428100848051d549182f3e180931c880cebe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / hdx_python_api-6.7.5-py3-none-any.whl

Download URL hdx_python_api-6.7.5-py3-none-any.whl
Size 84.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8d4907196cd50564a3913db67011e44f50ea05e61da5fcaaac0091a602e60b9
BLAKE2b-256 checksum
How to use checksums
20720ad59a8a3255d92b12c50aa3af55272e250945c6bc2c1f3cc98811efbb34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for hdx-python-api 6.7.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

6.7.5 This release

2 release files No provenance

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