Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've been working on this for a while and have tested it using all the if name == 'main' tests I could. I used 2to3-3.7 for most changes, and the rest of the issues were resolved by hand. Notable changes include:
Imports like from . import lib fail if lib (file) and lib.lib (class in file) have the same name. CtxMenu is a good example. To resolve this, imports were changed to from .lib import lib since that seemed to be a low impact solution.
six.moves and future imports were removed by 2to3-3.7, which doesn't seem to conflict with the design goal of python3-only compatibility.
Some other import conflicts like collections.UserString were fixed by hand.
I'm still working on fixing the mistake I made with the BuildForLinux PR on stui, but I have tested this with a python3 version of stui based on the BuildForLinux branch and it runs well. Unlike that PR, this one isn't on the master branch.