Skip to content
This repository has been archived by the owner on Sep 2, 2021. It is now read-only.

Python 3 #89

Open
6 tasks
rakiru opened this issue Dec 7, 2015 · 0 comments
Open
6 tasks

Python 3 #89

rakiru opened this issue Dec 7, 2015 · 0 comments

Comments

@rakiru
Copy link
Member

rakiru commented Dec 7, 2015

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

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants