On May 6, 2016 10:14 PM, "Donald Stufft" <donald@stufft.io> wrote:
>
> While I personally prefer YAML to any of the options on a purely syntax based
> level, when you weigh in all the other considerations for this I think that it
> makes sense to go with TOML for it.

I feel the same way. I use YAML fairly extensively with Salt, and while most of the basic cases are usually fine, any time I try to do something advanced, I find that it takes a few tries to get right.

Also note with YAML that whichever library we picked would *also* become a pip upstream, FWIW.

> The only other option I think that could work is what Chris (I think?)
> suggested and just use a Python literal evaluated using ``ast.literal_eval()``
> this is safe to do but it would make it harder for other languages to parse our
> files. It's similar to the approach taken by Lua Rocks for how their packaging
> system works (although their uses variables instead of one big dictionary which
> I think looks nicer) but Lua is much better suited for trying to execute safely
> outside of ``ast.literal_eval()`` too.

I'd be interested to see what that option looked like, though I *suspect* that the vagaries in unicode/non-unicode between 2.x and 3.x may produce the same weakness that we saw in the ConfigParser option.

-W