Compilation of the native extension required for the malis loss function is currently disabled in setup.py for two reasons:
Enabling it would force us to make the elektronn2 package platform-specific and we would have to jump through hoops to get installable wheels on all supported platforms every release. Without malis, elektronn2 is pure-python (meaning we can publish universal wheels).
There is a boost-related issue with building on some CentOS 6 machines.
My idea is to split the malis binary module out to a separate package that is an (optional) requirement of ELEKTRONN2 so we can keep a clean pure-python codebase in the main package while offloading the boost- and c++-dependent malis to a separate package, for which we can do the time-consuming build and release of platform-wheels once and hopefully won't need to re-release it for a long time.
Any thoughts on this?
(Note: If you want to use malis in ELEKTRONN2, you currently have to change this line to malis = True and install from source.)
Compilation of the native extension required for the malis loss function is currently disabled in setup.py for two reasons:
elektronn2
package platform-specific and we would have to jump through hoops to get installable wheels on all supported platforms every release. Without malis,elektronn2
is pure-python (meaning we can publish universal wheels).My idea is to split the malis binary module out to a separate package that is an (optional) requirement of ELEKTRONN2 so we can keep a clean pure-python codebase in the main package while offloading the boost- and c++-dependent malis to a separate package, for which we can do the time-consuming build and release of platform-wheels once and hopefully won't need to re-release it for a long time. Any thoughts on this?
(Note: If you want to use malis in ELEKTRONN2, you currently have to change this line to
malis = True
and install from source.)