-
Notifications
You must be signed in to change notification settings - Fork 139
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
Enable support for both Python 2.x and 3.x #255
Comments
It will be interesting to see which iris dependencies don't work on 3.x. |
As of right now it looks like the basic components (between iris and oncall) will be:
Additionally, there are a few situations where one of the following could be likely
It looks like a lot of this can be successfully be done using some of the various Python 2->3 conversion tools, but would be useful to make the changes scoped to one type at a time with a burn-in period. |
Some of those we can do, but we're still discussing internally the pros/cons of moving from 2.7 to 3.x. To avoid relying on compatibility layers (six/future/etc) we feel it'd be best to only support one major version of python instead of trying to support both. |
If we want to stick with Python, then it's better to go all in to py3. I can see us benefit a lot from the static type annotation. @brianredbeard thoughts on porting Iris/oncall to Go? Internally we have talked about doing a go rewrite multiple times. But I am not sure how customers will feel about the rewrite since Iris is in a very stable state right now. |
@jrgp I totally understand. I've on all of my various utilities I've been undergoing the process of moving 2->3 for all of my scripts. @houqp I would be all for a Go version. There are positives and negatives to it to be noted. Positives:
Negatives:
|
@brianredbeard regarding those Go negatives:
We've had lots of internal talks about doing a golang rewrite (iris was almost written in go), it would just take time and the existing py2.7 implementation works well enough. @houqp : I'm not sure if it would be good to use py3's static type checking as that incurs performance overhead which we probably wouldn't want for parts like sender. (per @fellyns) |
Is Iris fully functional for python 3.x ? |
@webermanish the py3 branch is fully python 3 and is in fact the branch we are currently developing on. We hadn't merged it with the main branch because it breaks python 2 compatibility but we will probably do so soon. |
@diegocepedaw does that mean py3 branch code is stable and can be used in production. |
@webermanish, yes, that branch is what we currently use in production. |
As subsequent changes are no longer forthcoming to the 2.x branch of Python projects should begin the process of cross compatibility. This issue is being opened to collect outstanding issues and note blockers, should other users attempt to run Iris with Python 3.x.
The text was updated successfully, but these errors were encountered: