I'd like to eventually merge this branch into master, but before that, it needs some more real-life testing.
It would help a lot if you could test some of your known-to-be-working code against my branch by installing it via
and running it (making sure that you don't have any package contents on some custom PYTHONPATH, of course!).
Priority right now is to test if knossos_utils on Python 2.7 and knossos_cuber work the same as before.
Second Priority is that everything actually works on Python 3.4, 3.5 (and 3.6).
Some notes about what has changed:
All code in this repo should now be compatible with Python versions 2.7, 3.4, 3.5 and 3.6.
Staying compatible with Python 2.7 is achieved by using the future and http://python-future.org/ ("builtins") modules on Python 2.
Their imports change the meanings of some built-in function and type behaviors to the one expected in newer versions of Python, so e.g. xrange() is now replaced with Python 3's range(). I tried to keep those changes as minimal as possible (e.g. by not introducing Unicode handling in Python 2).
The knossos_utils and knossos_cuber packages now specify independent setups that enable a more flexible and robust build process: E.g. The mergelist_tools Cython extension is now always available for installed packages, the GUI is only packaged if it is actually installable, etc.
knossos_cuber can now be safely migrated to its own repo (will do after merging this).
knossos_cuber and knossos_cuber_gui are now available as entry points that get automatically installed by pip.
This means those two commands are easily available from your shell on all operating systems. (Windows users get those as .exe files.)
The knossos_cuber GUI has been ported to PyQt5, since PyQt4 is long dead and is impossible to manage as a Python dependency.
PyQt5 can be automatically handled by setuptools and pip on every platform starting with Python 3.5.
The only exception is the exact combination "Windows + Python 2.7", for which apparently PyQt5 packages have not been published. This shouldn't matter, though, since Windows users can just use the Python 3 version of the GUI, which is also planned as a standalone .exe produced by PyInstaller. If anyone insists that there should be a GUI for Windows on Python 2.7, I can do a special PyQt4 build for this combination with little effort.
knossos_utils and knossos_cuber can now both be built as wheels, so installation is now possible on any system via one simple pip install. No compiler is needed to pip install and no system-level packages are needed anymore.
Note that knossos_utils wheels for general distribution on PyPI need a special build on the CentOS 5 system provided here: https://github.com/pypa/manylinux.
Dear KNOSSOS team,
I'd like to eventually merge this branch into master, but before that, it needs some more real-life testing. It would help a lot if you could test some of your known-to-be-working code against my branch by installing it via
and running it (making sure that you don't have any package contents on some custom PYTHONPATH, of course!). Priority right now is to test if knossos_utils on Python 2.7 and knossos_cuber work the same as before. Second Priority is that everything actually works on Python 3.4, 3.5 (and 3.6).
Some notes about what has changed:
Once this is merged, I can publish and maintain packages for knossos_utils and knossos_cuber on https://pypi.org/ and http://anaconda.org/ (maybe via https://conda-forge.github.io/#about).
Please do not merge this branch yet. I will do it once we are sure no regressions have been introduced by it.