On 26 Mar 2013 21:08, "Daniel Holth" <dholth@gmail.com> wrote:
Yea, it's totally about keywords and that's just not an example of a
larger problem (like embedding little mini json documents) and what we need is another competing standard all because of a legacy file format for a file that barely anything uses right now (which makes it the ideal time _to_ replace it, before it starts being actively used in a widespread fashion).
We need approximately five fields:
Name Version Provides-Extra Requires-Dist Setup-Requires-Dist
the rest are useless, never need to be parsed by anyone, or are already sent to pypi as a dict.
We need the environment markers language.
We need the requirements specifiers >= 4.0.0, < 9.
Define the JSON serialization and we'll have this format converted in 50 lines of code or less. It's that easy.
I've already defined it for the post install hook design, and will now be rewriting the PEP to use that as the base format. As added bonuses, it will allow 2.0 metadata to live alongside 1.1 metadata (due to a different file name), be easier to explain to readers of the PEP and allow us to fix some clumsy legacy naming. When we last considered this question, we were still trying to keep the metadata 1.3 changes minimal to avoid delaying the addition of wheel support to pip. That issue has since been solved more expediently by allowing metadata 1.1 in wheel files. The addition of the post install hook is the other major relevant change, and that's the one which means we need to define a structured metadata format regardless of the on-disk format. It all adds up to it making far more sense to just switch the format to JSON for 2.0 rather than persisting with ad hoc attempts to use a key-value multidict for structured data storage. Cheers, Nick. P.S. I forgot LAX has free wi-fi now :)
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig