skillfed

shyaml

YAML for command line

shyaml v0.6.2 1.8M downloads/30d#3,558 on PyPI767
Permissive license BSD 3-Clause License AGING released

What it is and what it does

Shyaml is a command-line utility that reads YAML from stdin and exposes its structure and values through shell-friendly commands. It is designed for shell scripts and command pipelines that need to extract or inspect YAML data without writing separate parsing code. The tool supports nested key access using dot notation, type inspection, sequence indexing, and iteration over keys and values with optional null-termination for safe handling of values containing newlines.

The package depends only on pyyaml and provides read-only access to YAML structures. It does not support write operations or all YAML specification subtleties, but handles common use cases like extracting configuration values, iterating over lists, and inspecting document structure. Output can be formatted for shell consumption, including null-terminated variants for robust piping.

Use it for:

  • Extract configuration values from YAML files in shell scripts without external parsing logic.
  • Iterate over YAML sequences or object keys in bash loops with proper null-termination to handle special characters.
  • Inspect YAML document structure and data types from the command line for debugging or validation.
  • Query nested YAML paths using dot notation in one-liners within CI/CD pipelines or deployment scripts.
  • Convert YAML data into shell-friendly formats (newline or null-separated) for further processing with standard Unix tools.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Command-line tool for querying and extracting data from YAML files via stdin, supporting read-only access to nested values, keys, and sequences.

Yes, if you need lightweight YAML querying in shell scripts. The package is stable, has low install friction, and carries no security vulnerabilities. However, the aging maintenance status (last release 2020-12-15) means it is unlikely to gain new features or adapt to future Python versions—install it for established use cases, not as a foundation for new tooling.

Install

shyaml on PyPI

pip

pip install shyaml

uv

uv add shyaml

poetry

poetry add shyaml

Installing shyaml

Before you install

Low install friction with a single runtime dependency (pyyaml). The package is aging—last release was 2020-12-15 and the repository shows no recent activity—but remains stable and archived-free, suggesting it is maintained in a minimal-change mode rather than actively developed.

License in practice

BSD 3-Clause License (permissive) places no significant restrictions on use, modification, or distribution in most contexts.

Quickstart

pip install shyaml
cat data.yaml | shyaml get-value key.nested.path
cat data.yaml | shyaml get-values sequence.items
cat data.yaml | shyaml keys root_object

Verify before relying

  • Whether the package works reliably with modern Python versions beyond those listed in classifiers (3.7 is the highest listed).
  • Current status of libyaml C implementation support and whether it is automatically selected or requires manual configuration.

Package facts

License BSD 3-Clause License (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — pyyaml
Maintenance aging — 2,068 days since the last release
Last repo commit
First released
Downloads 1,789,233/month — #3,558 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: shyaml-0.6.2-py2.py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: Software DevelopmentTopic :: Software Development :: Libraries :: Python Modules

Tags

yaml command line queryparse yaml from shellyaml data extraction cliread yaml in bash scriptsyaml key value lookupyaml file inspection toolshell yaml parser
cli-toolyaml-parsingshell-scripting

More Software Development packages