2013/5/31 Brett Cannon <brett@python.org>
So yaml is not going to end up in the stdlib. The format is not used
widely enough to warrant being added nor have to maintain a parser for
such a complicated format.

[citation needed]

it’s omnipresent in the ruby community *because* it’s nicer than JSON and XML, and *because* the ruby stdlib has a parser (my interpretation, of course, but not a unlikely one, imho). and again, to intercept the “unsafe” argument: naming the unsafe load function “load” creates human error. naming the safe one “load” prevents it. i’m sure of that, too: nobody may honestly say he didn’t know that “unsafe_load” is unsafe.

> (Although that’s probably easily done by just not doing “import yaml”, but
> “import std_yaml” or “import pyyaml2”)

The standard practice to to place any accelerated code in something
like _yaml and then in yaml.py do a ``from _yaml import *``.

that’s what i said. just that _name implies internal, implementation -specific, rapidly changing code, which doesn’t fit my vision of a strict API that “_yaml” and compatible implementations should implement. but maybe an infobox in the stdlib yaml documentation telling the user about it is sufficient.

But that then creates a possible position where just to read metadata
you must have a 3rd-party library installed, and I view that as
non-starter.

that’s exactly why i presented those 3 ideas as one: they work together best (although the implementation discovery isn’t mandatory)

It's simpler, it's Python syntax, it's faster to parse.

wrong, wrong and irrelevant.

it’s only “simpler” for certail definitions of “simple”. those definitions target compilers, not humans. python targets humans, not compilers. (that’s e.g. why it favors readability over speed)
also JSON is NOT python syntax, not even a subset: it has true, false and null instead of True, False and None, and also there’s a little hack involving escaped newlines which breaks code based on this assumption in awesome ways ;)

But making YAML a first-class citizen in all of this won't happen
as long as YAML is not in the stdlib and that is not a viable option.

says you.