On 20 Nov 2013 03:33, "PJ Eby" <[email protected]> wrote: > > On Tue, Nov 19, 2013 at 6:22 AM, Nick Coghlan <[email protected]> wrote: > > On 19 November 2013 15:09, PJ Eby <[email protected]> wrote: > >> On Sun, Nov 17, 2013 at 8:44 AM, Nick Coghlan <[email protected]> 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.
_______________________________________________ Distutils-SIG maillist - [email protected] https://mail.python.org/mailman/listinfo/distutils-sig
