Closed KM4YRI closed 7 years ago
Are there any major roadblocks standing in the way of Python 3 compatibility?
I have not tried yet.
Would you consider taking a pull request if the work to support both 2 and 3 was minimal? I'd volunteer to do the conversion but wanted to open a dialog before beginning.
Yes, it is a good idea, if it is possible to keep python 2.7 compatibility, too. Thank you very much for the offer.
I will look into this. I have used Python six
before, which is a compatibility layer that allows Python scripts to run in either.
If you'd like to keep the issue open for a bit, I'll start looking through the code and see how soon I can start on the conversion. I'll try to make the change soon, as time allows.
I have used Python six before
Will users have to install an additional library/tool then?
it's just a python dependency, e.g. import six
. I looked through your code and surprisingly didn't see any other python dependencies in your code (not a bad thing or a good thing, just an observation).
Most linux and windows users will already have this library, as a high percentage of python packages and scripts use it, and it comes with most linux distros, out of the box. If not, it's as easy as typing pip install six
. I can't really think of any situation where the benefits don't out-weigh the disadvantages here (keep in mind that Python 3 came out a decade ago, and Python 2 is considered legacy at this point. All new development should be done in Python 3, ideally six
is nice because it allows both (2 * 3 = 6). I will say confidently that this will be a cakewalk compared to getting your other non-python dependencies satisfied.
edit: try to import it on your system and let me know if it's already installed .. it probably is :)
Neil,
Thank you very much for your comments and your effort. Right now I don't think it is a good idea anymore.
From your comment, I'm assuming you've never tried to write a program that supports Python 2 and 3, which is nothing more than a finite list of syntactical differences that have been abstracted into a well-tested library (six). It's stuff like print foo
instead of print(foo)
and re-defining functions that BFDL Guido moved on a whim. That's it. They don't behave differently in any significant way. And I'm also guessing you've not had much experience with unit testing, CI platforms, or other tools that are used in modern software development. At least you're using Github. Good job there. I think you're afraid of something that (A) is being done daily by a high percentage of other applications and libraries using the language, and (B) is probably the most benign and easiest-to-unittest change that would ever happen in your repo. Things that people like me would have or could have added.
But that's OK, a hard-fork it is then.
Good day sir.
Are there any major roadblocks standing in the way of Python 3 compatibility?
Would you consider taking a pull request if the work to support both 2 and 3 was minimal? I'd volunteer to do the conversion but wanted to open a dialog before beginning.