pyFAI icon indicating copy to clipboard operation
pyFAI copied to clipboard

Possibility to separate pyFAI core capabilities from GUI?

Open CPrescher opened this issue 2 years ago • 5 comments

Hi,

is it somehow possible to separate pyFAIs library capabilities from its GUI features? It is not useful having to install matplotlib, qt etc. when only the numerical code is needed. The new setuptools configuration possibilities would for example enable optional dependencies only when specific features are requested. (e.g. https://setuptools.pypa.io/en/latest/userguide/dependency_management.html)

Best wishes, Clemens

CPrescher avatar Nov 03 '22 12:11 CPrescher

Sorry, just realized you are doing this already with the GUI install (basically qt libraies), but the base install still installs matplotlib, is this really necessary?

CPrescher avatar Nov 03 '22 12:11 CPrescher

For matplotlib, I think so since it is needed for the pyFAI-calib (without the GUI). By the way, pyFAI will go away from numpy.distutils packaging so there is trouble ahead when it comes to distribution.

kif avatar Nov 03 '22 14:11 kif

Ok, how will you do packaging in the future?

CPrescher avatar Nov 03 '22 14:11 CPrescher

The plan is to go towards meson-python, the same procedure as scipy. fabio is close to be migrated ... pyFAI will follow.

kif avatar Nov 03 '22 16:11 kif

In conda, pyFAI-base depends on silx-base and matplotlib-base which are Qt-independant. The latest version has just been packaged. The full version installs the dependencies.

For the pip installation mechanism, there are now 4 flavors: the default one, pyFAI[gui] (which depends on Qt+one of its python binding), pyFAI[opencl] which requires the OpenCL stack to be present and pyFAI[gui] which requires both plus hdf5plugin

kif avatar Jan 27 '23 16:01 kif