That's a Lot of YAML

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. noyaml

    A silly emotional rant about the state of devops tooling/the infrastructure sector in 2018. #noyaml.com

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. www.yaml.org

    The yaml.org website

  4. honeysql

    Turn Clojure data structures into SQL

    Joins can certainly work in a data format like YAML. For an example, see Honey SQL from the Clojure community [0] (though without something to contrast strings like Clojure's keywords, you miss out on the automatic parameterization).

    You mentioned moving JOINs around, so I'll mention that if represented as structured data, you can move any of the top level components around, so you could more closely follow the "true order of SQL" [1]. For example, I would love to be able to put FROM before SELECT in all or almost all cases. There's also being able to share and add to something like a complicated WHERE clause, where essentially all programming languages have built-in facilities for robustly manipulating ordered and associative data compared to string manipulation, which is not well-suited for the task.

    Now don't get me wrong, I don't particularly care for YAML (though it doesn't bother me that much), but as someone who's done their fair share of programmatic SQL creation and manipulation in strings, not having a native way to represent SQL as data is a mistake in my opinion.

    0: https://github.com/seancorfield/honeysql#big-complicated-exa...

  5. yq

    yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor

    For anyone looking for such a script, there's some CLIs that make it easy. One is `yq -o props` [1], another way is to use `yq -j` or `yj` [2] to convert to JSON and pipe it to `gron` [3].

    [1] https://github.com/mikefarah/yq

    [2] https://github.com/sclevine/yj

    [3] https://github.com/tomnomnom/gron

  6. yj

    CLI - Convert between YAML, TOML, JSON, and HCL. Preserves map order.

    For anyone looking for such a script, there's some CLIs that make it easy. One is `yq -o props` [1], another way is to use `yq -j` or `yj` [2] to convert to JSON and pipe it to `gron` [3].

    [1] https://github.com/mikefarah/yq

    [2] https://github.com/sclevine/yj

    [3] https://github.com/tomnomnom/gron

  7. json5

    JSON5 — JSON for Humans

    I think JSON5 is fairly close to this: https://json5.org

    I reckon the only thing it's missing to be truly accessible to non-techies is that string values still need to be quoted, i.e. you can't have:

    key: this is my value

    (I'm definitely not saying it would be a good idea to allow quotes to be dropped, just that that's the only potential stumbling block I see for non-techies.)

  8. hjson

    Hjson, a user interface for JSON

    Hjson is very similar to JSON5 but allows quotes to be dropped and can use newlines instead of commas. There are implementations for a lot of different languages, I myself contributed the C++ implementation. I wanted something smaller than Yaml but more lax than JSON, found Hjson to suit my needs perfectly.

    https://hjson.github.io/

  9. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  10. json2jsii

    Generates jsii-compatible structs from JSON schemas

  11. bcl

    Basic Configuration Language

    https://github.com/wkhere/bcl

    Will not immediately help for all of YAML usages, but at least for defining resources in a Terraform-like style. In fact, it's already it's already helpful as a replacement for HCL in one internal project, that was a final motivation to hack it.

    In a bigger picture, I have no idea how to help with YAML omnipresence in Kubernetes. More than a half of my problems in a $daily_job is how crude is consolidating a final Helm chart from different sources. I am not saying that Helm would be inherently a bad tool or my company has chosen pretty bad way of using it - I guess everyone is doing their best considering the ciscumstances. But manipulating textual templates is just too error prone, and the detection of errors happens too late. I dare to say - Kubernetes would do much better with custom format based on a C-like syntax, instead if trying to prove how cool YAML is, especially when it isn't.

  12. LIBUCL

    Universal configuration library parser

    Have you seen ucl? https://github.com/vstakhov/libucl

    It seems very similar.

  13. cuetorials.com

    Learn you some CUE for a great good!

  14. cue

    The home of the CUE language! Validate and define text-based and dynamic configuration

  15. cels

    Command line tool to patch your YAML, JSON and TOML files.

    I agree. I find working with templated YAML so cumbersome that I ended up creating a tool (Cels - https://github.com/pacha/cels) because of it. I like Jsonnet and Starlark but in practice I don’t usually need a new programming language for most use cases. Most of the time I just want to create a base document and apply patches to do modifications. That simplifies everything a lot.

  16. blooddy_crypto

    ActionScript (AS3) library for processing binary data. This library contains MD5, SHA-1, SHA-2 ( SHA-224 и SHA-256 ), Base64, CRC32 algorithms, JSON encoder & decoder as well as PNG and JPEG encoders.

  17. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • TomWright/dasel: Select, put and delete data from JSON, TOML, YAML, XML and CSV

    13 projects | news.ycombinator.com | 18 Aug 2024
  • Yq is a portable yq: command-line YAML, JSON, XML, CSV and properties processor

    11 projects | news.ycombinator.com | 4 Feb 2023
  • A practical issue with YAML: your schema is not documentation

    1 project | news.ycombinator.com | 17 Dec 2022
  • How do you yaml

    1 project | /r/devops | 23 Nov 2022
  • An Introduction to JQ

    13 projects | /r/programming | 24 Aug 2021