1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 hatch-vcs,
7 hatchling,
8 setuptools-scm,
9 dask,
10 dask-expr,
11 dask-glm,
12 distributed,
13 multipledispatch,
14 numba,
15 numpy,
16 packaging,
17 pandas,
18 scikit-learn,
19 scipy,
20 pytest-mock,
21 pytestCheckHook,
22}:
23
24buildPythonPackage rec {
25 pname = "dask-ml";
26 version = "2024.4.4";
27 pyproject = true;
28
29 disabled = pythonOlder "3.6";
30
31 src = fetchFromGitHub {
32 owner = "dask";
33 repo = "dask-ml";
34 rev = "refs/tags/v${version}";
35 hash = "sha256-ZiBpCk3b4Tk0Hwb4uapJLEx+Nb/qHFROCnkBTNGDzoU=";
36 };
37
38 build-system = [
39 hatch-vcs
40 hatchling
41 setuptools-scm
42 ];
43
44 dependencies = [
45 dask-expr
46 dask-glm
47 distributed
48 multipledispatch
49 numba
50 numpy
51 packaging
52 pandas
53 scikit-learn
54 scipy
55 ] ++ dask.optional-dependencies.array ++ dask.optional-dependencies.dataframe;
56
57 pythonImportsCheck = [
58 "dask_ml"
59 "dask_ml.naive_bayes"
60 "dask_ml.wrappers"
61 "dask_ml.utils"
62 ];
63
64 nativeCheckInputs = [
65 pytest-mock
66 pytestCheckHook
67 ];
68
69 disabledTestPaths = [
70 # AttributeError: 'csr_matrix' object has no attribute 'A'
71 # Fixed in https://github.com/dask/dask-ml/pull/996
72 "tests/test_svd.py"
73 ];
74
75 disabledTests = [
76 # Flaky: `Arrays are not almost equal to 3 decimals` (although values do actually match)
77 "test_whitening"
78 ];
79
80 __darwinAllowLocalNetworking = true;
81
82 meta = {
83 description = "Scalable Machine Learn with Dask";
84 homepage = "https://github.com/dask/dask-ml";
85 license = lib.licenses.bsd3;
86 maintainers = with lib.maintainers; [ GaetanLepage ];
87 };
88}