gatagat / lap

Linear Assignment Problem solver (LAPJV/LAPMOD).
BSD 2-Clause "Simplified" License
218 stars 68 forks source link

Fix build issues by adding pyproject.toml #52

Open cshimmin opened 1 year ago

cshimmin commented 1 year ago

Fixes gatagat/lap#38.

Previously, it was not always possible to install lap by simply listing it as a dependency e.g. in a requirements.txt file. This is because the setup.py build system depends on numpy.distutils, and so numpy has to be installed before setup.py could run successfully. This is not always guaranteed even if doing something like pip install numpy lap.

By using pyproject.toml, we can specify that numpy>=1.10.1 and cython>=0.21 are requirements for the build step. These will be installed in a build-only environment during the setup. Numpy is also required at runtime, so it is now listed as a dependency as well.