nixpkgs/pkgs/development/python-modules/scikit-learn-extra/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

59 lines
1.4 KiB
Nix

{ lib
, fetchFromGitHub
, buildPythonPackage
, numpy
, cython
, scipy
, scikit-learn
, matplotlib
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "scikit-learn-extra";
version = "0.2.0";
src = fetchFromGitHub {
owner = "scikit-learn-contrib";
repo = pname;
rev = "v${version}";
sha256 = "09v7a9jdycdrlqq349m1gbn8ppzv1bl5g3l72k6ywsx2xb01qw13";
};
nativeBuildInputs = [ numpy cython ];
propagatedBuildInputs = [ numpy scipy scikit-learn ];
nativeCheckInputs = [ matplotlib pytestCheckHook ];
preCheck = ''
# Remove the package in the build dir, because Python defaults to it and
# ignores the one in Nix store with cythonized modules.
rm -r sklearn_extra
'';
pytestFlagsArray = [ "--pyargs sklearn_extra" ];
disabledTestPaths = [
"benchmarks"
"examples"
"doc"
];
disabledTests = [
"build" # needs network connection
"test_all_estimators" # sklearn.exceptions.NotFittedError: Estimator fails to pass `check_is_fitted` even though it has been fit.
];
# Check packages with cythonized modules
pythonImportsCheck = [
"sklearn_extra"
"sklearn_extra.cluster"
"sklearn_extra.robust"
"sklearn_extra.utils"
];
meta = {
description = "A set of tools for scikit-learn";
homepage = "https://github.com/scikit-learn-contrib/scikit-learn-extra";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ yl3dy ];
};
}