Crates.io | cql2-cli |
lib.rs | cql2-cli |
version | 0.3.0 |
source | src |
created_at | 2024-10-08 10:28:19.0183 |
updated_at | 2024-10-14 14:20:30.802931 |
description | Command line interface for Common Query Language (CQL2) |
homepage | https://github.com/developmentseed/cql2-rs |
repository | https://github.com/developmentseed/cql2-rs |
max_upload_size | |
id | 1401000 |
size | 28,907 |
A Command Line Interface (CLI) for Common Query Language (CQL2).
With cargo:
cargo install cql2-cli
Or from PyPI:
pip install cql2
At its simplest, the CLI is a pass-through validator:
$ cql2 < tests/fixtures/text/example01.txt # will succeed if the CQL2 is valid
("landsat:scene_id" = 'LC82030282019133LGN00')
You can convert formats:
$ cql2 -o json < tests/fixtures/text/example01.txt
{"op":"=","args":[{"property":"landsat:scene_id"},"LC82030282019133LGN00"]}
Use -v
to get detailed validation information:
$ cql2 'wrong' -v
[ERROR] Invalid CQL2: wrong
For more detailed validation information, use -vv
jsonschema validation failed with file:///tmp/cql2.json#
- at '': oneOf failed, none matched
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': oneOf failed, none matched
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': missing properties 'op', 'args'
- at '': want boolean, but got object
cql2-text parsing errors are pretty-printed:
$ cql2 '(foo ~= "bar")'
[ERROR] Parsing error: (foo ~= "bar")
--> 1:6
|
1 | (foo ~= "bar")
| ^---
|
= expected NotFlag, And, Or, ConcatInfixOp, Add, Subtract, Multiply, Divide, Modulo, Power, Eq, Gt, GtEq, Lt, LtEq, NotEq, Is, or IsNullPostfix
Use cql2 --help
to get a complete listing of the CLI arguments and formats.
See the top-level README for license and contributing information.