Open
Description
Support for Python 2 was removed in 3.0.0, but we left some leftovers. This issue lists what's left to be done to really remove all traces of Python 2 from the codebase.
### Tasks
- [x] Remove `rez.backport`
- [ ] https://github.com/AcademySoftwareFoundation/rez/issues/1646
- [ ] https://github.com/AcademySoftwareFoundation/rez/issues/1648
- [ ] https://github.com/AcademySoftwareFoundation/rez/issues/1637
- [ ] https://github.com/AcademySoftwareFoundation/rez/issues/1833
- [ ] https://github.com/AcademySoftwareFoundation/rez/issues/1636
- [ ] Look at PRs/commits that added support for Python 3 and see if we missed anything
- [ ] Run https://github.com/asottile/pyupgrade
If you want to start working on one of these task and it's not yet converted to an issue, please comment in the issue and we will happily create an issue.
List of Python 2 to 3 PRs
Note that there is a lot of noise in these PRs. But they can be used to see what kind of compatibility layers were added to support both python 2 and 3. This will be handy to determine if something should be removed.
- py3 iterators conversion #736
- address py3.8 deprecation of collections direct ABC access #740
- py3 finalizations #742
- address #744 (rex dictmixin issue) #745
- use subprocess in 'text' mode in most cases #753
- revert progress iteration and update vendored #766
- bytecode / pycache related changes #733
- -robust py2/3 use of getargspec/getfullargspec #743
- modernize function manipulations and attrs #727
- add __bool__ operator #755
- make Version properly iterable in py3 #725
- .next() to next() #713
- very small py3 compat changes #712
- miscellanous atomic nonaffective py2/py3 compatibilities #710