HESTIA Data Validation
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.