[Distutils] Common version-comparison semantics for peace love and harmony
Tarek Ziadé
ziade.tarek at gmail.com
Sat Nov 28 09:52:57 CET 2009
On Sat, Nov 28, 2009 at 4:00 AM, P.J. Eby <pje at telecommunity.com> wrote:
> At 12:26 PM 11/28/2009 +1100, Ben Finney wrote:
>>
>> I think you're reading a proposal that I didn't write.
>
> Are you not the person who's proposed using simple alphanumeric strings for
> version comparison?
>
>> My understanding of PEP 386 is that it *isn't* about asking Python
>> developers to change how they work. Is that not right?
>
> Asking them to generate alternative versioning schemes, without the ability
> to use pre-release versions (e.g. alpha, beta, etc.) would most certainly be
> a change from the status quo.
>
>> Moreover, what is a standard for if not for encouraging people to follow
>> it for the benefit of many?
>
> Usually, they get something in trade. Supporting WSGI means you get to use
> WSGI apps, or run on a WSGI server, for example. So, cost and benefit are
> balanced.
>
> In contrast, a popular Python library or app will get packaged if somebody
> wants it, and not if they don't. There isn't a lot of incentive for a
> developer to do something different, solely for the sake of the packager...
> which is probably why things are the way they are now.
>
> If, on the other hand, there's some positive benefit being offered (e.g. a
> new tool that makes life easier for them or perhaps their users), then there
> might be some incentive to learn a new way of coding versions. But without
> such an incentive, who wants to learn some new way to encode prerelease
> versions?
>
> This is why I've argued for keeping a scheme in 386 that can mechanically
> translate most existing versioning schemes found in the wild: it means that
> most people won't have to do a thing, as tool builders can just use
> suggest_version().
Yes, this function can be used internally, and that was a good idea
to have that function.
But as soon as it is used inside a public package manager, like pip or
setuptools or distribute, I expect this function to raise some kind of
warning so the developers knows its version
doesn't meet the public, documented standard.
More information about the Distutils-SIG
mailing list