YAML awesomeness
A curated list of YAML resources. See also Awesome Yaml (@datatxt)
awesome-yaml
Overview
YAML is a configuration format similar to JSON.
YAML is underrated
- Some developers who use it had a negative first-impression of the format, usually because of the syntax.
- Some dislike the fact that YAML allows the use of indentation for specifying scope (although indentation is technically not required).
- Some consider YAML to be superfluous: "XML and JSON fit the bill nicely enough".
- Some have either never heard of YAML or are influenced by the fact that it is (or at least was) not as famous as JSON or XML.
YAML is a supserset of JSON
- Does JSON support comments? ... NO
- Does JSON support comments? ... YES (if you use YAML)
- To get JSON with comments, just use YAML instead of JSON
- YAML is a superset of JSON
## This is valid YAML syntax
## Try it out now by copy-pasting it into an online YAML parser
## (e.g., http://yaml-online-parser.appspot.com/)
{
"json": [
"fat and rigid"
],
"yaml": [
"skinny and flexible"
],
"object": {
"array": [
{
"null_value": null
},
{
"boolean": true
},
{
"integer": 1
}
]
}
}
Digging in
Advanced
Alternatives
- Alternatives compared
- Alternatives (one-off competing)
- Variants
- Strict YAML uses a subset of the full YAML specification.
Annoyances
- Parsers Consistently bad parsing of YAML
Cloud
Critique
Documentation and resources
GUI
Mentions
- After XML JSON then what?
- blog entry praising YAML over JSON
- drupal convert
- Flextype
- Hacker News
- HackerNews JSON/XML comparison
- kubernetes
- Statamic CMS
Parsers
People
Projects
- ADA YAML with focus on YAML 1.3
- Amazon ALEXA
- ANSIBLE ansible uses YAML
- Code Beautify
- Dynamic YAML -- childish
- Go language golang-specific
- Heat Openstack
- Kubernetes uses YAML
- Python-Related
- Repoze
- Spiff (on-hold as of 2017-08)
- Sublime YAML Macros
- YAML Official
- Yamlinc
- YAMLForm-Drupal8
Security
Specification
Templating
- Ansible-based YAML plus Jinja
- Ruby-based YAML plus Ruby
- Tempered YAML plus Bash
- Yasha YAML plus Jinja
- Yglu Structural YAML templating and processing
- YST YAML plus Haskell
- ytt YAML Templating Tool. Templating and patching, together. Includes Python-like programming environment.
- Zenbu YAML plus Jinja
Tools
Transformation
- AdaYaml Transforms
- dasel - Query and update data structures using selectors from the command line. Comparable to jq / yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.
- Online transformation tools
- DDG Search
- JMESPath technically a JSON tool, but powerful enough to be relevant here
Variables
Variables (example workarounds)
Validation
- Cerberus validation package for Python
- Copper
- DDG Search
- kube-score
- Kubeval
- learnk8s -- blog post
Tutorial
YAML GISTS
YAML Gems
Searches
See also
Aweseomeness
- Awesome YAML (datatxt)
- Awesome home assistant
- Awesome curated
- Awesome manifesto
- Awesome contributions
- Awesome JSON
- Ansible Jinja addon filters