On Mon, Jul 29, 2013 at 10:01:24AM +0200, Olivier Grisel wrote:
> We can always to a 0.14rc2 if needed later that week.

> 0.14rc and 0.14rc2 are valid version numbers for python packages according to:

> http://www.python.org/dev/peps/pep-0386/#the-new-versioning-algorithm

I am always worried about the ordering of version numbers under Python. I
think that the suggested way of doing release candidates is 0.14a1,
0.14a2... 0.14b1, ... and then 0.14. We need to make sure that things are
sorted out right by distutils.

If I look at distutils.version.StrictVersion's docstring, 0.14rc1 is not
supported on Python 2.7 [1]. So I would rather not take risks.

Gaƫl

[1] Here is an IPython sessions:

In [4]: distutils.version.StrictVersion?
Type:       classobj
String Form:distutils.version.StrictVersion
File:       /usr/lib/python2.7/distutils/version.py
Docstring:
Version numbering for anal retentives and software idealists.
Implements the standard interface for version number classes as
described above.  A version number consists of two or three
dot-separated numeric components, with an optional "pre-release" tag
on the end.  The pre-release tag consists of the letter 'a' or 'b'
followed by a number.  If the numeric components of two version
numbers are equal, then one with a pre-release tag will always
be deemed earlier (lesser) than one without.

The following are valid version numbers (shown in the order that
would be obtained by sorting according to the supplied cmp function):

    0.4       0.4.0  (these two are equivalent)
    0.4.1
    0.5a1
    0.5b3
    0.5
    0.9.6
    1.0
    1.0.4a3
    1.0.4b1
    1.0.4

The following are examples of invalid version numbers:

    1
    2.7.2.2
    1.3.a4
    1.3pl1
    1.3c4

The rationale for this version numbering system will be explained
in the distutils documentation.
Constructor information:
 Definition:distutils.version.StrictVersion(self, vstring=None)

In [5]: distutils.version.StrictVersion('0.14a1')
Out[5]: StrictVersion ('0.14a1')

In [6]: distutils.version.StrictVersion('0.14rc1')
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call
last)
<ipython-input-6-bdfce7f8042b> in <module>()
----> 1 distutils.version.StrictVersion('0.14rc1')

/usr/lib/python2.7/distutils/version.pyc in __init__(self, vstring)
     38     def __init__ (self, vstring=None):
     39         if vstring:
---> 40             self.parse(vstring)
     41 
     42     def __repr__ (self):

/usr/lib/python2.7/distutils/version.pyc in parse(self, vstring)
    105         match = self.version_re.match(vstring)
    106         if not match:
--> 107             raise ValueError, "invalid version number '%s'" %
vstring
    108 
    109         (major, minor, patch, prerelease, prerelease_num) = \

ValueError: invalid version number '0.14rc1'


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Scikit-learn-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to