Hi all, I noticed that some Python 2.4-only features crept into parts of SciPy (yes, I'm guilty, too). Has Python 2.5 been out for long enough that we can drop support for 2.3? Stéfan
I noticed that some Python 2.4-only features crept into parts of SciPy (yes, I'm guilty, too). Has Python 2.5 been out for long enough that we can drop support for 2.3?
Yes, I would drop the support for python 2.3, thus requiring python >= 2.4. Ondrej
Stefan van der Walt wrote:
Hi all,
I noticed that some Python 2.4-only features crept into parts of SciPy (yes, I'm guilty, too). Has Python 2.5 been out for long enough that we can drop support for 2.3?
I'd prefer that we didn't. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
On 8/28/07, Robert Kern <robert.kern@gmail.com> wrote:
I noticed that some Python 2.4-only features crept into parts of SciPy (yes, I'm guilty, too). Has Python 2.5 been out for long enough that we can drop support for 2.3?
What 2.4 features are being used? -- Jarrod Millman Computational Infrastructure for Research Labs 10 Giannini Hall, UC Berkeley phone: 510.643.4014 http://cirl.berkeley.edu/
On Tue, Aug 28, 2007 at 11:24:43AM -0700, Jarrod Millman wrote:
On 8/28/07, Robert Kern <robert.kern@gmail.com> wrote:
I noticed that some Python 2.4-only features crept into parts of SciPy (yes, I'm guilty, too). Has Python 2.5 been out for long enough that we can drop support for 2.3?
What 2.4 features are being used?
Mostly list comprehension (should be easy to find using a regular expression search). No decorators (those you don't use by accident). I hope that ParametricTest is still compatible with 2.3, but I don't have 2.3 around to test anymore. Robert says we should still support 2.3 -- but is there a time limit or a migration plan? Regards Stéfan
On Tuesday 28 August 2007 17:22:46 Stefan van der Walt wrote:
Robert says we should still support 2.3 -- but is there a time limit or a migration plan?
FYI, the maskedarray implementation uses properties. Those are 2.4 features, right ?
Pierre GM wrote:
On Tuesday 28 August 2007 17:22:46 Stefan van der Walt wrote:
Robert says we should still support 2.3 -- but is there a time limit or a migration plan?
FYI, the maskedarray implementation uses properties. Those are 2.4 features, right ?
No. Only the decorator syntax is new. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
2007/8/28, Stefan van der Walt <stefan@sun.ac.za>:
On Tue, Aug 28, 2007 at 11:24:43AM -0700, Jarrod Millman wrote:
What 2.4 features are being used?
Mostly list comprehension (should be easy to find using a regular expression search).
List comprehensions, e.g. [i for i in range(10)], were introduced in Python 2.0. Maybe you mean generator expressions, e.g. (i for i in range(10)) ? -- Lino Mastrodomenico E-mail: l.mastrodomenico@gmail.com
On Tue, Aug 28, 2007 at 11:52:04PM +0200, Lino Mastrodomenico wrote:
2007/8/28, Stefan van der Walt <stefan@sun.ac.za>:
On Tue, Aug 28, 2007 at 11:24:43AM -0700, Jarrod Millman wrote:
What 2.4 features are being used?
Mostly list comprehension (should be easy to find using a regular expression search).
List comprehensions, e.g. [i for i in range(10)], were introduced in Python 2.0.
Well, that's good news, then :) Thanks Stéfan
Stefan van der Walt wrote:
On Tue, Aug 28, 2007 at 11:24:43AM -0700, Jarrod Millman wrote:
On 8/28/07, Robert Kern <robert.kern@gmail.com> wrote:
I noticed that some Python 2.4-only features crept into parts of SciPy (yes, I'm guilty, too). Has Python 2.5 been out for long enough that we can drop support for 2.3? What 2.4 features are being used?
Mostly list comprehension (should be easy to find using a regular expression search). No decorators (those you don't use by accident). I hope that ParametricTest is still compatible with 2.3, but I don't have 2.3 around to test anymore.
What 2.4 features do you think you might have used? The list of such features is here: http://www.python.org/doc/2.4.4/whatsnew/whatsnew24.html
Robert says we should still support 2.3 -- but is there a time limit or a migration plan?
To the extent that I have a say in the matter (and a survey of recent checkin activity would suggest "significantly less than others in this discussion"), I would like to maintain compatibility with as old a Python as we can for as long as we can. I think we should have a compelling reason to drop support for a version of Python that is more than just the age of that version. People are still actively using Python 2.3. People are still actively using Python 1.5.2, for that matter; and the people that still maintain their libraries for that platform are highly regarded for it (e.g. Fredrik Lundh). We should drop compatibility when there is a significant new feature that we need to use. If scipy had a lot of places where it used popen, the subprocess module in 2.4 would be a good reason to switch, in my opinion. However, I don't see many 2.4 features that are really critical, just conveniences. On the other hand, if there were a great influx of developers who had never seen a Python older than 2.4, that might be a good reason to switch, too. But until then, I think the rest of us can have the discipline to use only features from 2.3. It's not that hard. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
On 8/28/07, Robert Kern <robert.kern@gmail.com> wrote:
On the other hand, if there were a great influx of developers who had never seen a Python older than 2.4, that might be a good reason to switch, too. But until then, I think the rest of us can have the discipline to use only features from 2.3. It's not that hard.
I agree. Let's at least table the discussion for now; we can return to this question later. And since it doesn't sound like any Python 2.4 features have sneaked in, the 0.6 release will still be compatible with Python 2.3. Please correct me if I am missing something. Thanks, -- Jarrod Millman Computational Infrastructure for Research Labs 10 Giannini Hall, UC Berkeley phone: 510.643.4014 http://cirl.berkeley.edu/
On Tue, Aug 28, 2007 at 04:01:36PM -0700, Jarrod Millman wrote:
On 8/28/07, Robert Kern <robert.kern@gmail.com> wrote:
On the other hand, if there were a great influx of developers who had never seen a Python older than 2.4, that might be a good reason to switch, too. But until then, I think the rest of us can have the discipline to use only features from 2.3. It's not that hard.
I agree. Let's at least table the discussion for now; we can return to this question later.
And since it doesn't sound like any Python 2.4 features have sneaked in, the 0.6 release will still be compatible with Python 2.3. Please correct me if I am missing something.
Shouldn't be a problem. I'm now compiling 2.3.6 from source, so if no one else gets around to it, I'll make sure that everything is in order tomorrow morning (GMT+2). The buildbot clients all run 2.4, 2.5 (mainly) and 2.6; I should add a machine running 2.3 as well. Regards Stéfan
On Tue, Aug 28, 2007 at 05:47:06PM -0500, Robert Kern wrote:
I would like to maintain compatibility with as old a Python as we can for as long as we can. I think we should have a compelling reason to drop support for a version of Python that is more than just the age of that version.
Fair enough. For some reason I was under the impression that list comprehension was a 2.4 feature, but as Lino pointed out, it's been around forever. The rest of the features introduced in 2.4 were fairly minor, and we can work around decorators. The Python 2.5 list is more exciting: http://docs.python.org/whatsnew/whatsnew25.html Especially conditional expressions, partial functions, and 'with' context managers. Nothing we can't live without, though. Thanks for the feedback. Stéfan
participants (6)
-
Jarrod Millman -
Lino Mastrodomenico -
Ondrej Certik -
Pierre GM -
Robert Kern -
Stefan van der Walt