Skip to content

Projects using YAMLRocks

YAMLRocks is young. This page tracks projects that use it and, just as usefully, the ecosystems it is built to serve. If you adopt YAMLRocks, please open a pull request to add yourself here.

This page lists actual adopters only. For the public repositories YAMLRocks is tested against as a compatibility corpus, see real-world verification.

Be the first! There are no public adopters yet. If your project uses YAMLRocks, we would love to list it.

YAMLRocks was designed for YAML-heavy Python projects that need speed, correctness, and round-trip fidelity at the same time. The following ecosystems are the primary motivation for its feature set.

Home Assistant has a large, split YAML configuration with !include, !secret, and !env_var, and it tracks source lines for friendly error messages. YAMLRocks implements that entire tag set with matching semantics, parses faster, and adds writable includes: load the config, edit one automation, and save only the changed file. That unlocks reliable UI-driven config editing.

See the includes guide and annotated mode.

ESPHome compiles YAML device configurations with !include, !secret, !lambda, !extend, and a substitutions system. YAMLRocks covers the include and secret tags directly, and the ESPHome-specific tags map onto a tag_handler. The native include resolver is dramatically faster for configs split across many files.

Ansible parses playbooks and inventories with source-position tracking and custom tags like !vault and !unsafe. YAMLRocks offers source locations, YAML 1.1 mode, and tag handling, though Ansible’s heavy use of annotated string subclasses is an area still being explored.

  • Fast: Rust-backed; competitive with PyYAML’s C loader and far faster than pure-Python round-trip libraries. See Performance.
  • Correct: validated against the official YAML test suite plus snapshot and fuzz corpora, and a public real-world compatibility corpus.
  • Round-trip: edit a value and re-emit with the rest of the document preserved.
  • Safe: never executes arbitrary code from tags; bounded against alias bombs, deep nesting, and include cycles.