Skip to main content

Build Status Coverage Status Ruff Downloads

The HDX Python Utilities Library provides a range of helpful utilities for Python developers. Note that these are not specific to HDX.

  1. Easy downloading of files with support for authentication, streaming and hashing
  2. Retrieval of data from url with saving to file or from data previously saved
  3. Date utilities
  4. Loading and saving JSON and YAML (maintaining order)
  5. Dictionary and list utilities
  6. HTML utilities (inc. BeautifulSoup helper)
  7. Compare files (eg. for testing)
  8. Simple emailing
  9. Easy logging setup and error logging
  10. State utility
  11. Path utilities
  12. URL utilities
  13. Text processing
  14. Stable file hashing
  15. Matching utilities
  16. Encoding utilities
  17. Check valid UUID
  18. Easy building and packaging

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

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-utilities 4.2.3

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-utilities 4.2.3
File Size Uploaded Provenance
hdx_python_utilities-4.2.3.tar.gz 2.2 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hdx-python-utilities 4.2.3
File Interpreter ABI Platform
hdx_python_utilities-4.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 2.3 MB

Release files / hdx_python_utilities-4.2.3.tar.gz

Download URL hdx_python_utilities-4.2.3.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
8e5213f93f51018049beb8808452e21ad70a441ff7607fa91d21574b00ee78fd
BLAKE2b-256 checksum
How to use checksums
d770d9e4db28e720510cf69ec75632784209c310f52994190a1f2dc15c508415
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_utilities-4.2.3-py3-none-any.whl

Download URL hdx_python_utilities-4.2.3-py3-none-any.whl
Size 67.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13391adca4e82b9b3ef526562efac5d0123292f01645360073b1be5cab3e29d7
BLAKE2b-256 checksum
How to use checksums
1456de5aedca24a55cd95ae4b0dfdf37ba16b054dafea86f40765c8cc15a2782
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-utilities 4.2.3

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

4.2.3 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