The only thing I'm dealing with which is still not Python 3 compatible is AWS Lambda, which only offers 2.7 right now. Supposedly Amazon is working on 3.x but... come on.
The only thing I'm dealing with which is still not Python 3 compatible is AWS Lambda, which only offers 2.7 right now. Supposedly Amazon is working on 3.x but... come on.
Haven't had a single Unicode bug in production since we switched to Python 3. Also, chained exceptions (extremely valuable in walled-off production environment).
Type annotations actually work and have prevented a number of bugs.
The asyncio syntax is really nice with Tornado (don't use aiohtto, use Tornado! it's much more mature)
With Python 3, that simply has never happened to me. Never.
I don't know why. I don't know what the change, what the secret sauce was. And what's even better: I don't have to care. Python now simply works for me.
So yes, Python did remove Unicode issues.
It's a bit sad to not be able to use some things that I really love about Python 3 but it makes me happier to see other people enjoying my work, so I'm going to bear with it for now.
Using asyncio has been a delight for a lot of the small, quick web services we need to write (though not a replacement for Twisted). Looking forward to seeing the asyncio infrastructure grow.
But ansible scripts tend to be like 5 lines, so it is not the same as the scale you would write a webapp or something in Python3...
Client side code has to run on everything starting with CentOS 6, so they have to stick with Python 2 for a long time.
For the Ansible master (which runs on the management machine), Python 3 porting work is already underway.
We use Python 3.5 and are VERY happy about it.