Open
Description
There are systems like https://github.com/alecthomas/voluptuous which let you programmatically define a YAML configuration schema.
Defining our configuration via a schema that can be validated against would give us some benefits:
- Easy to validate for parsing issues (and automatically generating nice error messages)
- Easy to autogenerate documentation
- Easy to deprecate and change options
I suggest voluptuous as that's what https://github.com/home-assistant/core uses and they seem to have good success, however there might be better systems.