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.4

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.4
File Size Uploaded Provenance
hdx_python_api-6.7.4.tar.gz 569.8 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 653.8 kB

Release files / hdx_python_api-6.7.4.tar.gz

Download URL hdx_python_api-6.7.4.tar.gz
Size 569.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9da93f25a0a946df78bf2369aae3a2225f7568a1e93e2a3bd19c27a6382949e5
BLAKE2b-256 checksum
How to use checksums
a946cf2651ee96ca22b69722d3746c9c5d22f941ce0ca4b3c20165f909e43766
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.2 {"installer":{"name":"uv","version":"0.13.2","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.4-py3-none-any.whl

Download URL hdx_python_api-6.7.4-py3-none-any.whl
Size 84.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1b6a7632cc69df682013890365c639ee829587a1600f2898a362b63025de0be
BLAKE2b-256 checksum
How to use checksums
1b3b6031869b304b029d6084759357371bce741f27a0ce7acf781628cdd49e8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.2 {"installer":{"name":"uv","version":"0.13.2","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.4

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.4 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