Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Python: Dev

2.7 Release? 2.7 == last of the 2.x line?

 

 

First page Previous page 1 2 3 4 5 6 Next page Last page  View All Python dev RSS feed   Index | Next | Previous | View Threaded


ssteinerx at gmail

Nov 2, 2009, 3:24 PM

Post #1 of 131 (1450 views)
Permalink
2.7 Release? 2.7 == last of the 2.x line?

Not that anyone has asked yet, but here's my opinion on two issues
that have been raised on the python-dev mailing list lately:

+1 on 2.7 release with as much 3.0 "easy-port goo" as is practicable
without delaying the product beyond the tentative schedule. Sooner
would, of course, be better but I'm sure PEP 373 was produced after
due consideration of all pertinent factors.

+1 on 2.7 being the last of the 2.x series. Enough already!

I, personally, haven't even written my first line of 3.x code, nor
have I had any good reason to.

If I saw the actual end of the line at 2.7, I would actually start
looking for 3.x versions of my favorite tools and would be much more
inclined to help push them along ASAP.

Right now, so much that I use on a daily basis doesn't even have a 3.x
roadmap, much less any sort of working implementation, that I don't
see switching to 3.x ever unless the 2.x line ends, and soon!

Just my one vote.

S

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


foom at fuhm

Nov 2, 2009, 4:26 PM

Post #2 of 131 (1396 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 2, 2009, at 6:24 PM, ssteinerX [at] gmail wrote:

> +1 on 2.7 being the last of the 2.x series. Enough already!

-1. (not that it matters)

> I, personally, haven't even written my first line of 3.x code, nor
> have I had any good reason to.

Me neither.

> If I saw the actual end of the line at 2.7, I would actually start
> looking for 3.x versions of my favorite tools and would be much more
> inclined to help push them along ASAP.

I'd probably keep using 2.7 to be able to keep using those tools,
instead.

> Right now, so much that I use on a daily basis doesn't even have a
> 3.x roadmap, much less any sort of working implementation, that I
> don't see switching to 3.x ever unless the 2.x line ends, and soon!


I don't see switching to 3.x anytime soon either. But what's the rush?

2.x seems to be a fine edition of Python, why not let it keep going to
2.8 and beyond? Then you wouldn't have to switch to 3.x at all, and
that'd save you a ton of work. (and save all the people you will have
to convince to make a 3.x roadmap and do the port a ton of work too!)

It really sounds like you're saying that switching to 3.x isn't worth
the cost to you, but you want to force people (including yourself) to
do so anyways, because ...?

James
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


skip at pobox

Nov 2, 2009, 5:56 PM

Post #3 of 131 (1396 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

James> 2.x seems to be a fine edition of Python, why not let it keep
James> going to 2.8 and beyond?

Resources would be my guess. In much the same way that people move on to
newer releases of Windows, Mac OSX or Linux leaving an ever-dwindling group
available to support old versions, the same will be true of Python. Over
time more and more of the core developers (and end users) will switch to 3.x
leaving fewer and fewer people with the time or inclination to support 2.x.

I think there are probably enough functional differences between 2.6 and 2.7
that releasing 2.7 makes sense. The discussion at this point should
probably be what to do when 2.7 is out the door. It makes sense to me to
merge the py3k branch to trunk coincident with the 2.7/3.2 releases and
creation of the release27-maint and release32-maint branches. 3.3 and
future versions would then be released from trunk and there would be no
further 2.x releases.

Skip
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


ssteinerx at gmail

Nov 2, 2009, 7:48 PM

Post #4 of 131 (1394 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 2, 2009, at 7:26 PM, James Y Knight wrote:
>
> It really sounds like you're saying that switching to 3.x isn't
> worth the cost to you, but you want to force people (including
> yourself) to do so anyways, because ...?

Because that's the future of Python, where the developers who make
real base language improvements are focusing their attention, and
because the language would advance faster without this split attention.

A better language, i.e. Python 3.x, will become better faster without
dragging the 2.x series out any longer.

S



_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


brett at python

Nov 2, 2009, 8:22 PM

