YAML¶
“YAML” is a recursive acronym for “YAML Ain’t Markup Language”. YAML is a human-readable data-serialization language, commonly used for configuration files and in applications where data is being stored or transmitted. It uses both Python-style indentation to indicate nesting (source: https://yaml.org/spec/1.2/spec.html)
YAML specifications
YAML syntax
These are the most important rules for YAML syntax:
- indentation rules:
0 spaces + hyphen + space for modules
4 spaces + hyphen + space in front of functions
8 spaces in front of arguments
- separation rules:
modules and functions with arguments are followed by a colon (:) and a new line
functions without specified arguments don’t need a colon
arguments are followed by a colon, a space and then the value
modules and functions can be emtpy (see`- draw_masks` above), but function arguments cannot be emtpy (e.g. overwrite: needs to be true or false)
as per Python syntax, optional function arguments can, but don’t have to be specified and the functions will just run on default values
functions can be added multiple times, but sometimes their output may be overwtritten (e.g. - threshold makes sense only once, but - blur may be used in multiple locations)