On Thursday, September 27, 2012 at 3:45 PM, Toshio Kuratomi wrote:
then that works perfectly fine for me. To put out a snapshot between rc and final, I'd do 0.2rc1.post1 so not having a pre/dev in there doesn't bother me.
However, now that you mention it, ISTR that this is the way that it was originally and the lack of pre/dev in that position did bother another (set of?) the PEP authors enough that it was changed. For me, switching the search order of that particular piece is a bikeshed so I seem to have reallocated the memory for storing the arguments made in favor of shifting it to the current position :-)
So I guess the question is does losing the ability to not have a dev that is sorted between the rc and the final outweigh the legacy concerns of dealing with the number of packages in the wild (which is hard to count since due to other issues very few non final releases make it to PyPI) that expect 0.1dev1 to sort before an alpha. Personally I would want to fall on the side of not breaking the current assumptions since given a particular version string we do not have a good way of determining if it's expecting dev to fall before alpha or expecting it to fall after the rc. I should note that I originally stumbled upon this issue working on trying to convert existing tools to use PEP386 and warn when a version wasn't PEP386 compat and the difference between the way PEP386 handles the ordering and the way pkg_resources handled the differences caused a problem with a different version getting installed before and after my changes that caused me to dig into why.