Python 3 Wall of Shame
python3wos.appspot.com
python3wos.appspot.com
OTOH, maybe the community still refuses to switch? Maybe py3k is viewed as "that bad," that no one wants to bother with it?
FWIW, py3k is quite fast now and the language "enhancements" do make a significant difference. I actually quite like it now that my primary OS, Arch Linux, gave me the boot and made py3 the default interpreter. Many of my projects are still in py2.7, but I have been working on converting them. Sometimes I get lucky and all I need to do is run 2to3!
Deprecate print statements, warn if you don't import division from __future__, and so on. Maybe even leave a 2.X compatibility mode: `from __past__ import print_statement`.
I guess unicode is a sticky point though. I really don't know what can be done about except rant about how hard unicode is.
I don't think anyone's viewing it that way. A lot of people want to switch and many are, but there's the non-zero cost of porting and also the generally low demand. No one wants to spend 3 days of initial work on a port that no one currently wants, then tack on the continued maintenance of two branches (or a single code base that works with both and requires twice the testing).
Part of the reason we have the PSF Sprints funding is to solve that problem. A group of 6-7 developers in Cape Town is taking advantage of the funding in early March and plans to complete more of the py3k port of matplotlib. matplotlib is a great one to work on in terms of community impact since it usually ranks highly in any poll of 3.x blockers.
And there's a version that shows rails3 compatibility amongst other things here:
Once Django is Py3K-ready, all other projects will follow suit.
Django on top, followed by wxpython, scipy and mathplotlib.
Package Number of Votes Django 760 wxPython 423 scipy 366 matplotlib 328 PIL 295 py2exe 243 Twisted 169 PyGTK 157 Pygame 117 web2py 91 ---- 2949
OK, probably just me.
kb
So I hope that the rest of the Python community isn't sitting around waiting for Django to take the lead here.
Most Python frameworks are stuck because of WSGI vs Python 3 issue.
Zope 3 and Grok are pretty cool.
* Encoding specifications required.
* maps/reduces returning iterators objects instead of a list. Having to call list() on anything I map is just a pain.
I don't plan to switch to Python 3 until a compelling reason shows up. 2.7 works great for what I do.
The real story here is how Python 3 appears to be a largely unwanted improvement, IMO.
maps/reduces returning iterators objects instead of a list. Having to call list() on anything I map is just a pain.
Why do you require it to be a list?DecoratorTools shouldn't really be on that list though, since it doesn't make any sense for py3.
As someone who's project appears on this list (and in the WRONG color) all I can say is that I don't think anyone is trying to dis Python 3.x. Support will come when a critical mass of developers are using 3.x. I know it's kind of a chicken and egg problem but this seems to be saying that it's the package developer's fault and I don't really think that's fair or true.
From a user point of view, using Python 3 looks like giving up on a lot of libraries, which in turn means a lot more work to accomplish the same things. It's a big effort that does not benefit anyone. If switching to a new version of a language makes my life harder, then I will not, especially if working on a startup or a project which is time critical.
On the other hand, this is a work that the developers of the libraries will have to do anyway, sooner or later. Doing it now would benefit a lot of people that would like to use the latest version of Python and now simply cannot afford. So why do not do it? In this case the effort would benefit a lot of people at once, which is the purpose of a library in the first place.
But... will they "have to"? If a library author is waiting for 'critical adoption', they may never upgrade to Python 3 themselves, and have no need to upgrade the library, and the circle continues.
I can't just move to Python 3.x and abandon 2.x. And I have not been able to find a way to have boto support both with the same code base. So, then it becomes a matter of maintaining multiple versions of boto. Just shoot me now. If the barriers weren't so high, more packages would be running in Python3.x.
A better way to sell python 3 should be to highlight python 2's pain points, and show why 3 is better. If they were to show a significant performance gain over Python 2.x, or some sort of killer new feature (ie, get rid of "self" everywhere) I suspect python 3 would get a lot more traction. As it is, Python 2 as a language works just fine for me, and most of what I want (a better interpreter) are being addressed by the PyPy project.
Out of the first 10 packages that haven't been ported to Python 3, I think nearly all are needed for Plone. (Although things like virtualenv are not a requirement for Plone, they are widely used in Plone development)
My current research can be found here: http://goo.gl/SCImr
Any corrections, or ideas for what can be on the site would be appreciated.
"Oh wait, this machine has foo 1.5.2, not 1.5.6!!!"
Though a solution to this scenario is to avoid including too many libraries in the standard distribution in the first place, so that incompatible changes in those libraries don't affect the base.
This in turn means that big packages with lots of dependencies would need to say "you need fooliba-1.5.6, foolibb-4.3.2, etc" instead of just "you need foo-5.2", but other languages do this and they seem to manage it alright.
I'm not saying one or the other is definitely better, just that I'm looking forward to the final judgement after this multi-year effort.
I am wondering how the list would really look...
Eventually, I guess. If I have to.
What about other databases?
Edit: Mysql appears to be represented too
Maybe you're confusing PHP 5 and PHP 6; PHP 6 has been "just around the corner" now for a few years.
sidenote: love the pink select must be html5 boilerplate :)
What they're doing right now, is not investing anything at all to make py3 more attractive, but simply being loud and vocal and trying to coerce the majority through social pressure to do work to support their version of choice, even if there is no actually noticeable benefit in for them to do so.
Google App Engine should be in the list as well. GAE supports Python 2.5.
http://code.google.com/p/protobuf/issues/detail?id=66&q=...
Don't expect google to upgrade anytime soon.