top | item 7960970

(no title)

doreo | 11 years ago

Later: "10 awesome libraries you can't use because they haven't been ported to Python 3"

discuss

order

scrollaway|11 years ago

Can you cite me 10 awesome and useful libraries that haven't been ported to Python 3 and don't have reasonably equal alternatives?

I know there are some critical libraries to some niches who don't particularly care about recent versions. I know there's a fair amount of libraries that don't work on Python 3 purely because the author used print instead of print(). I know there are apps that can't port to Python 3 because they were designed with some core Python 2 functionality a decade ago (usually unicode/bytes related).

None of these matter to real world devs. User-facing apps don't matter, easy-to-port libs don't matter (fork & fix), niche libs don't matter (if your niche doesn't care about Python 3, you're either here to troll or you're not actually here).

I know it's very "in" to say that Python 3 is dead-on-arrival and all that but it's simply untrue. Anyone who uses a Python 3-based Linux distribution will understand that. Most new devs use Python 2 because they are too lazy to install Python 3 and assume their code won't work; and as soon as they hit a SyntaxError in print they complain that "Python 3 is hard".

Here are the facts: https://python3wos.appspot.com/

You see all these libraries in red? Most of them depend on each other (Twisted is a big one as well as another I forget about) and have excellent alternatives available. Good luck finding 10 that match my criteria; I can't even find one.

AhtiK|11 years ago

Often one does not need 10 reasons, 1 is enough if it's critical enough.

For my case the missing libs in py3 world are

* boto (AWS interface) * pika (RabbitMQ interface)

Yes, supervisor too, but it can run in a separate Python 2 env.

It's also about fear that next package that we need to progress faster might not support py3.

But confidence builds over time and the list of Python 3 packages will only improve over time. It will converge to one single Python 3, there is absolutely no doubt.

dagw|11 years ago

if your niche doesn't care about Python 3, you're either here to troll or you're not actually here

Please explain. As someone who will be writing Python 2 for the foreseeable future due to niche libraries, I really don't understand what you're trying to get at.

ponytech|11 years ago

MySQL-python is the one that prevent me from using Python 3

bakareika|11 years ago

Yup, this certainly needs work.

Myself, I was very skeptical, until one day I decided to start my new project in Python 3 and quickly realized that everything isn't that much ruined. Couple of pull requests here and there, could be worse (after reading some of the more... opinionated blog posts I expected something truly catastrophic).

But the new goodness in 3.4 is totally worth it, in my opinion.

pixelmonkey|11 years ago

This web application tracks the Python 3 compatibility status of Python's most popular libraries.

https://python3wos.appspot.com/

It's mostly green. If there is a red one you really need, it's probably not hard to port it.

rch|11 years ago

Boto, pika, protobuf and thrift are still red, and probably nontrivial to port. It would be interesting to know if str/bytes problems are the main issue though.

est|11 years ago

Somebody please port MySQLdb and make it asyncio-compatible.