[Distutils] Builders vs Installers

Nick Coghlan ncoghlan at gmail.com
Wed Mar 27 05:55:50 CET 2013


On 26 Mar 2013 21:08, "Daniel Holth" <dholth at 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 at python.org
> http://mail.python.org/mailman/listinfo/distutils-sig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130327/5ad646f5/attachment-0001.html>


More information about the Distutils-SIG mailing list