Post #5 of 131 (1389 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Mon, Nov 2, 2009 at 16:26, James Y Knight <foom [at] fuhm> wrote:
>
> On Nov 2, 2009, at 6:24 PM, ssteinerX [at] gmail wrote:
>
>>        +1 on 2.7 being the last of the 2.x series.  Enough already!
>
> -1. (not that it matters)
>
>> I, personally, haven't even written my first line of 3.x code, nor have I
>> had any good reason to.
>
> Me neither.
>
>> If I saw the actual end of the line at 2.7, I would actually start looking
>> for 3.x versions of my favorite tools and would be much more inclined to
>> help push them along ASAP.
>
> I'd probably keep using 2.7 to be able to keep using those tools, instead.
>
>> Right now, so much that I use on a daily basis doesn't even have a 3.x
>> roadmap, much less any sort of working implementation, that I don't see
>> switching to 3.x ever unless the 2.x line ends, and soon!
>
>
> I don't see switching to 3.x anytime soon either. But what's the rush?
>
> 2.x seems to be a fine edition of Python, why not let it keep going to 2.8
> and beyond? Then you wouldn't have to switch to 3.x at all, and that'd save
> you a ton of work. (and save all the people you will have to convince to
> make a 3.x roadmap and do the port a ton of work too!)
>
> It really sounds like you're saying that switching to 3.x isn't worth the
> cost to you, but you want to force people (including yourself) to do so
> anyways, because ...?

... I think a decent number of us no longer want to maintain the 2.x
series. Honestly, if we go past 2.7 I am simply going to stop
backporting features and bug fixes. It's just too much work keeping so
many branches fixed.

-Brett
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


barry at python

Nov 2, 2009, 8:28 PM

Post #6 of 131 (1391 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 2, 2009, at 10:48 PM, ssteinerX [at] gmail wrote:

> A better language, i.e. Python 3.x, will become better faster
> without dragging the 2.x series out any longer.

If Python 2.7 becomes the last of the 2.x series, then I personally
favor back porting as many features from Python 3 as possible. I
still think doing so will help people migrate to Python 3 by getting
their Python 2 code base as close to Python 3 as possible without
biting the ultimate bullet. E.g. for me "from __future__ import
absolute_import, unicode_literals" in Python 2.6 has helped quite a bit.

I also think Guido's call for feature freeze makes a lot more sense
when 2.7 is the EOL. Let's give people migrating to Python 3 a nice
big stable target to hit. Improving the stdlib also gives people a
big carrot to move.

I think it's also necessary to give third party library and
application authors as much help as possible to provide Python 3
compatible software. Putting together Python tools involves so many
dependencies in a fairly deep stack that even one unconverted library
can cause everything above it to stall on Python 2.

-Barry
Attachments: PGP.sig (0.81 KB)


ssteinerx at gmail

Nov 2, 2009, 8:51 PM

Post #7 of 131 (1390 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 2, 2009, at 11:28 PM, Barry Warsaw wrote:

> On Nov 2, 2009, at 10:48 PM, ssteinerX [at] gmail wrote:
>
>> A better language, i.e. Python 3.x, will become better faster
>> without dragging the 2.x series out any longer.
>
> If Python 2.7 becomes the last of the 2.x series, then I personally
> favor back porting as many features from Python 3 as possible. I
> still think doing so will help people migrate to Python 3 by getting
> their Python 2 code base as close to Python 3 as possible without
> biting the ultimate bullet. E.g. for me "from __future__ import
> absolute_import, unicode_literals" in Python 2.6 has helped quite a
> bit.

I agree as long as:
porting features.
not every feature added to 3.x or all you've done is make "Python 2.7,
the Python 3 Version." and core developer time will continue to be
wasted on Python 2.7 instead of moving forward.

> I also think Guido's call for feature freeze makes a lot more sense
> when 2.7 is the EOL. Let's give people migrating to Python 3 a nice
> big stable target to hit. Improving the stdlib also gives people a
> big carrot to move.

Agreed. And specifically NOT porting every shiny new toy from Python 3
back to 2.7 makes sure the carrots are only in the 3.x series.

