stac-check
documentation¶
stac-check
is a linting and validation tool for STAC assets.
stac-check
is both a CLI tool and Python library. It adds additional linting and validation to the stac-validator project.
The intent of this project is to provide a linting tool that also follows the official STAC Best Practices document.
This project was originally built with funding from the Radiant Earth Foundation and further support has been provided by Sparkgeo as well as other contributors.
Installation¶
stac-check
can be installed from pypi:
$ pip install stac-check
to install for local development:
$ pip install -e .
CLI Usage¶
stac-check
can be used as a Python library or a command line tool.
$ stac-check --help
Usage: stac-check [OPTIONS] FILE
Options:
--version Show the version and exit.
-l, --links Validate links for format and response.
-a, --assets Validate assets for format and response.
-m, --max-depth INTEGER Maximum depth to traverse when recursing. Omit this
argument to get full recursion. Ignored if
`recursive == False`.
-r, --recursive Recursively validate all related stac objects.
--help Show this message and exit.
Examples¶
$ stac-check sample_files/0.9.0/landsat8-sample.json
Python Library Usage¶
stac-check
can be used as a library to validate and lint STAC Items, Collections, and Catalogs.
It can be used with local or remotely-hosted STAC objects as well as STAC objects represented as a Python dictionary.
Example - lint dictionary¶
from stac_check.lint import Linter
dict = {
"stac_version": "1.0.0",
"stac_extensions": [],
"type": "Feature",
"id": "20201211_223832_CS2",
"bbox": [
172.91173669923782,
1.3438851951615003,
172.95469614953714,
1.3690476620161975
],
"geometry": {
...
}
linter = Linter(file, assets=True)
for k,v in linter.create_best_practices_dict().items():
print(k,":",v)
STAC Versions supported¶
stac-check
supports the following STAC versions:
[0.8.0, 0.8.1, 0.9.0, 1.0.0-beta.1, 1.0.0-beta.2, 1.0.0-rc.1, 1.0.0-rc.2, 1.0.0-rc.3, 1.0.0-rc.4, 1.0.0]