kcleal / pywfa

Python wrapper for wavefront alignment using WFA2-lib
MIT License
35 stars 2 forks source link

pyproject.toml fixes pip installation #8

Closed ACEnglish closed 1 year ago

ACEnglish commented 1 year ago

Hello,

Thanks for the project. Its very neat. However, it was a little difficult to install (note, I don't use conda). I also noticed most tickets are about installation problems and I think I was able to fall into nearly every one of them and more. So, I've rewritten how the build is done to be more compliant with the newer pyproject.toml and less reliance on distutils. Python packaging seems to be in a transition period where distutils is being deprecated and setuptools is dis-favoring setup.py, and there aren't a lot of useful example for how to write a pyproject.toml.

However, with the changes made here, I was able to install on macOS, Ubuntu, and Redhat via pip install pywfa/.

The main thing to note is that I had to always turn off -fopenmp. It just didn't seem to work right and judging from some of the more recent commits on WFA2-lib, it's a known problem. I don't know if it'll be missed though since I'm not sure if/how openmp is used by the parts of WFA2-lib binded here.

This should probably be tested on a few more machines.

The final thing to note is I do not know if this will affect the conda distribution. Presumably not, but I can't say for sure as I don't know conda.

kcleal commented 1 year ago

Thanks @ACEnglish, this is great! The build issues have been a pain. I've not tried using toml recipie before, so this is new to me. I don't see any issues with using this on conda. I'll test this on a few systems anyhows. Thanks again!

kcleal commented 1 year ago

I tested on BigSur and Redhat, and both worked fine. Happy to merge, thanks!