Skip to content

Commit a8cd73c

Browse files
committed
Merge remote-tracking branch 'origin/master' into dev
2 parents ebf8356 + 812012b commit a8cd73c

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

COMPARISON.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Comparison of STAC validators
2+
3+
There are - as far as I know - three maintained validators available for STAC:
4+
5+
1. The original [Python validator](https://github.com/sparkgeo/stac-validator)
6+
3. The validation functionality shipped with [PySTAC](https://github.com/stac-utils/pystac)
7+
4. [This Node/JavaScript validator](https://github.com/m-mohr/stac-node-validator)
8+
9+
Additionally I found some tools that seem to be unmaintained: [1](https://github.com/brianbancroft/stac-validator-cli) [2](https://github.com/JamesOConnor/stac-validator)
10+
11+
Here I'd like to give an overview of what the validators are capable of and what they are missing so that you can make a well-informed choice.
12+
13+
## Environment
14+
15+
| | Python Validator | PySTAC | STAC Node Validator |
16+
| :------------------------- | ------------------------------------------ | ------------------- | ------------------- |
17+
| Validator Version | 0.1.3 | 0.5.1 | 0.4.0 |
18+
| Language | Python 3.6 | Python 3 | NodeJS |
19+
| CLI | Yes | No | Yes |
20+
| Programmatic | No | Yes | Planned |
21+
| Online | Yes, [staclint.com](https://staclint.com/) | No | Planned |
22+
| Protocols supported (Read) | HTTP(S), Filesystem | HTTP(S), Filesystem | HTTP(S), Filesystem |
23+
| Gives | HTML / CLI Output | Python Dict | CLI output |
24+
25+
## Specifications supported
26+
27+
| | Python Validator | PySTAC | STAC Node Validator |
28+
| ---------------------------------------- | ------------------- | ------------------- | ------------------------------------------- |
29+
| STAC Versions supported | >= 0.8.0 | >= 0.4.0 | >= 1.0.0-beta.1 |
30+
| Protocols supported | HTTP(S), Filesystem | HTTP(S), Filesystem | HTTP(S), Filesystem |
31+
| Validates Items / Catalogs / Collections | Yes | Yes | Yes |
32+
| Validates Core Extensions | No | Yes | Yes |
33+
| Validates External / Custom Extensions | No | No | Yes |
34+
| Validates STAC API responses | Unknown | No | Pertially (only items/collections in lists) |
35+
| Validates STAC API extensions | No | No | No |
36+
37+
## Other Features
38+
39+
| | Python Validator | PySTAC | STAC Node Validator |
40+
| :----------------------------- | -------------------------------- | -------------------------------------------------------- | ------------------- |
41+
| Can follow links | Yes | [Planned](https://github.com/stac-utils/pystac/pull/162) | No |
42+
| Parallelisation | Yes | No | No |
43+
| Validate against local schemas | Yes | Planned | Yes |
44+
| Other comments | Planned to use PySTAC internally | General Python library to work with STAC catalogs | - |

0 commit comments

Comments
 (0)