Skip to content
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

Python 2.7 Support #19

Closed
jtdub opened this issue May 25, 2018 · 4 comments
Closed

Python 2.7 Support #19

jtdub opened this issue May 25, 2018 · 4 comments
Assignees
Labels
question Further information is requested

Comments

@jtdub
Copy link
Contributor

jtdub commented May 25, 2018

In reference to #11, our team has been discussing Python 2.7 support, in addition to the Python 3.6 support that the code is currently written to. We certainly appreciate the contributions, but go back and forth on whether it makes sense to walk back code to support 2.7.

Our main concerns with supporting 2.7 are:

  • Soon to be deprecated.

  • Ability to take advantage of Python 3.x enhancements:

    • Undoing enhancements that are specific to Python 3. It seems counter intuitive to roll back Python 3 specific items to support a version of Python that will soon be deprecated.
    • Ability to use f and r strings make core more efficient and easier to read.
    • We've been looking at implementing type hinting. We'd like be able to take advantage of enforcing hints. In Python 2.7, we'd be limited to comment based type hinting, which would limit our ability to enforce hints.

Given this, we'd like to be able to support the community. We'd like to propose some options:

  1. Continue supporting Python 3 only support out of the box.
  2. Commit to supporting Python 2.7 and Python 3 until Jun 1, 2019. At which time, hier_config would likely be converted to Python 3 only. However, Python 2.7 versions would remain on pypi and the last release supporting Python 2.7 would be preserved in a python2 branch.
  3. Create a fork of hier_config to specifically support Python 2.7.
@jtdub jtdub added the question Further information is requested label May 25, 2018
@jtdub
Copy link
Contributor Author

jtdub commented May 25, 2018

@itdependsnetworks, @jmcgill298: Thoughts, comments?

@itdependsnetworks
Copy link
Contributor

The reality is the infrastructure we work on is what the client says it is. Knowing enterprises, I would not expect it broad py3 support until after the next rhel release. I would hate to see forking so early in the process.

I think we can build a mutually beneficial relationship, e.g. we have already identified 2 issues, and have plans to extend the library. I appreciate the pain of it all, but it comes down to fstrings being the only thing you mentioned that is not supported in 2.7 (raw string is fine for 2.x, I just removed it, thinking it was another issue.) Additionally, the library scope is much broader if it does support 2.7.

You know what my vote would be :)

@aedwardstx
Copy link
Collaborator

I feel a bit dirty for saying so but I vote for option 2 and add that we consider mirroring the official Py2.7 deprecation date when that time approaches :-)

@jtdub
Copy link
Contributor Author

jtdub commented May 25, 2018

Okay. We'll include Python 2.7 support until the Python community ends support on January 1, 2020. The first release to support Python 2.7 will be 1.2.0, which we'll tag for release when #11 is merged.

@jtdub jtdub closed this as completed May 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants