yaml-rust VS cue

Compare yaml-rust vs cue and see what are their differences.

yaml-rust

A pure rust YAML implementation. (by chyh1990)

cue

The home of the CUE language! Validate and define text-based and dynamic configuration (by cue-lang)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
yaml-rust cue
4 108
597 4,754
- 2.3%
0.0 9.7
about 1 month ago 3 days ago
Rust Go
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

yaml-rust

Posts with mentions or reviews of yaml-rust. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-21.
  • Project idea: port markdownlint to Rust
    9 projects | /r/rust | 21 Apr 2023
    Either https://github.com/chyh1990/yaml-rust or https://github.com/dtolnay/serde-yaml for parsing the YAML config file that markdownlint uses
  • Borrow checker not liking recursive walk through a HashMap
    1 project | /r/rust | 3 Jan 2023
    Here's the Rust code so far -- the commented portions are my intent via pseudocode. This is part of an implementation where there's a _yaml_hash member that points to yaml_rust's underlying LinkedHashMap. (Also using anyhow's bail! and Result.)
  • How to deal with unmaintained crates? (eg. yaml-rust)
    6 projects | /r/rust | 9 Jan 2022
    The first thing I did was to find the crate yaml-rust and it seems it isn't really maintained anymore. It has not been updated in a year and there's a lot of PR's and unresolved issues, the CI is broken... So here is my open ended question.
  • YAML and Configuration Files
    12 projects | news.ycombinator.com | 14 Aug 2021
    Currently, my main concern with YAML is that, by the spec, comments are not attached to a particular node (see https://yaml.org/spec/1.2/spec.html#id2767100). As a result, a lot of YAML parsers (like https://github.com/yaml/libyaml and https://github.com/chyh1990/yaml-rust) only filter out the comments during the parsing phase. This makes it less than ideal for a use-case where the configuration file is expected to be modified by both programs and humans.

    TOML makes it more trivial to associate comments with a node. This is mainly because the language is simpler though, as the spec is not explicit about that (https://github.com/chyh1990/yaml-rust).

cue

Posts with mentions or reviews of cue. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-29.

What are some alternatives?

When comparing yaml-rust and cue you can also consider the following projects:

serde-yaml - Strongly typed YAML library for Rust

dhall-lang - Maintainable configuration files

serde - Serialization framework for Rust

jsonnet - Jsonnet - The data templating language

strictyaml - Type-safe YAML parser and validator.

terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

cue - CUE has moved to https://github.com/cue-lang/cue

starlark-rust - A Rust implementation of the Starlark language

libyaml-rust - LibYAML bindings for Rust

Protobuf - Protocol Buffers - Google's data interchange format

ytt - YAML templating tool that works on YAML structure instead of text

jsonnet-libs - Grafana Labs' Jsonnet libraries