kaydle
An alternative implementation of Kat's Document Language, including serde integration (by Lucretiel)
kdl-rs
Rust parser for KDL (by kdl-org)
kaydle | kdl-rs | |
---|---|---|
3 | 2 | |
70 | 285 | |
- | 2.1% | |
1.2 | 0.0 | |
8 months ago | about 1 month ago | |
Rust | Rust | |
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
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.
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
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...
What are some alternatives?
When comparing kaydle and kdl-rs you can also consider the following projects:
kdl - the kdl document language specifications
json5 - JSON5 — JSON for Humans
ron - Rusty Object Notation
Slim - Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic.
Kaitai Struct - Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
kdl4j - KDL Parser for the JVM
config - configuration library for JVM languages using HOCON files