depot/third_party/nixpkgs/pkgs/development/python-modules/scikit-learn-extra/default.nix
Default email 504525a148 Project import generated by Copybara.
GitOrigin-RevId: bd645e8668ec6612439a9ee7e71f7eac4099d4f6
2024-01-02 12:29:13 +01: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.3.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "scikit-learn-contrib";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "sha256-dHOwo6NIuhcvIehpuJQ621JEg5O3mnXycAhpTZKaxns=";
};
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 ];
};
}