The workshop · Edition No. 55 · 19 Oct 2026

kislyuk/yq

A wrapper that lets `jq` read and write YAML, XML and TOML as well as JSON.

← The workshopRead the whole edition →
11

kislyuk/yq

💎 hidden gem
yq: one query language for every config. Reuses an existing query tool on more formats.

3k stars · Apache-2.0 · v4.4.5 (2026-10-11) · Track this in Scout

A wrapper that lets `jq` read and write YAML, XML and TOML as well as JSON.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It converts the input document to JSON, runs your jq expression over it, and converts the result back. Three commands are installed: yq for YAML, xq for XML and tomlq for TOML. The jq expression syntax is unchanged, so anything you already know works. By default it prints JSON; -y prints YAML and -t prints TOML, which is what you want when editing a file in place rather than reading from it. It handles multi-document YAML files, the kind with --- between sections, and it preserves comments and key order on round trips when you ask it to. Because it is a thin layer, every jq feature is available, including functions, variables and --arg. It needs jq installed separately and it is a Python program, so starting it is slower than starting a compiled tool. It does not implement a query language of its own.

Why it matters

Who it suits. Anyone who already uses jq and keeps hitting YAML files — container definitions, continuous integration configuration, infrastructure descriptions. The appeal is not learning anything new. Skip it if you have never used jq, because then you are learning a query language anyway and the compiled alternative below is the better place to start.

Verdict. Two minutes to install, and then it quietly removes a daily annoyance, which is why it is one of today's three. The decision is between this and mikefarah/yq, which Edition 41 covered, and the rule is simple. If you already know jq and want exactly that syntax, this one. If you want a single compiled program with no dependencies and do not mind a dialect that is close to jq but not identical, that one — and it is the better choice inside a container image, where a Python runtime and a separate jq are two installs you did not want. Version 4.3.0 landed on 26 September 2026 and code was pushed on 11 July 2026. With 2,963 stars against the other one's 15.9k it is the quieter option, and the difference is distribution rather than quality.

Stars3k
LicenceApache-2.0
Latestv4.4.5 (2026-10-11)
Good
  • Real jq syntax, not an imitation. Everything you know transfers.
  • Three commands for YAML, XML and TOML, with one mental model.
  • Round-trips back to YAML or TOML, so it edits files as well as reading them.
Watch for
  • Needs jq installed separately. Two things to get onto a machine instead of one.
  • A Python program, so each invocation starts slower. Noticeable inside a loop.
  • Quieter project and fewer examples online than the compiled alternative.
Similar repositories
Install
# macOS
brew install jq
# Debian or Ubuntu
sudo apt install jq
Screenshots
kislyuk/yq: GitHub preview card

On Stack Radar: Build & Ship › APIs & Developer Utilities › API Clients.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.