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

Convert to Python 3 #7

Open
5 tasks
albireox opened this issue Jan 15, 2020 · 4 comments
Open
5 tasks

Convert to Python 3 #7

albireox opened this issue Jan 15, 2020 · 4 comments

Comments

@albireox
Copy link
Collaborator

  • Make Python 3-only.
  • Remove dependency on RO and move wrappers inside STUI / move them to their own package?
  • Use newer version of py2app or test other packaging tools.
  • Set reasonable minimum MacOS version.
  • Test packaging for Linux.
@StarkillerX42
Copy link

Hey Jose,

I've upgraded a few things to Python 3, and I thought I might offer to help. Anaconda has a function that ships with it that handles the upgrade very well. The command
2to3-3.7 -nW RO
will handle 99% of the conversion.

As for building on Linux, I made a pull request that uses pyinstaller, which works well on Ubuntu, although I can't get it to connect, but I don't think that has anything to do with the build.

-Dylan

@r-owen
Copy link
Collaborator

r-owen commented Jan 27, 2020

I think futurize does an even better job.

@albireox
Copy link
Collaborator Author

@StarkillerX42 It would be great if you can push your initial Python 3 conversion to a new branch. Did you convert only RO or both RO and STUI (and, I guess, opscore)? Also, I keep meaning to comment on your PR but keep forgetting about it. Will do that now.

I have migrated opscore to Python 3 and tested it; it should work fine. I have also migrated actorcore and actorkeys.

@r-owen I guess the question is whether we want to keep both 2 and 3 compatibility or just 3. Since STUI is self-contained I was thinking to migrate to only 3. For that I have been using 2to3. My understanding is that futurize only does 2/3 compatibility. Are there other reasons why futurize is a better choice?

@r-owen
Copy link
Collaborator

r-owen commented Jan 30, 2020

I was thinking of a different package. 2to3 is probably an excellent choice.

I strongly agree that going to Python 3 with no backwards compatibility is the best thing to do. Code that is compatible with both is an awkward hybrid that is difficult to test and maintain and I see no need to maintain that backward compatibility.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants