Skip to main content

HESTIA Data Validation

Pipeline Status Coverage Report Documentation Status

Install

pip install hestia_earth_validation

Usage

from hestia_earth.validation.preload_requests import enable_preload
from hestia_earth.validation import validate

# enable request preloading
enable_preload()
# for each node, this will return a list containing all the errors/warnings (empty list if no errors/warnings)
errors = validate(nodes)

# to follow a long validation, pass a callback receiving the number of Nodes validated so far and the total
errors = validate(nodes, on_progress=lambda done, total: print(f"{done}/{total}"))

Note: if you want to validate existing data (with @type and @id fields), please set the following environment variable:

VALIDATE_EXISTING_NODES=true

Spatial validation

Some validations need geospatial data: whether a Site's coordinates fall inside the country or region it declares, how far outside they are, whether the region is small enough for the models to gap-fill, and whether the declared siteType matches the MODIS land cover there.

There are two ways to provide it, and either is enough:

# 1. the HESTIA Caching API, if it holds the land cover and GADM assets
VALIDATION_CACHING_API_URL=https://<host>/api
VALIDATION_CACHING_API_KEY=<token>

# 2. Earth Engine, which needs an account and credentials
pip install "hestia-earth-validation[spatial]"

The Caching API is preferred when it can answer, and anything it has no asset for still goes to Earth Engine — so the two combine rather than compete. MODELS_CACHING_API_* is read as a fallback for the variables above, which is what most deployments already set. A request that gets no answer within VALIDATION_CACHING_API_TIMEOUT_SECONDS (60) is treated as the API being unreachable.

Set VALIDATE_SPATIAL=false to skip these validations entirely. Without either backend they are skipped anyway, with an error in the log: validating coordinates against data nobody can fetch would report every Site as being outside its own country.

Metadata

Release files for hestia-earth-validation 0.41.21

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

Source distribution (sdist)

Source distribution for hestia-earth-validation 0.41.21
File Size Uploaded Provenance Actions
hestia_earth_validation-0.41.21.tar.gz 90.9 kB Without provenance Details for hestia_earth_validation-0.41.21.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hestia-earth-validation 0.41.21
File Interpreter ABI Platform Actions
hestia_earth_validation-0.41.21-py3-none-any.whl Python 3 none any Details for hestia_earth_validation-0.41.21-py3-none-any.whl

Total release size: 194.1 kB

Release files / hestia_earth_validation-0.41.21.tar.gz

Download URL hestia_earth_validation-0.41.21.tar.gz
Size 90.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fbfb755db83e97b84ec2df856173535e32e67048ff74b97ccb293de1c8bbdbdc
BLAKE2b-256 checksum
How to use checksums
40cf55402748100f4f346e7a0ce521ab7db081d8d55b6859f0d917b96eb67d00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / hestia_earth_validation-0.41.21-py3-none-any.whl

Download URL hestia_earth_validation-0.41.21-py3-none-any.whl
Size 103.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aed6689f18f70f70eaac0cb29a79bc62cfa31cd794c7fb4e7f3bcc57d09a29ad
BLAKE2b-256 checksum
How to use checksums
ac578f0583b8b93a7c6ee1b9af80702128b28d70d01c5dcfa325e52ab42912b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Security for hestia-earth-validation 0.41.21

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

0.41.21 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