> I think it's also necessary to give third party library and
> application authors as much help as possible to provide Python 3
> compatible software. Putting together Python tools involves so many
> dependencies in a fairly deep stack that even one unconverted
> library can cause everything above it to stall on Python 2.

And that's one of the reasons my explorations into Python 3 have been
limited to pretty much nothing.

I don't have time to do a bunch of work only to find out that the tool
I absolutely have to have to finish a project doesn't have a Python 3
version or has been crippled to make a Python 3 version.

BeautifulSoup, which I use every day, is one such product. Since the
crappy old SMGL parser's gone, BeautifulSoup uses the one that's left
in Python 3 and it makes BeautifulSoup completely useless for my daily
work.

That's not to say I can't fix that one particular project, but
customers get cranky when their project is taking longer than expected
and "Oh, I'm having to convert a lot of things to use Python 3"
doesn't seem to improve their mood much.

Thanks,

S

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


guido at python

Nov 2, 2009, 9:06 PM

Post #8 of 131 (1391 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Mon, Nov 2, 2009 at 9:51 PM, ssteinerX [at] gmail <ssteinerx [at] gmail> wrote:
> BeautifulSoup, which I use every day, is one such product.  Since the crappy
> old SMGL parser's gone, BeautifulSoup uses the one that's left in Python 3
> and it makes BeautifulSoup completely useless for my daily work.

This sounds an area where some help might be useful. Perhaps the
quickest solution would simply be to copy the old crappy "sgml" based
html parser into a new version of BeautifulSoup. Though I imagine what
it really needs is a "quirks mode" parser that is compatible with the
HTML dialect accepted by, say, IE6. Maybe a summer of code project?

--
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


foom at fuhm

Nov 2, 2009, 9:29 PM

Post #9 of 131 (1391 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 3, 2009, at 12:06 AM, Guido van Rossum wrote:
> Though I imagine what
> it really needs is a "quirks mode" parser that is compatible with the
> HTML dialect accepted by, say, IE6. Maybe a summer of code project?

Already exists: html5lib.
http://code.google.com/p/html5lib/

Or if you want a faster (yet I think less exact) HTML parser,
libxml2's HTML parser, via lxml:
http://codespeak.net/lxml/parsing.html#parsing-html

James
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


martin at v

Nov 2, 2009, 10:07 PM

Post #10 of 131 (1391 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

Barry Warsaw wrote:
> On Nov 2, 2009, at 10:48 PM, ssteinerX [at] gmail wrote:
>
>> A better language, i.e. Python 3.x, will become better faster without
>> dragging the 2.x series out any longer.
>
> If Python 2.7 becomes the last of the 2.x series, then I personally
> favor back porting as many features from Python 3 as possible.

And if *2.6* becomes the last of the 2.x series?

Regards,
Martin
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


sturla at molden

Nov 2, 2009, 11:20 PM

Post #11 of 131 (1387 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

I'd just like to mention that the scientific community is highly
dependent on NumPy. As long as NumPy is not ported to Py3k, migration is
out of the question. Porting NumPy is not a trivial issue. It might take
a complete rewrite of the whole C base using Cython. NumPy's ABI is not
even PEP 3118 compliant. Changing the ABI for Py3k might break extension
code written for NumPy using C. And scientists tend to write CPU-bound
routines in languages like C and Fortran, not Python, so that is a major
issue as well. If we port NumPy to Py3k, everyone using NumPy will have
to port their C code to the new ABI. There are lot of people stuck with
Python 2.x for this reason. It does not just affect individual
scientists, but also large projects like IBM and CERN's blue brain and
NASA's space telecope. So please, do not cancel 2.x support before we
have ported NumPy, Matplotlib and most of their dependant extensions to
Py3k. The community of scientists and engineers using Python is growing,
but shutting down 2.x support might bring an end to that.

Sturla Molden


_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


fuzzyman at voidspace

Nov 3, 2009, 1:13 AM

Post #12 of 131 (1384 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

