time to drop python2 compatibility ?
fchapoton opened this issue · 12 comments
in particular
- usage of imports from
__future__
and fromsix
(done) - usage of xrange, iteritems and itervalues
Any opinion ?
Also:
- remove object inheritance in classes
also change cython language level to 3str or 3 ?
We officially dropped Python 2 support with the release of SnapPy 3.0; specifically, we only support Python 3.6 and newer. So removing all of that unused cruft would be great.
there probably remains some "try except" about imports that should be cleaned up.
And also code in pari.py about old sage versions that is obsolete
And also code in pari.py about old sage versions that is obsolete
Given that we don't support Python 2, any code for Sage < 8.9 can go. Also, on the plain-Python side, we now require cypari>=2.3
so the stuff referring to pre-2.2.0 can be deleted as well.
I have also found that
git grep "if sys.version" .
mac_osx_app/__boot__.py:if sys.version_info[0] == 2:
mac_osx_app/__boot__.py: if sys.version_info[0] == 2:
mac_osx_app/dmg-maker/dmg-maker.py:if sys.version_info.major == 2:
mac_osx_app/setup.py:if sys.version_info >= (3,4):
opengl/CyOpenGL.pyx:if sys.version_info[0] < 3:
python/database.py: if sys.version_info >= (3,4):
python/gui.py:if sys.version_info.major < 3 or sys.version_info.minor < 7:
setup.py: if sys.version_info.major == 2:
setup.py: elif sys.version_info == (3,4):
Can I go on and carefuly get rid of all that ?
Yes, please do.
Maybe one should close this issue. Remaining issues can be fixed when found.
Agreed, closing now.