[Distutils] Distribution format for Python3 libraries

Nick Coghlan ncoghlan at gmail.com
Tue Nov 19 23:24:30 CET 2013


On 20 Nov 2013 03:33, "PJ Eby" <pje at telecommunity.com> wrote:
>
> On Tue, Nov 19, 2013 at 6:22 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> > On 19 November 2013 15:09, PJ Eby <pje at telecommunity.com> wrote:
> >> On Sun, Nov 17, 2013 at 8:44 AM, Nick Coghlan <ncoghlan at gmail.com>
wrote:
> >>> More accurately, it appears setuptools *does* support PEP 345 style
> >>> environment markers, it just isn't documented at
> >>>
http://pythonhosted.org/setuptools/setuptools.html#declaring-dependencies
> >>> *sigh*
> >>
> >> That's because it's technically an experimental feature I hacked into
> >> 0.6c12 development shortly before the distribute merge in order to
> >> handle setuptools' own requirements for SSL, so that setuptools could
> >> ship just one platform-independent egg and still have
> >> platform-specific dependencies.  ;-)
> >>
> >> I think Jason et al may have since upgraded it to a supported feature,
> >> but last I looked I think there may have still been issues with Jython
> >> support for the feature.
> >>
> >> So, the lack of documentation may still be a feature rather than a bug
ATM.  ;-)
> >
> > A fair point :)
> >
> > Regardless, it highlights the fact I need to ensure PEP 426 preserves
> > the legacy spellings for the markers that have dots in their names in
> > metadata 1.2 (https://bitbucket.org/pypa/pypi-metadata-formats/issue/12
).
>
> Eh?  I implemented PEP 426 (draft-at-the-time) markers in the feature
> I mentioned above.
>
> Hm.  Actually, looking over it now, I see the real reason it's
> experimental: it was implemented based on consensus-in-progress for
> PEP 426, so not a finalized PEP.  It also sort-of handles PEP 345.
> And the Jython fallback, IIRC, was maybe only doing PEP 345.  (And
> setuptools itself only needed the Python version and platform name.)
>
> So it's actually a bit of a mess -- which is why it wasn't documented,
> in order to avoid people forcing the new PEP's hand with another de
> facto standard.  I just figured it would get us most of the way there
> and when the PEP dust settled, the tests and code could be tweaked a
> bit to match, then documented with reference to the PEP.

Ah, that definitely makes sense - and then I went and postponed further
work on metadata 2.0 until after the Python 3.4 feature freeze once I
realised how far we could get with metadata 1.1 + the setuptools metadata
files.

So it turns out my *first* answer to the IPython folks was the most
accurate: technically, we need PEP 426 finalised before the static metadata
can handle their requirements.

Perhaps it would be worth breaking the environment markers out as their own
PEP?

Cheers,
Nick.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20131120/cb9a9d2e/attachment-0001.html>


More information about the Distutils-SIG mailing list