gatagat / lap

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

Fix build issues by adding pyproject.toml #52

Open cshimmin opened 11 months ago

cshimmin commented 11 months 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.