Metadata-Version: 2.4
Name: queryearth
Version: 0.5.0
Summary: Match rules scoped by area, time and other dimensions to a request, and get caveats, coverage gaps and recommendations.
Author: Manish Venumuddula
License-Expression: Apache-2.0
Project-URL: Repository, https://github.com/CROCODILE-CESM/queryearth
Project-URL: Documentation, https://crocodile-cesm.github.io/queryearth/
Keywords: geospatial,advisories,data quality,rules,earth science
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: shapely>=2.1
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: cftime; extra == "test"
Requires-Dist: pandas; extra == "test"
Requires-Dist: pyproj; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Requires-Dist: myst-parser; extra == "docs"
Dynamic: license-file

# queryearth

queryearth answers one question: given where (a point or a polygon, such as a lake outline or a model domain), when (a time range) and anything else that matters (grid resolution, product, variable and so on), which registered rules apply, how much of the query does each one cover, and what does it say to watch out for or to do?

Rules are GeoJSON features or short Python classes. A query returns findings: each says what to watch out for ("these values are climatology, not observations", or "this product does not reach part of your area"), and some also list changes for your code to make ("set this model parameter"). Each finding has a standard `logging` level, so you log findings with the `logging` module. queryearth ships no rules of its own; you bring yours.

**Documentation:** https://crocodile-cesm.github.io/queryearth/

**Status:** pre-alpha. To try it, run [examples/toy/play.py](examples/toy/play.py), which loads a small made-up rule file and walks through queries, coverage limits written as rules, Python rules, logging the findings and `query_points()`.

## Install

```bash
pip install queryearth
```

queryearth needs Python 3.11 or later, numpy and shapely 2.1 or later.

## Development

```bash
pip install -e ".[test]"
pytest
black .
```

Versions come from git tags through setuptools-scm. Every push to `main` builds the package, and every GitHub release tagged `vX.Y.Z` publishes version X.Y.Z to PyPI.

## Licence

Apache-2.0.
