The User Configuration¶
The base config specifies both the allowable syntax of a user config and how the resulting dictionary representation in memory should look. Every attribute name is a key in the user config. So an example user config that conforms to the base config shown in The Base Configuration might look like
attribute_2:
- attribute_2b:
val1: hello
val2: let us begin
- attribute_2a:
d2a_val1: 99.999
d2_a_dict:
b: 765
c: 789
- attribute_2b:
val1: goodbye
val2: we are done
attribute_1:
attribute_1_2: valA
Here, the user has declared an instance of attribute_2 as a list of “tasks”: first, an instance of attribute_2b with certain values of val1 and val2, then attribute_2a, and then another different instance of attribute_2b. The declaration of attribute_1 with its one subattribute appears below attribute_2, but they are not in any kind of sequence as far as the interpreter goes, since they are dictionary keys, not list elements.
The subattribute d2_a_dict of attribute_2a reassigns values for keys b and c; the default value for key a claimed in base.yaml (123) is unchanged.