Description
SPy is currently developed for python 2.{6,7}. This enhancement will add support for python3. The current plan is to have a single code base that works for both python 2 and 3 (I realize some people discourage this).
The basic tasks to get this done are
-
Run 2to3 on the entire module.
-
Add needed future imports for python2:
from __future__ import division, print_function, unicode_literals
-
Fix all the miscellaneous things that are broken (most likely due to [non]integer division).
-
Verify all unit tests pass under python 2 and 3.
-
Figure out a way to get
view_cube
andview_nd
working with python3.
The last item above is probably the hardest part because those functions rely on wxPython, which is not ported to python3. I've confirmed that most of the needed matplotlib functions that are used for interactive GUI capabilities in SPy will work under alternate matplotlib backends (with python3) but the two functions mentioned will need to be migrated to another GUI toolkit that provides an OpenGL wrapper (unless wxPython gets ported). If there isn't a relatively easy way to port those two functions, it is probably still worth making the rest of the module work with python3 and deferring those two functions until later.