DASEL(1)

πŸ’– DASEL(1) β€” the manual page, but make it cute πŸ’–

okay bestie, gather round, because this is the DASEL manual straight out of the DASEL Manual set, and it is genuinely one of the most useful little tools ever. it's a command-line tool for querying and modifying data structures, and it speaks JSON, YAML, TOML, CSV, XML, and KDL. yes, all of them. no cap. πŸ¦‹


✨ NAME ✨

dasel β€” query and modify data structures from the command line.

like... that's the whole vibe. pull values out, push values in, from your terminal. periodt. πŸ’…


🌸 SYNOPSIS 🌸

dasel [flags] [query]
dasel command [flags]

two whole moods: either you're running a raw query with flags, or you're calling an actual command with flags. pick your main character energy. πŸ‘‘


πŸŽ€ DESCRIPTION πŸŽ€

so dasel is a command-line tool for querying and modifying data structures. that's the job. that's the assignment. and she eats every time. πŸ”₯

she supports multiple data formats, and here's the full list, no edits, no omissions:

  • JSON
  • YAML
  • TOML
  • CSV
  • XML
  • KDL

it's giving "one tool to rule them all" fr fr. 😭


🫢 COMMANDS 🫢

  • query β€” [default] Execute a query. this is the default one, so if you don't name a command, this is what you're doing anyway. lowkey the main character. ⭐
  • version β€” Print the version. gotta know which era of dasel you're living in bestie.
  • interactive β€” Start an interactive session (alpha). ⚠️ heads up: she's alpha, okay? treat her gently.
  • completion β€” Generate shell completion script. your shell but with ✨predictions✨.
  • man β€” Generate man page. yes, the tool can write its own man page. iconic behaviour tbh.

πŸ’… OPTIONS πŸ’…

The following options are available for the default query command:

  • --var β€” Variables to pass to the query. E.g. --var foo="bar" --var baz=json:file:./some/file.json. inject your own little variables in there, bestie. πŸ“
  • --rw-flag β€” Read/Write flag to customise parsing/output. Applies to read + write. E.g. --rw-flag csv-delimiter=;
  • --read-flag β€” Reader flag to customise parsing. E.g. --read-flag xml-mode=structured
  • --write-flag β€” Writer flag to customise output. E.g. --write-flag csv-delimiter=;
  • -i, --in β€” The format of the input data.
  • -o, --out β€” The format of the output data.
  • --root β€” Return the root value. 🌳
  • --compact β€” Output in compact mode (no indentation/newlines). tiny. efficient. clean. 🧚
  • --unstable β€” Allow access to potentially unstable features. ⚠️ unstable is literally in the name, babes, proceed accordingly.
  • --it β€” Run in interactive mode (alpha).
  • -c, --config β€” Path to config file.

🌈 GLOBAL OPTIONS 🌈

  • -h, --help β€” Show context-sensitive help. the "bestie explain" button, and it's context-sensitive too, so it actually tells you what applies right where you are. we love a helpful girl. 🫢

⭐ QUERY OPTIONS ⭐

here's the full list again, because the query command has her own copy, and we do not summarise, we do not skip:

  • --var β€” Variables to pass to the query. E.g. --var foo="bar" --var baz=json:file:./some/file.json
  • --rw-flag β€” Read/Write flag to customise parsing/output. Applies to read + write. E.g. --rw-flag csv-delimiter=;
  • --read-flag β€” Reader flag to customise parsing. E.g. --read-flag xml-mode=structured
  • --write-flag β€” Writer flag to customise output. E.g. --write-flag csv-delimiter=;
  • -i, --in β€” The format of the input data.
  • -o, --out β€” The format of the output data.
  • --root β€” Return the root value.
  • --compact β€” Output in compact mode (no indentation/newlines).
  • --unstable β€” Allow access to potentially unstable features.
  • --it β€” Run in interactive mode (alpha).
  • -c, --config β€” Path to config file.

πŸ’œ INTERACTIVE OPTIONS πŸ’œ

and these are the ones the interactive mode gets. slightly shorter list, still slaying:

  • --var β€” Variables to pass to the query. E.g. --var foo="bar" --var baz=json:file:./some/file.json
  • --rw-flag β€” Read/Write flag to customise parsing/output. Applies to read + write. E.g. --rw-flag csv-delimiter=;
  • --read-flag β€” Reader flag to customise parsing. E.g. --read-flag xml-mode=structured
  • --write-flag β€” Writer flag to customise output. E.g. --write-flag csv-delimiter=;
  • -i, --in β€” The format of the input data.
  • -o, --out β€” The format of the output data.
  • -c, --config β€” Path to config file.

πŸ¦‹ EXAMPLES πŸ¦‹

okay this is the part where it all clicks, watch this:

Query JSON from stdin:

echo '{"name": "Tom"}' | dasel 'name'

Convert JSON to YAML:

echo '{"name": "Tom"}' | dasel -i json -o yaml

Query with compact output:

echo '{"name": "Tom"}' | dasel -i json -o json --compact

see? pipe in, get out. it's giving effortless. 🌸


πŸ‘‘ SEE ALSO πŸ‘‘

  • Dasel documentation
that's the only one bestie, but it's the good one. go read it. iykyk. πŸ“š

and that's the whole page!! hope this helped, you're gonna be a dasel girlie in no time, mwah πŸ’–βœ¨πŸŽ€

this lovely thing lives in the development era and the page is dated 2026-08-01 β€” that's the version and the date, and yes i'm mentioning them because the last line of the original said so, so here we are, sign-off style πŸ’œ bye bestie!! 🫢

πŸ“¦ where this page comes from