Sturla Molden wrote:
> I'd just like to mention that the scientific community is highly
> dependent on NumPy. As long as NumPy is not ported to Py3k, migration
> is out of the question. Porting NumPy is not a trivial issue. It might
> take a complete rewrite of the whole C base using Cython. NumPy's ABI
> is not even PEP 3118 compliant. Changing the ABI for Py3k might break
> extension code written for NumPy using C. And scientists tend to write
> CPU-bound routines in languages like C and Fortran, not Python, so
> that is a major issue as well. If we port NumPy to Py3k, everyone
> using NumPy will have to port their C code to the new ABI. There are
> lot of people stuck with Python 2.x for this reason. It does not just
> affect individual scientists, but also large projects like IBM and
> CERN's blue brain and NASA's space telecope. So please, do not cancel
> 2.x support before we have ported NumPy, Matplotlib and most of their
> dependant extensions to Py3k.

What will it take to *start* the port? (Or is it already underway?) For
many projects I fear that it is only the impending obsolescence (real
rather than theoretical) of Python 2 that will convince projects to port.

Python 2.X is not about to 'stop working', but there will come a point
where it will 'stop being worked on'.

All the best,

Michael
> The community of scientists and engineers using Python is growing, but
> shutting down 2.x support might bring an end to that.
>
> Sturla Molden
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev [at] python
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
>


--
http://www.ironpythoninaction.com/

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


cournape at gmail

Nov 3, 2009, 1:55 AM

Post #13 of 131 (1384 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Tue, Nov 3, 2009 at 6:13 PM, Michael Foord <fuzzyman [at] voidspace> wrote:
> Sturla Molden wrote:
>>
>> I'd just like to mention that the scientific community is highly dependent
>> on NumPy. As long as NumPy is not ported to Py3k, migration is out of the
>> question. Porting NumPy is not a trivial issue. It might take a complete
>> rewrite of the whole C base using Cython. NumPy's ABI is not even PEP 3118
>> compliant. Changing the ABI for Py3k might break extension code written for
>> NumPy using C. And scientists tend to write CPU-bound routines in languages
>> like C and Fortran, not Python, so that is a major issue as well. If we port
>> NumPy to Py3k, everyone using NumPy will have to port their C code to the
>> new ABI. There are lot of people stuck with Python 2.x for this reason. It
>> does not just affect individual scientists, but also large projects like IBM
>> and CERN's blue brain and NASA's space telecope. So please, do not cancel
>> 2.x support before we have ported NumPy, Matplotlib and most of their
>> dependant extensions to Py3k.
>
> What will it take to *start* the port? (Or is it already underway?) For many
> projects I fear that it is only the impending obsolescence (real rather than
> theoretical) of Python 2 that will convince projects to port.

I feel the same way. Given how much resources it will take to port to
py3k, I doubt the port will happen soon. I don't know what other numpy
developers think, but I consider py3k to simply not worth the hassle -
I know we will have to port eventually, though.

To answer your question, the main issues are:
- are two branches are necessary or not ? If two branches are
necessary, I think we simply do not have the resources at the moment.
- how to maintain a compatible C API across 2.x and 3.x
- is it practically possible to support and maintain numpy from 2.4
to 3.x ? For example, I don't think the python 2.6 py3k warnings are
very useful when you need to maintain compatibility with 2.4 and 2.5.

There is also little documentation on how to port a significant C
codebase to py3k.

David
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


python at rcn

Nov 3, 2009, 1:58 AM

Post #14 of 131 (1384 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

[Michael Foord]
> What will it take to *start* the port? (Or is it already underway?) For many projects I fear that it is only the impending
> obsolescence (real rather than theoretical) of Python 2 that will convince projects to port.

FWIW, I do not buy into the several premises that have arisen in this thread:

* For 3.x to succeed, something bad has to happen to 2.x. (which in my book translates to intentionally harming 2.x users, either
through neglect or force, in order to bait them into switching to 3.x).

* Core developers will are losing time supporting 2.x. (backports take some time but it
is small in comparison to getting a patch to work in the first place -- if anyone can comment on this assertion, it is the people
who have been doing it already (such as AP, MD, BP, GB, and myself)).

