Add Python3 compatibility

Merged Martin Reinecke requested to merge python3 into master

This branch adds Python3 compatibility to NIFTy, while also staying compatible to Python2.

At the current state, the code compiles in both language versions and passes almost all tests.

Exception: some HDF5 tests, (1 fail with Python2, 5 fails with Python3). I need help with debugging those. [now fixed]

NOTE: An update to the "mpi_dummy" package is necessary to make it Python3 compatible as well. A merge request has been opened.

Problems encountered:

  • the "hack" in the new method of SmoothingOperator, which returns a DirectSmoothingOperator or an FFTSmoothingOperator depending on the arguments, stopped working with Python3. I have put together a crude workaround, but this could still be improved.

Things to do:

  • enhance continuous integration to test Nifty with Python3 [done now]
Edited by Martin Reinecke

Merge request reports