Skip to main content

YAML query utility

Project description

QYAML — query YAML with YAML with YAML result

Walk synchronously through query and doc, and print the list of matching branches of doc as a YAML document.

Result is printed to standard output as a list of found matches, including their keys.

Given file.yaml:

dict:
  first: value1
  second: value2

QYAML may be used to query, for example, the value of the first key of the dict dictionary:

$ qyaml "dict: first" < file.yaml
- dict:
    first: value1

The query is itself a YAML document.

The output may be flatten with fyaml to only values (default behavior) or preserving the keys with keys argument, or format as a JSON string with json argument:

$ cat file.yaml | qyaml "dict: first" | fyaml
value1

$ cat file.yaml | qyaml "dict: first" | fyaml keys
first: value1

$ cat file.yaml | qyaml dict | fyaml json
["value1", "value2"]

$ cat file.yaml | qyaml dict | fyaml json keys
[{"first": "value1"}, {"second": "value2"}]

Query rules

Query\Document String Number Boolean List Dictionary
String (regexp) regex-match - - regex-match list elements regex-match keys
Number str[i] match - list[i] -
Boolean - - match - b ? values : keys
List for-each - - match list[i] for each q search keys
Dictionary - - - i: match, bool: filter key:value match

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qyaml-smartptr-0.0.2.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

qyaml_smartptr-0.0.2-py3-none-any.whl (6.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page