yaml-rust
A pure rust YAML implementation. (by chyh1990)
serde-yaml
Strongly typed YAML library for Rust (by dtolnay)
Our great sponsors
yaml-rust | serde-yaml | |
---|---|---|
4 | 14 | |
596 | 928 | |
- | - | |
0.0 | 8.0 | |
about 1 month ago | about 1 month ago | |
Rust | Rust | |
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.
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
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
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)
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
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).
serde-yaml
Posts with mentions or reviews of serde-yaml.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-03-26.
- Serde-YAML for Rust has been archived
- YAML decoder for rust discontinued do to maintainer "not using YAML anymore"
-
Project idea: port markdownlint to Rust
Either https://github.com/chyh1990/yaml-rust or https://github.com/dtolnay/serde-yaml for parsing the YAML config file that markdownlint uses
-
A question for all those that use Python
Serde for most of your input and output formats, with the serde-yaml and csv crates for format backends.
-
Why do we need configuration? Creating and handling configuration files in Rust
serde_yaml
-
Introduction to Rust generics [1/2]: Traits
This is especially useful for data deserialization: Just by implementing the Serialize and Deserialize traits from the serde crate, the (almost) universally used serialization library in the Rust world, we can then serialize and deserialize our types to a lot of data formats: JSON, YAML, TOML, BSON and so on...
-
Weird error only on android: "this struct takes 3 generic arguments but 2 generic arguments were supplied" for serde_json
FYI, I opened pull requests for serde_json and serde_yaml to explicitly enable indexmap/std, and dtolnay already merged and published them both!
-
anyone using rust in production? what do you do?
Pair that with Serde for serialization/deserialization (JSON, TOML, YAML, CSV/TSV, XML, URL query strings, etc.), Figment for configuration, and ignore for filesystem traversal with blacklist support, and Rust is a real joy for writing CLI utilities.
-
Walking a Yaml to file to Build an abstract syntax tree
I see that are packages like https://github.com/dtolnay/serde-yaml and the parser where serde is built on that give a Yaml representation, but I don't see any way to walk through it in a generic way with a Visitor.
-
Getting Started with Hippo - a WebAssembly PaaS (Part 3)
With the understanding we’ve built of the runtime environment, I feel ready to start porting a simple CLI I’ve built in Rust to run in WebAssembly as a service hosted in Hippo. [The project we’ll start with is J2Y(https://github.com/smurawski/j2y/tree/1-getting-started) – which is a little Rust application that converts JSON to YAML or YAML to JSON. We’ll adapt this to, depending on the target, either be a CLI or a WebAssembly binary to run in WAGI. The heavy lifting of the conversion is done by the serde-json and the serde-yaml crates.
What are some alternatives?
When comparing yaml-rust and serde-yaml you can also consider the following projects:
serde - Serialization framework for Rust
libyaml-rust - LibYAML bindings for Rust
strictyaml - Type-safe YAML parser and validator.
json - Strongly typed JSON library for Rust
cue - CUE has moved to https://github.com/cue-lang/cue
toml-rs - A TOML encoding/decoding library for Rust
ytt - YAML templating tool that works on YAML structure instead of text
stfu8 - Sorta Text Format in UTF-8
json5 - JSON5 — JSON for Humans
json - JSON for Modern C++