kdl-rs
Rust parser for KDL (by kdl-org)
kaydle
An alternative implementation of Kat's Document Language, including serde integration (by Lucretiel)
kdl-rs | kaydle | |
---|---|---|
2 | 3 | |
282 | 70 | |
2.1% | - | |
1.2 | 1.2 | |
about 1 month ago | 8 months ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Mozilla Public 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.
kdl-rs
Posts with mentions or reviews of kdl-rs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-09-13.
-
The KDL Document Language
To me it looks amazing, and I was literally about to adopt it in one of my open source Rust-based projects, but then I realized that the Rust version (and only the Rust version) is restrictively licensed under the Parity Public License [1].
I want my open source project to be able to be used in commercial applications, and don't want any of my dependencies' licenses to restrict that.
[1]: https://github.com/kdl-org/kdl-rs/blob/87f836134c1d901ff5ce6...
kaydle
Posts with mentions or reviews of kaydle.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-04-28.
-
impl serde::Deserialize... is it really that complicated?
Now, in practice, most deserializers will transparently forward themselves through visit_newtype_struct (json, yaml, MessagePack). However, because deserialize_newtype_struct has access to the type name being deserialized, and some deserializers will use this type name to inform custom behavior. For instance, in my (in-progress) implementation of KDL uses type names (including newtype names) to inform the names of nodes in homogeneous lists, bridging the gap between serde's collection-oriented model and KDL's node-oriented model. You can also see that the json and MessagePack serde implementations use special typenames to opt-in to custom behavior (like serde-json's raw-value feature).
- The KDL Document Language
-
The KDL Document Language, an alternative to YAML/JSON/XML
My implementation is here: https://github.com/Lucretiel/kaydle/blob/main/kaydle-primitives/src/number.rs
What are some alternatives?
When comparing kdl-rs and kaydle you can also consider the following projects:
json5 - JSON5 — JSON for Humans
kdl - the kdl document language specifications
Slim - Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic.
ron - Rusty Object Notation
kdl4j - KDL Parser for the JVM
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
config - configuration library for JVM languages using HOCON files