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 __darwinAllowLocalNetworking = true;
70
71 meta = with lib; {
72 description = "Scalable Machine Learn with Dask";
73 homepage = "https://github.com/dask/dask-ml";
74 license = licenses.bsd3;
75 maintainers = with maintainers; [ GaetanLepage ];
76 };
77}