* That 3.x has proven its readiness to supplant 2.x. (It hasn't been exercised that heavily and there are a lot of things that may
or may not prove to be successful in the end -- bytes/text issues, tuple comparison challenges, new io, mapping views with set
operations, etc).

In all these matters, I think the users should get a vote. And that vote should be cast with their decision to stay with 2.x, or
switch to 3.x, or try to support both. We should not muck with their rational decision making by putting "carrots" in one pile and
abandoning the other.


Raymond


P.S. I found it curious that one of the strongest proponents of killing 2.x also mentioned that he has never written a line of 3.x
code. Since this discussion is a matter of great consequence, I would hope that advocates will only take informed positions --
this isn't really time for shooting from the hip and killing 2.x.

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


p.f.moore at gmail

Nov 3, 2009, 3:23 AM

Post #15 of 131 (1383 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

2009/11/3 Raymond Hettinger <python [at] rcn>:
> In all these matters, I think the users should get a vote.  And that vote
> should be cast with their decision to stay with 2.x, or switch to 3.x, or
> try to support both.  We should not muck with their rational decision making
> by putting "carrots" in one pile and abandoning the other.

Agreed (up to a point).

The biggest issue to my mind is that adoption by the ultimate end
users is significantly hampered by the fact that big projects like
Twisted, numpy and the like, have no current plans to move to Python
3. Even end users with a reasonable level of coding expertise don't
have the time or resources to offer much in the way of help with a
port, when the project as a whole isn't interested in starting the
process.

At the moment, it seems to me that this is the biggest blocker to
Python 3 adoption. And it's a chicken and egg situation - I don't use
Python 3, so I don't test the new features, so the projects I need see
little take-up, so I can't use them in Python 3, so I don't use Python
3...

And while I know I can run Python 2.x and Python 3.x side by side, at
the end of the day, I want to just be able to type "python" to get my
interpreter.

