uibcdf / OpenPharmacophore

An open library to work with pharmacophores.
https://www.uibcdf.org/OpenPharmacophore
MIT License
33 stars 10 forks source link

setuptools or numpy.distutils for the setup.py file? #4

Closed dprada closed 3 years ago

dprada commented 3 years ago

We should check the differences between using setuptools and numpy.distutils to configure the setup.py file. Which one should we use?

Daniel-Ibarrola commented 3 years ago

According to NumPy’s documentation, numpy.distutils extends the standard python library distutils to easily deal with Fortran files. If we are going to use Fortran code, it would be a good idea to use this.

However, many developers say that setuptools is easier to use. I found this on Stack Overflow:

Setuptools was developed to overcome Distutils' limitations and is not included in the standard library. It introduced a command-line utility called easy_install. It also introduced the setuptools Python package that can be imported inyour setup.py script, and the pkg_resources Python package that can be imported in your code to locate data files installed with a distribution. One of its gotchas is that it monkey-patches the distutils Python package. It should work well with pip. It sees regular releases

dprada commented 3 years ago

@LMMV was suggesting using both as long as the setup.py is functional. We have been doing this with MolSysMT (which has Fortran subroutines). That's why the setup.py file now is importing both packages. If you all agree, we can keep it this way, and if in the future there is no Fortran code in the library, we can remove numpy.distutils.

dprada commented 3 years ago

If we adopt the actions suggested in the MOLSSI cookie-cutter, this issue can be closed. Let's use the setup.py from the cookie-cutter as a template. We will include numpy.distutils only if it is necessary. See #2