YAML is a human-readable data-serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored (e.g. debugging output) or transmitted (e.g. document headers).
YAML targets many of the same communications applications as XML but has a minimal syntax which intentionally breaks compatibility with SGML . It uses both Python-style indentation to indicate nesting, and a more compact format that uses for lists and {} for maps making YAML 1.2 a superset of JSON.