Here's a simple python port that I use a lot at work which could be
handy for others as well, hence I'd like to see it ship with 6.6.

Information for inst:yq-2.7.2

Comment:
jq wrapper for YAML/XML documents

Description:
yq takes YAML input, converts it to JSON, and pipes it to jq:
        cat input.yml | yq .foo.bar

Like in jq, you can also specify input filename(s) as arguments:
        yq .foo.bar input.yml

By default, no conversion of jq output is done. Use the --yaml-output/-y
argument to convert it back into YAML:
        cat input.yml | yq -y .foo.bar

Use the --width/-w argument to pass the line wrap width for string literals.
All other command line arguments are forwarded to jq.  yq forwards the exit
code jq produced, unless there was an error in YAML parsing, in which case
the exit code is 1. See the jq manual for more details on jq features and
options.

YAML tags in the input are ignored (any nested data is treated as untagged).
Key order is preserved.

XML support yq also supports XML. The yq package installs an executable, xq,
which transcodes XML to JSON using xmltodict and pipes it to jq. Roundtrip
transcoding is available with the xq --xml-output/xq -x option. Multiple XML
documents can be passed in separate files/streams as xq a.xml b.xml. Entity
expansion and DTD resolution is disabled to avoid XML parsing vulnerabilities.

Maintainer: Klemens Nanni <k...@openbsd.org>

WWW: https://yq.readthedocs.io/


Note that this is not the same as https://github.com/mikefarah/yq/, some
pure Go implementation.  I deliberately picked the Python implementation
at https://github.com/kislyuk/yq/ because it reuses the excellent jq(1)
which really just works.

Regress passes all tests, but only after doing it by hand in do-test:

        Ran 12 tests in 2.522s
        OK (expected failures=1)

Without it, Python fails with an ImportError somewhere in its own code;
for now I do not bother ivestigating this further since I can still run
tests successfully and the program itself just works in normal usage.

Feedback? OK?

Attachment: yq.tgz
Description: Binary data

Reply via email to