1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 importlib-metadata,
6 joblib,
7 llvmlite,
8 numba,
9 scikit-learn,
10 scipy,
11 setuptools,
12 pytestCheckHook,
13 pythonOlder,
14}:
15
16buildPythonPackage rec {
17 pname = "pynndescent";
18 version = "0.5.12";
19 pyproject = true;
20
21 disabled = pythonOlder "3.6";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-BzYpH8u+39Xgo6KA9xpj+Osvi9lnDUwLUawbTQga33A=";
26 };
27
28 nativeBuildInputs = [ setuptools ];
29
30 propagatedBuildInputs = [
31 joblib
32 llvmlite
33 numba
34 scikit-learn
35 scipy
36 ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
37
38 nativeCheckInputs = [ pytestCheckHook ];
39
40 pythonImportsCheck = [ "pynndescent" ];
41
42 meta = with lib; {
43 description = "Nearest Neighbor Descent";
44 homepage = "https://github.com/lmcinnes/pynndescent";
45 license = licenses.bsd2;
46 maintainers = with maintainers; [ mic92 ];
47 };
48}