Figured we should probably have a ticket to discuss this.
We need to upgrade to a modern version of Python. Twisted's porting to 3.3, so that would be a solid minimum to support, but we can discuss this. We should not drop Python 2 support for this (at least not 2.7), as that is still incredibly common, especially on servers.
Dependencies that we're waiting on
[ ] Twisted - IRC client only(?), can be replaced
[ ] Cyclone - They have a recent ticket for it, but that's it. They had to wait on Twisted too though.
Main issues
[ ] UNICODE! - We should be using unicode strings everywhere, but we didn't entirely know what we were doing on this front when starting out.
[ ] Imports - There are a few implicit relative imports scattered around the codebase that need to be made explicit.
[ ] CODING.md - This covers a bunch of stuff, including the previous points, but this should be finished and have Python 2/3 compatibility in mind when doing so.
[ ] Contrib - All plugins must be updated and tested thoroughly.
Resources
The six library gives a lot of helpers for support both 2 and 3. There is also the python-future library, which provides some more stuff. We may be able to get away with just six, but should keep in mind that future exists. They also have some useful guides on the differences, and ways to deal with them: http://python-future.org/compatible_idioms.html
Figured we should probably have a ticket to discuss this.
We need to upgrade to a modern version of Python. Twisted's porting to 3.3, so that would be a solid minimum to support, but we can discuss this. We should not drop Python 2 support for this (at least not 2.7), as that is still incredibly common, especially on servers.
Dependencies that we're waiting on
Main issues
Resources
The six library gives a lot of helpers for support both 2 and 3. There is also the python-future library, which provides some more stuff. We may be able to get away with just six, but should keep in mind that future exists. They also have some useful guides on the differences, and ways to deal with them: http://python-future.org/compatible_idioms.html
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.