ron
jrsonnet
Our great sponsors
ron | jrsonnet | |
---|---|---|
24 | 3 | |
3,128 | 279 | |
2.8% | - | |
7.6 | 8.7 | |
17 days ago | 2 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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.
ron
-
XML is better than YAML
Whenever this kind of arguments come up, I am sad that RON (https://github.com/ron-rs/ron) is not better known. To me it feels like a cleaner and better JSON.
In any case, my little experience with it had made me hate YAML. Generally speaking, I have come to dislike any language with significant whitespace other than Haskell.
-
What config format do you prefer?
Part of the reason why I migrated away from RON in system76-scheduler is because I needed to rely on the 253-untagged-enums branch from https://github.com/MomoLangenstein/ron. Which still isn't resolved today: https://github.com/ron-rs/ron/pull/451.
-
Ron: Rusty Object Notation
Serde is strongly, strictly typed: you have to specify what type you want to decode to. It’s nothing like Python’s Pickle protocol.
See, for example, https://github.com/ron-rs/ron/blob/484fcab0686dfd18c7e29b6c1..., where it (in a type-inferency way) says “parse as Config”.
- JSON vs. XML with Douglas Crockford
- Ron – Rusty Object Notation
- They're rebuilding the Death Star of complexity
jrsonnet
-
What config format do you prefer?
Jsonnet does all that you wanted in your ideal config language, and has a rust implementation too: https://github.com/CertainLach/jrsonnet
-
The Dhall Configuration Language
> jsonnet seemed like a great idea to me, but I've experienced extremely low performance.
Although each implementation of jsonnet has some quirks, take a look at (scala-based) sjsonnet^1 or go-jsonnet^2 for improved performance. We use go-jsonnet because of some issues we had with the scala version - but it does seem to be the fastest by a large margin.
There's also a Rust version^3 that claims to be the fastest yet^4, but I haven't experimented with it at all.
[1]: https://github.com/databricks/sjsonnet
[2]: https://github.com/google/go-jsonnet/
[3]: https://github.com/CertainLach/jrsonnet
[4]: https://gist.github.com/CertainLach/5770d7ad4836066f8e0bd91e...
What are some alternatives?
toml.io - Source Code for toml.io
kubernetes-mixin - A set of Grafana dashboards and Prometheus alerts for Kubernetes.
json5 - JSON5 — JSON for Humans
dhall-aws-cloudformation - Typecheck, template and modularize your AWS CloudFormation with Dhall
kdl - the kdl document language specifications
go-jsonnet
minimal-yaml - A minimalist, zero-copy parser for a strict subset of the Yaml specification.
mina - Mina is a cryptocurrency protocol with a constant size blockchain, improving scaling while maintaining decentralization and security.
yaml-reference-parser
dhall-manual - The Dhall Configuration Language Manual
typescript-json-schema - Generate json-schema from your Typescript sources
dhall-kubernetes - Typecheck, template and modularize your Kubernetes definitions with Dhall