Hacker News new | ask | show | jobs
by scrollaway 4369 days 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.

3 comments

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.

Pika has a working python 3 tree, I have been using it for a few weeks now.
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.

I was in your shoes a few times. I wanted to use Python3, but sime niche library I depended on was Python2 only.

And you know what, I simply ported them. Took me a week or two, and I learned a lot. I have been using Python3 ever since.

MySQL-python is the one that prevent me from using Python 3
I highly recommend you switch to Postgres which does not have this issue with psycopg2. I know it's not always possible, but seeing as you work with Django it's a generally good idea to spend the effort.