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

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.6
File Size Uploaded Provenance
hdx_python_api-6.7.6.tar.gz 643.7 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 728.0 kB

Release files / hdx_python_api-6.7.6.tar.gz

Download URL hdx_python_api-6.7.6.tar.gz
Size 643.7 kB
Tags Source
SHA-256 checksum
How to use checksums
90f82e57219759e7d781aa207c0015aa071c1b65ecfbaee93353c8b8f72ad076
BLAKE2b-256 checksum
How to use checksums
d76a764cf2430fed0e5c80f66c378e8aea9deeae726271c9e843b200c9ca9d06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.6-py3-none-any.whl

Download URL hdx_python_api-6.7.6-py3-none-any.whl
Size 84.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e9de1c39f50cc54517ca9baa9af869e820f9239a38d5440b5b55a06579fd5a2e
BLAKE2b-256 checksum
How to use checksums
9ca005c0a380fe6cbed2f82b60a8a416b8e971136a291ca89a98771f73036751
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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.6

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.

Release history Release notifications | RSS feed

This release

6.7.6 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