I don't know how to solve this (assuming that "just wait" isn't going
to do it). Maybe the core devs will have to offer resource to some of
the key projects to get things moving (but as this is a volunteer
effort, that isn't something that "just happens" either...)

Paul.
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


solipsis at pitrou

Nov 3, 2009, 3:40 AM

Post #16 of 131 (1383 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

Sturla Molden <sturla <at> molden.no> writes:
>
> Porting NumPy is not a trivial issue. It might take
> a complete rewrite of the whole C base using Cython.

I don't see why they would need a rewrite. Little of the C API has changed
between 2.x and 3.x. Cython itself is supposed to support both 2.x and 3.x,
isn't it?

> NumPy's ABI is not even PEP 3118 compliant.

That's interesting, because PEP 3118 was pushed mainly by a prominent member of
the NumPy community and some of its features are almost dedicated to NumPy.

Regards

Antoine.


_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


solipsis at pitrou

Nov 3, 2009, 3:43 AM

Post #17 of 131 (1383 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

David Cournapeau <cournape <at> gmail.com> writes:
>
> To answer your question, the main issues are:
> - are two branches are necessary or not ? If two branches are
> necessary, I think we simply do not have the resources at the moment.
> - how to maintain a compatible C API across 2.x and 3.x
> - is it practically possible to support and maintain numpy from 2.4
> to 3.x ? For example, I don't think the python 2.6 py3k warnings are
> very useful when you need to maintain compatibility with 2.4 and 2.5.

You should ask all those questions on the dedicated mailing-list:
http://mail.python.org/mailman/listinfo/python-porting

Regards

Antoine.


_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


rdmurray at bitdance

Nov 3, 2009, 4:41 AM

Post #18 of 131 (1381 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Mon, 2 Nov 2009 at 22:06, Guido van Rossum wrote:
> On Mon, Nov 2, 2009 at 9:51 PM, ssteinerX [at] gmail <ssteinerx [at] gmail> wrote:
>> BeautifulSoup, which I use every day, is one such product.  Since the crappy
>> old SMGL parser's gone, BeautifulSoup uses the one that's left in Python 3
>> and it makes BeautifulSoup completely useless for my daily work.
>
> This sounds an area where some help might be useful. Perhaps the
> quickest solution would simply be to copy the old crappy "sgml" based
> html parser into a new version of BeautifulSoup. Though I imagine what
> it really needs is a "quirks mode" parser that is compatible with the
> HTML dialect accepted by, say, IE6. Maybe a summer of code project?

It's not a matter of quirks. It's a matter of being able to parse
truly broken html/xml, which browsers unfortunately do too well
for everyone else's sanity.

So, call it a "sloppy mode" parser, and then yes, that would solve the
problem.

--David (RDM)


barry at python

Nov 3, 2009, 4:55 AM

Post #19 of 131 (1381 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 3, 2009, at 1:07 AM, Martin v. Löwis wrote:

> Barry Warsaw wrote:
>> On Nov 2, 2009, at 10:48 PM, ssteinerX [at] gmail wrote:
>>
>>> A better language, i.e. Python 3.x, will become better faster
>>> without
>>> dragging the 2.x series out any longer.
>>
>> If Python 2.7 becomes the last of the 2.x series, then I personally
>> favor back porting as many features from Python 3 as possible.
>
> And if *2.6* becomes the last of the 2.x series?

Then clearly we can't back port features.

I'd like to read some case studies of people who have migrated
applications from 2.6 to 3.0. Having just gone through a 2 week
sprint to migrate Launchpad from 2.4 to 2.6, and only making it to
2.5, I can say that I was unpleasantly surprised at the amount of work
it took. A lot of that was working out the dependency upgrades, with
some amount of fixing our code (mostly tests) for things that have
changed (e.g. exception print/str format). We didn't make it to
Python 2.6 because dealing with deprecation warnings for sha, md5, and
sets (a little in our code but tons in our dependencies) consumed most
of our remaining time.

Given another week or so I think we would have made it to Python 2.6,
but I'm not at all confident that that would have been a good enough
platform to attempt an upgrade to Python 3, even if all of our very
numerous large dependencies were available for Python 3. Maybe it
wouldn't be so bad, but my recent experience informs me that I'm
probably being too optimistic rather than too pessimistic.

-Barry
Attachments: PGP.sig (0.81 KB)


barry at python

Nov 3, 2009, 5:09 AM

Post #20 of 131 (1380 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 2, 2009, at 11:51 PM, ssteinerX [at] gmail wrote:

> I agree as long as:
> A> 2.7 comes out as soon as possible, even if it's missing helpful
> porting features.
> B> 2.7 will get ONLY new features that make it easier to port to
> 3.x, not every feature added to 3.x or all you've done is make
> "Python 2.7, the Python 3 Version." and core developer time will
> continue to be wasted on Python 2.7 instead of moving forward.

I'm not sure I agree with that core developer time will be "wasted on
Python 2.7 instead of moving forward". However, I completely
understand core developers seeing Python 2.x as a dead end and not
wanting to work on it. If that's a real issue, we should acknowledge
that as a factor in the decision. This is a volunteer organization
and if the majority of developers are sick and tired of Python 2, then
it absolutely makes no sense to slog through a Python 2.7 release.
I'd much rather take all the enthusiastic energy that decision will
reclaim and focus it on, oh, Python 3's email package instead <wink>.

>> I also think Guido's call for feature freeze makes a lot more sense
>> when 2.7 is the EOL. Let's give people migrating to Python 3 a
>> nice big stable target to hit. Improving the stdlib also gives
>> people a big carrot to move.
>
> Agreed. And specifically NOT porting every shiny new toy from Python
> 3 back to 2.7 makes sure the carrots are only in the 3.x series.

Python 3's got enough carrots and sticks already. One huge carrot
that will never make it back into Python 2 is bytes/strings of
course. The huge stick is that Python 2 is end-of-lifed, if not now,
eventually. It isn't going to get a reprieve. Everyone knows that
everyone will have to get to Python 3. The question is, what can we
as a community do to make that inevitability as easy to swallow as
possible?

>> I think it's also necessary to give third party library and
>> application authors as much help as possible to provide Python 3
>> compatible software. Putting together Python tools involves so
>> many dependencies in a fairly deep stack that even one unconverted
>> library can cause everything above it to stall on Python 2.
>
> And that's one of the reasons my explorations into Python 3 have
> been limited to pretty much nothing.
>
> I don't have time to do a bunch of work only to find out that the
> tool I absolutely have to have to finish a project doesn't have a
> Python 3 version or has been crippled to make a Python 3 version.

Unfortunately, I think we have to do those explorations, fail, hit
roadblocks, complain, etc. but most importantly identify the packages
that need to be ported. Then work with those package authors to make
the upgrades happen. And improve Python and Pythonic tools so that
migrations can go smoothly.

Speaking as a package author, I know how much work it is just to get a
bug fix release out. The three lines of code fix means 50 lines of
test writing, a half a day of documenting, packaging, uploading, and
announcing. Porting even one of my packages to Python 3 is a
significant undertaking which frankly I don't have the cycles for.
Anything large and complicated is hopeless. Witness how long and
difficult it's been just to get a standard library module updated
(email) and you get a sense of how much work it will be to get an
entire stack of code onto Python 3.

> BeautifulSoup, which I use every day, is one such product. Since
> the crappy old SMGL parser's gone, BeautifulSoup uses the one that's
> left in Python 3 and it makes BeautifulSoup completely useless for
> my daily work.
>
> That's not to say I can't fix that one particular project, but
> customers get cranky when their project is taking longer than
> expected and "Oh, I'm having to convert a lot of things to use
> Python 3" doesn't seem to improve their mood much.

I completely agree. What happens when your application depends on a
half dozen Zope packages, Twisted, and 15 or 20 other established,
mature packages? It's a daunting prospect.

-Barry
Attachments: PGP.sig (0.81 KB)


mal at egenix

Nov 3, 2009, 5:21 AM

Post #21 of 131 (1381 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

Raymond Hettinger wrote:
> In all these matters, I think the users should get a vote. And that
> vote should be cast with their decision to stay with 2.x, or switch to
> 3.x, or try to support both. We should not muck with their rational
> decision making by putting "carrots" in one pile and abandoning the other.

I don't think users will really go for carrots. Python 2.x is mature
enough already and at least the users I know are really happy with it
(including myself).

IMHO, the main benefit of backporting features from 3.x to 2.x is
to make the transition from 2.x to 3.x a gradual one based on evolution
rather than revolution.

The other aspect is maintenance. Users do care about bug fixes and
security patches. They also care about fixes needed to make Python
work on new platforms (such as Windows 7) - mainly to keep their
existing code running on these new platforms.

The question is: Who is going to continue working on such 2.x
releases, review patches, etc. ?

If there are no core developers willing to do this, it's likely
not going to happen.

OTOH, I'm sure that companies who have invested in Python 2.x
applications will gladly pay a yearly fee to the PSF to have
this done for them.

It's simply a whole lot cheaper than to port a few 100K lines of
Python/C code, not to mention having to wait for all the used
3rd party libs to get ported as well.

The PSF could then pay a core developer to take care of the
extra Python 2.x releases.

--
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source (#1, Nov 03 2009)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


cournape at gmail

Nov 3, 2009, 5:26 AM

Post #22 of 131 (1381 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Tue, Nov 3, 2009 at 8:40 PM, Antoine Pitrou <solipsis [at] pitrou> wrote:
> Sturla Molden <sturla <at> molden.no> writes:
>>
>> Porting NumPy is not a trivial issue. It might take
>> a complete rewrite of the whole C base using Cython.
>
> I don't see why they would need a rewrite.

(let me know if those numpy-specific discussions are considered OT0

There is certainly no need for a full rewrite, no. I am still unclear
on the range of things to change for 3.x, but the C changes are not
small, especially since numpy uses "dark" areas of python C extension.
The long vs int, strings vs bytes will take some time.

AFAIK, the only thing which has been attempted so far is porting our
own distutils extension to python 3.x, but I have not integrated those
changes yet.

> between 2.x and 3.x. Cython itself is supposed to support both 2.x and 3.x,
> isn't it?

Yes - but no numpy code use cython ATM, except for the random
generators, which would almost certainly be trivial to convert.

The idea which has been discussed so far is that for *some* code which
need significant changes or rewrite, using cython instead of C may be
beneficial, as it would give the 3.x code "for free". Having more
cython and less C could also bring more contributors - that would
actually be the biggest incentive, as the number of people who know
the core C code of numpy is too small.

> That's interesting, because PEP 3118 was pushed mainly by a prominent member of
> the NumPy community and some of its features are almost dedicated to NumPy.

I have not been involved with PEP 3118 discussion, so cannot comment
on the reason why it is not fully supported yet by numpy.

But I think that's a different issue altogether - PEP 3118 goal is for
interoperation with other packages. We can port to PEP 3118 without
porting to 3.x, and we can port to 3.x without taking care of PEP
3118.

David
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


cournape at gmail

Nov 3, 2009, 5:40 AM

Post #23 of 131 (1382 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Tue, Nov 3, 2009 at 9:55 PM, Barry Warsaw <barry [at] python> wrote:

>
> Then clearly we can't back port features.
>
> I'd like to read some case studies of people who have migrated applications
> from 2.6 to 3.0.

+1, especially for packages which have a lot of C code: the current
documentation is sparse :) The only helpful reference I have found so
far is an email by MvL concerning psycopg2 port.

David
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


ssteinerx at gmail

Nov 3, 2009, 5:40 AM

Post #24 of 131 (1381 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 3, 2009, at 12:06 AM, Guido van Rossum wrote:

> On Mon, Nov 2, 2009 at 9:51 PM, ssteinerX [at] gmail <ssteinerx [at] gmail
> > wrote:
>> BeautifulSoup, which I use every day, is one such product. Since
>> the crappy
>> old SMGL parser's gone, BeautifulSoup uses the one that's left in
>> Python 3
>> and it makes BeautifulSoup completely useless for my daily work.
>
> This sounds an area where some help might be useful. Perhaps the
> quickest solution would simply be to copy the old crappy "sgml" based
> html parser into a new version of BeautifulSoup.

That is what we're discussing doing on the old-soup branch at http://github.com/adevore/old-beautiful-soup
. I'm not exactly sure why the old SGML parser was dropped but it
seems that porting it to Python 3 would be enough of an effort that it
caused the Python library to drop it, and the current developer of the
mainline of Beautiful Soup to decide to just use what was available in
Python 3 natively.

> Though I imagine what it really needs is a "quirks mode" parser that
> is compatible with the
> HTML dialect accepted by, say, IE6. Maybe a summer of code project?

I think it just relies on the old SGML parser's not blowing up on
completely bogus HTML (like most of the web) and does the best it can
with the 'chunks' that come back; nothing to do with quirks mode per se.

As for a Summer of Code project, I have no idea what would be
involved. I know there are lots of users for Beautiful soup; as far
as I know it is the best scraper of HTML code, valid or not, that's
out there and it's been around a long time and I see it in projects in
the "html scraping" realm all the time.

At any rate, it's just one example of where the developer has taken
the easy route out with a 3.0 port and has produced a product that's
"Python 3" but, instead of getting better with Python's new features,
has actually become useless for the majority of use-cases where
formerly it shined.

S

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


ssteinerx at gmail

Nov 3, 2009, 5:43 AM

Post #25 of 131 (1381 views)
Permalink
Re: 2.7 Release? 2.7 == last of the 2.x line? [In reply to]

On Nov 3, 2009, at 1:07 AM, Martin v. Löwis wrote:

> Barry Warsaw wrote:
>> On Nov 2, 2009, at 10:48 PM, ssteinerX [at] gmail wrote:
>>
>>> A better language, i.e. Python 3.x, will become better faster
>>> without
>>> dragging the 2.x series out any longer.
>>
>> If Python 2.7 becomes the last of the 2.x series, then I personally
>> favor back porting as many features from Python 3 as possible.
>
> And if *2.6* becomes the last of the 2.x series?

Then I'd guess that that would annoy the crap out of everyone who's
put so much effort into 2.7 and all of us who have been waiting for
what I hope will finally be the "now ports way more easily to 3.0"
version.

S

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com

First page Previous page 1 2 3 4 5 6 Next page Last page  View All Python dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.