serde-yaml
Strongly typed YAML library for Rust (by dtolnay)
toml-rs
A TOML encoding/decoding library for Rust (by toml-rs)
serde-yaml | toml-rs | |
---|---|---|
14 | 8 | |
928 | 1,034 | |
- | - | |
8.0 | 3.1 | |
about 1 month ago | over 1 year 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.
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.
toml-rs
Posts with mentions or reviews of toml-rs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-23.
-
`toml` vs `toml_edit` (ie `toml` 0.6 is out)
I updated the toml<->json online converter after the ValueAfterTable error has been fixed with toml 0.6. Very nice to see progress on the toml and toml_edit crates.
-
Error trying to deserialize TOML using Rust/SERDE
use std::fs::File; use std::io::Write; use std::collections::BTreeMap as Map; use serde_derive::{Serialize, Deserialize}; #[derive(Debug)] #[derive(Serialize, Deserialize)] #[serde(tag = "type0")] enum FooBarTwo<'a> { FooBarOne { string1: &'a str }, } #[derive(Debug)] #[derive(Serialize, Deserialize)] #[serde(tag = "type1")] enum FooBarThree<'a> { FooBarFour { string2: &'a str }, } #[derive(Debug)] #[derive(Serialize, Deserialize)] struct FooBarFour<'a> { black: &'a str, #[serde(borrow)] green: FooBarTwo<'a>, #[serde(borrow)] blue: FooBarThree<'a>, } #[derive(Debug)] #[derive(Serialize, Deserialize)] struct FooBarFourList<'a> { // Uasing a Map to workaround a known bug (#303) when using top level Vec // see https://github.com/alexcrichton/toml-rs/issues/303 #[serde(borrow)] foo_bar_six: Map<&'a str, FooBarFour<'a>> } fn main() { let red = FooBarFour { black: "aaa", green: FooBarTwo::FooBarOne { string1: "aaaabbbb" }, blue: FooBarThree::FooBarFour { string2: "ccccccc" }, }; let pink = FooBarFour { black: "aaa", green: FooBarTwo::FooBarOne { string1: "aaaabbbb" }, blue: FooBarThree::FooBarFour { string2: "ccccccc" }, }; let mut white = Map::new(); white.insert("pink", pink); white.insert("red", red); let fbfl = FooBarFourList { foo_bar_six: white }; println!("\nTL: {:?}\n", fbfl); let filename = "./data/test.toml"; let data = toml::to_string(&fbfl).expect("Error serialising fbfl"); println!("\nTL as TOML: {:?}\n", data); let mut f = File::create(filename).expect("Unable to create file"); f.write_all(data.as_bytes()).expect("Error writing data to file"); let toml_in: FooBarFour = toml::from_str(&data).expect("Error deserialising fbfl"); println!("\n{:?}\n", toml_in); }
-
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...
-
Hey Rustaceans! Got a question? Ask here! (21/2022)!
It looks like the fields are public now (https://github.com/alexcrichton/toml-rs/pull/455, https://docs.rs/toml/latest/toml/value/struct.Date.html), so just upgrading the crate should do it :-)
-
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.
-
toml_edit v0.3
Added toml-rs-compatible API via the toml_edit::easy module for when developers want to ensure consistency between format-preserving and general TOML work, with one caveat.
-
Hey Rustaceans! Got an easy question? Ask here (16/2021)!
A quick example off the top of the head of my head is some tests in the toml package. It has a few different approaches. One is to use macros as in parser.rs. In valid.rs and invalid.rs it uses macros to generate a separate test for each input file. This allows you to run just one individual test from the list. These examples aren't perfect, and there are more sophisticated test utilities (like insta) that can abstract the process of "here are a bunch of inputs, test them all".
-
Reading TOML with default values
I want to read a toml file with default value. I tried toml-rs but it doesn't allow for default values.
What are some alternatives?
When comparing serde-yaml and toml-rs you can also consider the following projects:
yaml-rust - A pure rust YAML implementation.
cargo-flamegraph - Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3
libyaml-rust - LibYAML bindings for Rust
toml - Rust TOML Parser
json - Strongly typed JSON library for Rust
rust-esp32-std-demo - Rust on ESP32 STD demo app. A demo STD binary crate for the ESP32[XX] and ESP-IDF, which connects to WiFi, Ethernet, drives a small HTTP server and draws on a LED screen.
serde - Serialization framework for Rust
rust - Empowering everyone to build reliable and efficient software.
stfu8 - Sorta Text Format in UTF-8
community-localization
json - JSON for Modern C++
flamegraph - Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3