[Distutils] RFC: Updating PEP 345

Tarek Ziadé ziade.tarek at gmail.com
Fri Apr 10 16:40:16 CEST 2009


On Fri, Apr 10, 2009 at 4:33 PM, Jim Fulton <jim at zope.com> wrote:
>
> On Apr 10, 2009, at 10:30 AM, Tarek Ziadé wrote:
>
>> On Fri, Apr 10, 2009 at 2:30 PM, Jim Fulton <jim at zope.com> wrote:
>>>
>>> On Apr 9, 2009, at 6:40 PM, Tres Seaver wrote:
>>>
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>>
>>>> Jim Fulton wrote:
>>>>>
>>>>> On Apr 9, 2009, at 12:55 PM, Tres Seaver wrote:
>>>>> ...
>>>>>>
>>>>>> I have backed off on the notion of overloading 'Requires:' /
>>>>>> 'Provides:'
>>>>>> / 'Obsoletes:', following Jim's notion of deprecating them in favor of
>>>>>> new fields.  I named them 'Requires-Dist:', 'Provides-Dist:', and
>>>>>> 'Obsoletes-Dist'.
>>>>>>
>>>>>> "Stock" distutils should probably spell the arguments to
>>>>>> distutils.core.setup predictably:  'requires_dist', 'provides_dist',
>>>>>> 'obsoletes_dist'.  setuptools can treat 'install_requires' as an
>>>>>> undeprecated alias for 'requires_dist'.
>>>>>
>>>>>
>>>>> What is the rational for this?  I'd strongly prefer the "requires"
>>>>> argument name to be compatible with setuptools.  Otherwise, I think
>>>>> we'll introduce needless confusion.
>>>>
>>>> I'm aiming for self-consistency within the 'PKG-INFO' field names:
>>>>
>>>> - 'Requires'
>>>> - 'Requires-Python'
>>>> - 'Requires-External'
>>>>
>>>> The 'Obsoletes' and 'Provides' fields also need
>>>> distutils-project-oriented versions, so picking a suffix ('-Dist') which
>>>> matched for them seemed cleanest.
>>>>
>>>> Add that to the fact that setuptools has no way (yet) to spell
>>>> 'provides' or 'obsoletes', and it seemed to me clearer to just make
>>>> setuptools current argument an alias for the "consistent" version to be
>>>> landed in distutils.
>>>
>>>
>>> I get that. In fact, I already got that. :) I think backward
>>> compatibility
>>> with existing wide usage is more important and not incompatible.
>>
>> we could also support both spellings for one version, and deprecate
>> the old name with a warning,
>
>
> Strong: -1.
>
> Why change the name? A different name isn't going to be better enough to be
> worth the hassle. Deprecation is waaaay overrated as a tool for reducing the
> pain of making people change their code or habits.

I don't think it's a good idea to have a different name in PKG-INFO
and in the arguments to describe
the same element. we should have the same name everywhere for
consistency at the end.

I don't see anything wrong about adding a simple deprecation warning
here, It won't happen again
for quite a while.

Distutils already had some argument name changes like that for
backward compatiblity (licence<->license) but they were not
displaying any warning.

OTHO I'd be fine if the current setuptool name is used in PKG-INFO


More information about the Distutils-SIG mailing list