
Python 3 "Wall of Shame" Becomes "Wall of Superpowers" Today - llambda
http://python3wos.appspot.com/
======
po
Feature request! I wish this site would let you upload (or copy-paste) a
requirements.txt file and then tell you what libraries you need to focus on
fixing up for your project.

~~~
jQueryIsAwesome
Here you go; just paste it in the Javascript Console:
<https://gist.github.com/4264971> (FF and Chrome tested)

Just drag and drop the "requirements.txt" file over the website and that's it.

I sent the gist to the author of the app too (not the submitter) so perhaps he
will include it in the code.

------
chimeracoder
For those who missed the context of the title, the footer of the page:

> Note that this subdomain's called "python3wos" - once the status goes beyond
> 50%, the title of the site automatically becomes "Python 3 Wall of
> Superpowers". I kid you not.

------
fatbird
Armin Ronacher's essay on the flaws of Python 3 seems to translate to his pet
projects lagging on conversion. Which is a pity because they're great small,
well-focussed pieces like werkzeug and Flask.

~~~
graue
Agreed. There is an unofficial Python 3 port of Flask and Werkzeug,
apparently[1]. And Armin says he started a “secret branch” a few months ago to
explore adding Python 3 support[2], but no news since then.

The sense I get from the essay[3] is that Python 3.0/3.1 were quite flawed,
but that more recent minor versions have been moving in the right direction.
I'll admit I haven't personally done much more with Python 3.x than kick the
tires a bit.

1\. <https://github.com/puzzlet/flask>

2\. <https://github.com/mitsuhiko/flask/issues/587>

3\. <http://lucumr.pocoo.org/2011/12/7/thoughts-on-python3/>

~~~
ableal
(A.R. essay, 2011.12:)

 _'Because as it stands, Python 3 is the XHTML of the programming language
world. It's incompatible to what it tries to replace but does not offer much
besides being more “correct”.'_

Ouch. Too close to the bone.

~~~
fatbird
Unlike Armin, I think that being more correct is worth some pain because it
leads to offering much more in the future.

The alternative is PHP and its fractally bad design, where the legacy of
accumulated, unfixed design flaws has made advancement almost impossible--
which is why they have PHP 5.4 instead of PHP 6.0. You can add features within
the context of those flaws, but at some point there are too many to execute
the kind of overhaul you need.

It would be interesting to see someone fork PHP and offer a 'correct' version
that's clean and sheds all the baggage.

~~~
graue
It would be really useful if you could run both PHP 5.x and hypothetical PHP 6
code in the same interpreter process, so everyone wouldn't need to move over
to the “more correct” version at once. I wonder just how hard that is to do.
The approach doesn't seem to have been considered for Python 3, but, if
possible, it would have saved lots of hassle.

~~~
fatbird
Agreed, but I think they took a second approach that was also workable: Offer
as much guidance and as many tools as possible (.e.g., 2to3, from __future__
import, etc), and then expect it to take years for the migration to occur. I
don't know how possible it was to run both in the same interpretor process; I
believe that it wasn't just because of the changes they were contemplating.

Lots of people like myself have been following our key libraries, but it's
worth noting that, at this point, the migration seems both inevitable and not
terribly difficult since 3.3 fixes most of the complaints about .0 and .1, and
a lot of struggle to migrate has already been accomplished and offered lessons
learned.

------
baldfat
Seems like Plone = 19 entries. That one fix would cut it down almost 40%.

~~~
rbanffy
Porting Zope 2 would probably equire about a dozen Jim Fultons...

------
shared4you
I'm surprised that it doesn't list Matplotlib, which is widely popular and
supports Python 3.

~~~
takluyver
It goes by the number of downloads from PyPI. I guess that's lower for
matplotlib, because installing it from PyPI usually means compiling from
source, which is a pain for something as complex as matplotlib. Many people
probably get it from a binary package manager, or from an all-in-one Python
distribution like EPD.

------
raverbashing
Funny, not sure how they assemble this table

Take gunicorn for example, marked green. On the website it says:

Gunicorn requires Python 2.x >= 2.6. Python 3.x support is planned.

~~~
mvzink
It says the information is from PyPI, and gunicorn is in the "Python 3"
category on PyPI. That might be it.

Edit: aha, that's probably the case. At the bottom of the page, it says:

> If a module is red though it supports python 3 it's because they don't have
> the "Programming Language :: Python :: 3" tag.

------
chmike
Why are the packages not sorted by names ? Tornado not there ? Wtf with the
background ?

~~~
andyn
I assume they're sorted by the number of downloads from the Python packaging
index (PyPI).

Tornado might be one of those packages people install from their distro's
package or download from the parent website rather than via PyPi.

As for the background ... <shrugs>

------
zbowling
The big one not on this list (because not in PiP) is SCons.

~~~
vosper
I'd never heard of this module until now. Have you successfully replaced Make
with SCons in your projects?

~~~
chmike
Yes, for my personal projects. It's much better than make. But unfortunately
it needs to be installed while make is preinstalled on nearly all unixes. Now
I always use qt creator for my personnal projects. It's excellent.

------
angersock
This could be the year of Python 3.0 on the desk^H^H^H^Hserv^H^H^H^H...looks
like we need to keep waiting. Maybe I can one day use Django on 3.0.

:(

Back to Ruby on Rails, I guess.

EDIT: Ruby 2.0 is taking a little while too--I kid because I love. <3 Python
folks.

~~~
rozap
Django 1.5 is in python 3. Soon it shall be so.

Though, MySQL-python, South, and Fabric are still red. South and Fabric make
django projects so much easier to deal with, especially once deployed. It will
be interesting to see what happens when 1.5 is released. I presume they'll be
released along with 1.5, or follow right on the heals of it?

~~~
zalew
> Django 1.5 is in python 3

Django 1.5 has experimental Python3 compatibility.

~~~
rozap
Well yes, they said it isn't recommended in production. But, it's definitely a
step forward.

