-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Python 3 #171
Comments
python3 only? Cyclone is based on twisted, twisted is not completely python3 compatible yet, so the urgency doesn't really exist yet. I'm open to supporting python 3 though.. |
Sorry...I didn't mean to confuse anyone. Some other libraries are python3-only. Cyclone is python2-only. Ne'er the twain shall meet until Cyclone can run in Python 3. I wasn't suggesting that Cyclone give up its ability to function in Python 2. (I.E., it would be nice if it supported both.) |
Starting from Ubuntu 16.04 (LTS) [21th April 2016] ubuntu will include by default support for only python 3, so this is becoming a fundamental requirement: http://summit.ubuntu.com/uos-1511/meeting/22568/python3-only-on-the-images/ i've done a small analysis of what is needed for making cyclone work on python3 and here follows various fixes; most of them are taken from the upstream code of tornado. references: \cc @fpietrosanti |
I've not moved to py3 yet @evilaliv3 - but I think this is work worth doing. Could you put together some short notes on the approach to take here? Maybe we can both work out of a single feature branch in one of our forks to get this moving? Cheers |
There is not an automagic approach here but it's not that difficul. What i would do is to identify the main issues in the code running some ide inspection (i use pycharm an i can do it wi it) or simpyl with pylint and recognize the main syntax errors in reference to python3; then try to make all the unit tests working. From what i've seen right now (you can see some fixes here: evilaliv3@3c6525b) there are two kind of errors only:
reviewing my patch and making the unit tests work will give use more than a 90% of python3ness! |
One thing I would recommend (which is somewhat antithetical to the accepted practices) is to start using Unicode everywhere (including in Python 2). Part (but not all) of this is That's just my $1.05 (NSFW). |
twisted for py3 is almost completed. So I think it is a good time to consider porting cyclone to py3. I did some trials last year. Porting to py3 takes effort but not that difficult. (Well, at least it is easier than porting twisted to py3). |
If python 2.7 and python 3.4 and 3.5 is targeted withh latest tornado and twisted versions then the work should be much easier to start. |
@dpnova do you have any update on this side? |
I'm finishing my current job soon, so I'll be dedicating some serious time to this and other OSS things I need to get sorted. About a month from now! |
👍 |
Hi All I forked the cyclone and made it work with python 3. The link is here: https://github.com/ygl-rg/cyclone3 Note: it is for python 3.5 or later version only, so it is incompatible with python 2.x. Hope it can help Regards gelin yan |
Good stuff. |
thanks @ygl-rg for porting @fiorix will this work be integrated / implemented in we have trying to integrate |
I'm totally fine with merging it. Send a PR :) |
Just merged #173 :) |
Can we close ? |
👍 |
Is this released yet? I am getting an error on python 3 in cyclone 1.2
Any idea? |
I thought so. Now looking at the .travis.yml I see it only tests in py 2.7. Is there a bug in setup.py? |
@mudivili @fiorix do not have the time to fix this, but I'll be glad to see full |
@fiorix also, there is still the question : can we drop |
When I planned to port cyclone to python 3.x, I found out make it work for both python 2.x and 3.x would take more effort. I decided to make a python 3.x only version finally due to limited schedule, so It implies merging to the main stream is not so easy if it is not impossible. |
And also |
I don't mind dropping support for python2 at all. |
Awesome, I can then work on it (I hope I'll have the time to do do) |
@ygl-rg I'll merge your fork to drop python2 support. Thanks for your work |
@fiorix I've started #186 to drop Actually, this work for my implementation https://github.com/waghanza/http-benchmark/blob/master/python/cyclone/server.py |
No objection from me. |
I've started a to add
|
Hi @waghanza - I am migrating my cyclone based service to python3. I am blocked as cyclone 1.2 version is incompatible with python3. Do you have any forecast for supporting cyclone on python3? If it's going to be a bit late in year, do you have any suggestion for workaround? Thank you in advance for working on this migration. |
Ηi @rajeev2912, Unfortunately, I can't finish the first PR supporting Even if the Regards, |
@rajeev2912 |
Thanks all, this has been merged and released |
Yes, awesome job, thanks all ! This is closing a 4 year chapter :) Time to celebrate. |
An increasing number of third party libraries are becoming python3-only. It would be nice if Cyclone could run in Python 3.
The text was updated successfully, but these errors were encountered: