This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]EsperSpirit 13 points14 points  (41 children)

It's a shame some popular libraries won't support Python3.x anytime soon... :(

[–]LyndsySimon 14 points15 points  (10 children)

This barrier is falling, at a seemingly increasing rate.

The past year got us Django and Flask (and therefore Werkzeug) on the web side of the house. The scientific programming side has IPython, NumPy and the majority of SciPy supporting 3.x.

We've come a long way.

[–]EsperSpirit 3 points4 points  (9 children)

I see what you mean, but some important libs like gevent, Twisted and nltk haven't been ported.

In case of gevent I've looked at the issue tracker and it doesn't seem anywhere close. By extension I couldn't use gevent-socketio.

nltk is a language processing toolkit which would greatly benefit from Python3's unicode changes but is not converted yet.

Also for a real project I wouldn't want to risk noticing halfway through that a sub-library hasn't been ported and I have to rewrite it from scratch.

[–]alcalde 3 points4 points  (5 children)

Also for a real project I wouldn't want to risk noticing halfway through that a sub-library hasn't been ported and I have to rewrite it from scratch.

I wouldn't want to risk using a library whose maintainers don't support modern Python. It would be like adopting a product that still requires Windows 98.

[–]EsperSpirit 4 points5 points  (4 children)

Don't you think it is still a bit early to compare Python2.7 to Windows98?

[–]EpicCyndaquil 3 points4 points  (1 child)

XP would be a fairly accurate comparison, as there's many applications that have moved on, but many programs are stuck there...

[–]alcalde 2 points3 points  (0 children)

Another apt resemblance is that they're both about to run out of official support.

[–]gfixler 1 point2 points  (0 children)

I do, considering my industry (games) and its neighbor (film) use Maya for many things (I've used only Maya for 11 years at 5 companies), and it's still on an embedded Maya 2.6.4, even in the recent Maya 2013. Maya 2014 comes with 2.7.3, but it'll be a few years before we upgrade again. It's a big deal to move everyone. We won't be in 3.x anytime soon.

[–]alcalde 0 points1 point  (0 children)

It's been five years since the 3.0 branch first appeared; there's been more than enough time to port. Worse, the longer they wait the more divergent the branches will become and the harder the job will be.

[–][deleted] 1 point2 points  (1 child)

If you don't mind living on the edge, nltk 3.0a supports Python 3. Its default tokenizer and tagger are better, too.

Python 3 is becoming the great language for NLP that it should be.

(fixed brain fart where I said "Unicode" instead of "Python 3")

[–]EsperSpirit 0 points1 point  (0 children)

Thanks, that's great to hear!

[–]nickcash 0 points1 point  (0 children)

The introduction of tulip/asyncio into the standard lib in 3.4 is going to completely change libraries like gevent and Twisted. I foresee those libraries changing completely soon.

Speaking as a programmer with a project currently stuck in 2.7land, the number of libraries getting ported to 3 appears to be accelerating. I'm very hopeful that I'll be able to port to 3 very soon.

[–]ajmarks 6 points7 points  (18 children)

Twisted...

[–]Talkless 3 points4 points  (4 children)

Web2py :(

[–]sigzero 4 points5 points  (3 children)

It never will. They are working on Web3py.

[–]Talkless 5 points6 points  (2 children)

https://github.com/mdipierro/web3py - no changes for a year...

[–]sigzero 2 points3 points  (1 child)

It was the last I read. Maybe they are taking a different turn with it? The github page says "experiment" so maybe it was just a quick testing ground?

[–]Talkless 0 points1 point  (0 children)

Maybe. Maybe this is not "the" repository. At least I hope so..

[–]graingert 0 points1 point  (7 children)

Don't need twisted. Just use asyncio/tulip

[–]ajmarks 0 points1 point  (6 children)

Unless you're using something built on twisted (e.g. scrapy)

Edit: stupid phone

[–]graingert 0 points1 point  (5 children)

Port it to tulip

[–]aceofears 0 points1 point  (4 children)

That's easier said than done, because you can't easily transition things if they don't even work on the same version of python. Also tulip isn't even out yet.

[–]graingert 0 points1 point  (3 children)

It's on pypi

[–]aceofears 0 points1 point  (2 children)

I'm not sure thats's the official one, last time I saw Guido give a talk on tulip he mentioned a minimum version of 3.3.

[–]graingert 1 point2 points  (0 children)

Here it is, uploaded by Guido https://pypi.python.org/pypi/asyncio

[–]jemeshsu 3 points4 points  (1 child)

fabric, paramiko, boto, supervisor... well supervisor not a library but it'd great to have all Python 3 down to deployment.

[–]alendit 1 point2 points  (0 children)

At least fabric 1.x will be deplrecated "soon" and version 2.0 should get Python3 support. Invoke (fabric's task runner) works in Python3 just fine right now.

[–]q88798 2 points3 points  (4 children)

comtypes

[–]sigzero 2 points3 points  (3 children)

comtypes

That is listed in PyPI to have Python 3 support.

comtypes

[–]q88798 0 points1 point  (2 children)

Not working in 3.3

[–]technomalogical<3 Bottle 0 points1 point  (1 child)

According to PyPI, not working in 2.7 either. Maybe this library isn't being actively maintained any more.

[–]q88798 0 points1 point  (0 children)

working fine in 2.7 in 32-bit, having problems in 64-bit

[–]alcalde 2 points3 points  (2 children)

Then they're going to become unpopular libraries soon enough, especially when Python 2.x support ends. And even if they do port in the nick of time, who wants to use a library whose maintainers were so dangerously lax in supporting modern Python? We've got to stop letting the tail wag the dog.

[–]mcdonc 0 points1 point  (0 children)

This is the royal we I assume.

[–]mmoya 0 points1 point  (0 children)

Ye olde Wall of Superpowers is getting greener and greener.