WIP: Python Bindings via CFFI
I think for starters there are four remaining items, where it kinda of boils down to different opinions how to proceed:
-
Currently, darshan-utils requires the user to explicitly enable the shared libraries (e.g., also when using the spack package), maybe this should be enabled by default?
-
The Darshan-Header currently installed is not CFFI friendly, but this could be easily fixed using a few #ifdefs and then possibly just install a second header for Python? (not pretty, but maybe the most conservative in terms of side-effects)
-
The development branch includes a few functions (e..g, darshan_log_get_record) which would need to be merged upstream
-
Finally, python knows a number of different installation/integration mechanisms for packages (PyPi, Anaconda, setup.py, spack, PYTHONPATH). The least invasive probably being something along the lines of "export PYTHONPATH=$PYTHONPATH:" (spack also just extends the python path, so maybe that could be accomplished solely in the darshan-util package, although I tend to think the python package should be independent)