diff options
author | DavHau <hsngrmpf+github@gmail.com> | 2021-05-15 01:46:36 +0700 |
---|---|---|
committer | DavHau <hsngrmpf+github@gmail.com> | 2021-05-17 17:41:36 +0700 |
commit | cd8f3e6c448c1622b26a80c62e03e42857ec099b (patch) | |
tree | de3335decfd1cd39513777eb4043db16e7690df1 /pkgs/development/python-modules/scikit-learn | |
parent | a17bfa39ceb81d26c5814d657fdd6935da10556a (diff) |
python3Packages.scikitlearn: rename to scikit-learn
Diffstat (limited to 'pkgs/development/python-modules/scikit-learn')
-rw-r--r-- | pkgs/development/python-modules/scikit-learn/0.20.nix | 38 | ||||
-rw-r--r-- | pkgs/development/python-modules/scikit-learn/default.nix | 80 |
2 files changed, 118 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/scikit-learn/0.20.nix b/pkgs/development/python-modules/scikit-learn/0.20.nix new file mode 100644 index 0000000000000..81915e83d2dc9 --- /dev/null +++ b/pkgs/development/python-modules/scikit-learn/0.20.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, buildPythonPackage, fetchPypi +, gfortran, glibcLocales +, numpy, scipy, pytest, pillow +}: + +# 0.20.x is the last version that maintains python2 compatibility + +buildPythonPackage rec { + pname = "scikit-learn"; + version = "0.20.4"; + # UnboundLocalError: local variable 'message' referenced before assignment + disabled = stdenv.isi686; # https://github.com/scikit-learn/scikit-learn/issues/5534 + + src = fetchPypi { + inherit pname version; + sha256 = "1z3w2c50dwwa297j88pr16pyrjysagsvdj7vrlq40q8777rs7a6z"; + }; + + buildInputs = [ pillow gfortran glibcLocales ]; + propagatedBuildInputs = [ numpy scipy numpy.blas ]; + checkInputs = [ pytest ]; + + LC_ALL="en_US.UTF-8"; + + doCheck = !stdenv.isAarch64; + # Skip test_feature_importance_regression - does web fetch + checkPhase = '' + cd $TMPDIR + HOME=$TMPDIR OMP_NUM_THREADS=1 pytest -k "not test_feature_importance_regression" --pyargs sklearn + ''; + + meta = with lib; { + description = "A set of python modules for machine learning and data mining"; + homepage = "https://scikit-learn.org"; + license = licenses.bsd3; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix new file mode 100644 index 0000000000000..7e9e37831e0db --- /dev/null +++ b/pkgs/development/python-modules/scikit-learn/default.nix @@ -0,0 +1,80 @@ +{ stdenv +, lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, gfortran +, glibcLocales +, numpy +, scipy +, pytest +, pillow +, cython +, joblib +, llvmPackages +, threadpoolctl +, pythonOlder +}: + +buildPythonPackage rec { + pname = "scikit-learn"; + version = "0.24.1"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "oDNKGALmTWVgIsO/q1anP71r9LEpg0PzaIryFRgQu98="; + }; + + patches = [ + # This patch fixes compatibility with numpy 1.20. It was merged before 0.24.1 was released, + # but for some reason was not included in the 0.24.1 release tarball. + (fetchpatch { + url = "https://github.com/scikit-learn/scikit-learn/commit/e7ef22c3ba2334cb3b476e95d7c083cf6b48ce56.patch"; + sha256 = "174554k1pbf92bj7wgq0xjj16bkib32ailyhwavdxaknh4bd9nmv"; + }) + ]; + + buildInputs = [ + pillow + gfortran + glibcLocales + ] ++ lib.optionals stdenv.cc.isClang [ + llvmPackages.openmp + ]; + + nativeBuildInputs = [ + cython + ]; + + propagatedBuildInputs = [ + numpy + scipy + numpy.blas + joblib + threadpoolctl + ]; + checkInputs = [ pytest ]; + + LC_ALL="en_US.UTF-8"; + + doCheck = !stdenv.isAarch64; + # Skip test_feature_importance_regression - does web fetch + checkPhase = '' + cd $TMPDIR + HOME=$TMPDIR OMP_NUM_THREADS=1 pytest -k "not test_feature_importance_regression" --pyargs sklearn + ''; + + meta = with lib; { + description = "A set of python modules for machine learning and data mining"; + changelog = let + major = versions.major version; + minor = versions.minor version; + dashVer = replaceChars ["."] ["-"] version; + in + "https://scikit-learn.org/stable/whats_new/v${major}.${minor}.html#version-${dashVer}"; + homepage = "https://scikit-learn.org"; + license = licenses.bsd3; + maintainers = with maintainers; [ ]; + }; +} |