1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, numba
5, numpy
6, pytestCheckHook
7, pythonOlder
8, torchvision
9, scikit-learn
10, scipy
11, setuptools
12, tqdm
13}:
14
15buildPythonPackage rec {
16 pname = "apricot-select";
17 version = "0.6.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "jmschrei";
24 repo = "apricot";
25 rev = "refs/tags/${version}";
26 hash = "sha256-v9BHFxmlbwXVipPze/nV35YijdFBuka3gAl85AlsffQ=";
27 };
28
29 nativeBuildInputs = [
30 setuptools
31 ];
32
33 propagatedBuildInputs = [
34 numba
35 numpy
36 scipy
37 tqdm
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 torchvision
43 scikit-learn
44 ];
45
46 pythonImportsCheck = [
47 "apricot"
48 ];
49
50 disabledTestPaths = [
51 # Tests require nose
52 "tests/test_optimizers/test_knapsack_facility_location.py"
53 "tests/test_optimizers/test_knapsack_feature_based.py"
54 ];
55
56 meta = with lib; {
57 description = "Module for submodular optimization for the purpose of selecting subsets of massive data sets";
58 homepage = "https://github.com/jmschrei/apricot";
59 changelog = "https://github.com/jmschrei/apricot/releases/tag/${version}";
60 license = licenses.mit;
61 maintainers = with maintainers; [ fab ];
62 };
63}