numberoverzero / bottom

asyncio-based rfc2812-compliant IRC Client
http://bottom-docs.readthedocs.io
MIT License
76 stars 23 forks source link

Possibility of Python 2 support #15

Closed LalitMaganti closed 9 years ago

LalitMaganti commented 9 years ago

Hey!

Just wanted to discuss if you would be willing to support Python 2 on a different branch? One of the projects I'm working on has a hard dependency on a project which is Python 2 only and there are few alternatives to this library.

And I don't want to replace Bottom with another library either as the terseness of it is very appealing.

I would be willing to maintain it as on a "best effort basis" as you make changes to the Python 3 branch. Or if you prefer, I could maintain it as a separate project (called "Top" :P).

numberoverzero commented 9 years ago

Glad bottom's treated you well so far! Unfortunately I'd prefer not maintain any py2 code for bottom.

The asyncio library specifically is still evolving and changes will require varying amounts of effort to maintain across major versions. I've been working on some improvements that pick up the 3.5 async/await keywords, and given my current pace and direction the split from python 2 will only expand.

If you need to get moving quickly, I'd recommend checking out the fantastic irc3 which supports 2.7. If you're instead interested in pursuing a new project and want a hand, I'd be happy to help write a first port.

Again, sorry for the inconvenience.

LalitMaganti commented 9 years ago

No I completely understand. Maintaining legacy code when you are trying to stay on the bleeding edge is almost impossible.

In any case I knocked up a quick port myself and it worked fine . However, then I realised that my project was better structured when split up into several modules with some in Python 2 and others in Python 3. So will continue using Bottom but without any hacks this time :)