nixpkgs/pkgs/development/python-modules/dask-ml/default.nix
2024-07-07 00:28:51 +02:00

89 lines
1.6 KiB
Nix

{
lib,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
hatch-vcs,
hatchling,
setuptools-scm,
dask,
dask-expr,
dask-glm,
distributed,
multipledispatch,
numba,
numpy,
packaging,
pandas,
scikit-learn,
scipy,
pytest-mock,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "dask-ml";
version = "2024.4.4";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "dask";
repo = "dask-ml";
rev = "refs/tags/v${version}";
hash = "sha256-ZiBpCk3b4Tk0Hwb4uapJLEx+Nb/qHFROCnkBTNGDzoU=";
};
build-system = [
hatch-vcs
hatchling
setuptools-scm
];
dependencies = [
dask-expr
dask-glm
distributed
multipledispatch
numba
numpy
packaging
pandas
scikit-learn
scipy
] ++ dask.optional-dependencies.array ++ dask.optional-dependencies.dataframe;
pythonImportsCheck = [
"dask_ml"
"dask_ml.naive_bayes"
"dask_ml.wrappers"
"dask_ml.utils"
];
nativeCheckInputs = [
pytest-mock
pytestCheckHook
];
disabledTestPaths = [
# AttributeError: 'csr_matrix' object has no attribute 'A'
# Fixed in https://github.com/dask/dask-ml/pull/996
"tests/test_svd.py"
];
disabledTests = [
# Flaky: `Arrays are not almost equal to 3 decimals` (although values do actually match)
"test_whitening"
];
__darwinAllowLocalNetworking = true;
meta = {
description = "Scalable Machine Learn with Dask";
homepage = "https://github.com/dask/dask-ml";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}