diff --git a/packages/scikit-learn/meta.yaml b/packages/scikit-learn/meta.yaml new file mode 100644 index 000000000..5a1ad2376 --- /dev/null +++ b/packages/scikit-learn/meta.yaml @@ -0,0 +1,59 @@ +package: + name: scikit-learn + version: 0.20.1 + +source: + url: https://github.com/scikit-learn/scikit-learn/archive/0.20.1.tar.gz + sha256: 618feea121c59a52ea459d6af7bc179344ca345775b04bd60e96740e9df75960 + + patches: + - patches/use-site-joblib.patch + +build: + cflags: -Wno-implicit-function-declaration + +requirements: + run: + - numpy + - scipy + - joblib + +test: + imports: + - sklearn + - sklearn.calibration + - sklearn.cluster + - sklearn.compose + - sklearn.covariance + - sklearn.cross_decomposition + - sklearn.datasets + - sklearn.decomposition + - sklearn.discriminant_analysis + - sklearn.dummy + - sklearn.ensemble + - sklearn.exceptions + - sklearn.externals + - sklearn.feature_extraction + - sklearn.feature_selection + - sklearn.gaussian_process + - sklearn.impute + - sklearn.isotonic + - sklearn.kernel_approximation + - sklearn.kernel_ridge + - sklearn.linear_model + - sklearn.manifold + - sklearn.metrics + - sklearn.mixture + - sklearn.model_selection + - sklearn.multiclass + - sklearn.multioutput + - sklearn.naive_bayes + - sklearn.neighbors + - sklearn.neural_network + - sklearn.pipeline + - sklearn.preprocessing + - sklearn.random_projection + - sklearn.semi_supervised + - sklearn.svm + - sklearn.tree + - sklearn.utils diff --git a/packages/scikit-learn/patches/use-site-joblib.patch b/packages/scikit-learn/patches/use-site-joblib.patch new file mode 100644 index 000000000..613d3c8a0 --- /dev/null +++ b/packages/scikit-learn/patches/use-site-joblib.patch @@ -0,0 +1,19 @@ +commit 55cfffe8243d7d85dc6f8d14f045cee8a4e8b0ae +Author: Roman Yurchak +Date: Mon Dec 3 22:09:46 2018 +0100 + + Use site joblib + +diff --git a/sklearn/utils/_joblib.py b/sklearn/utils/_joblib.py +index c3df15e91..b9f218ef1 100644 +--- a/sklearn/utils/_joblib.py ++++ b/sklearn/utils/_joblib.py +@@ -5,7 +5,7 @@ import os as _os + import warnings as _warnings + + # An environment variable to use the site joblib +-if _os.environ.get('SKLEARN_SITE_JOBLIB', False): ++if True: + with _warnings.catch_warnings(): + _warnings.simplefilter("ignore") + # joblib imports may raise DeprecationWarning on certain Python diff --git a/test/packages/test_scikit-learn.py b/test/packages/test_scikit-learn.py new file mode 100644 index 000000000..4025006f7 --- /dev/null +++ b/test/packages/test_scikit-learn.py @@ -0,0 +1,23 @@ +import pytest + + +def test_scikit_learn(selenium_standalone, request): + selenium = selenium_standalone + if selenium.browser == 'chrome': + request.applymarker(pytest.mark.xfail( + run=False, reason='chrome not supported')) + selenium.load_package("scikit-learn") + assert selenium.run(""" + import numpy as np + import sklearn + from sklearn.linear_model import LogisticRegression + + rng = np.random.RandomState(42) + X = rng.rand(100, 20) + y = rng.randint(5, size=100) + + estimator = LogisticRegression(solver='liblinear') + estimator.fit(X, y) + print(estimator.predict(X)) + estimator.score(X, y) + """) > 0 diff --git a/test/test_common.py b/test/test_common.py index afef1ac90..c4cb366cc 100644 --- a/test/test_common.py +++ b/test/test_common.py @@ -23,7 +23,7 @@ def registered_packages_meta(): for name in packages} -UNSUPPORTED_PACKAGES = {'chrome': ['pandas', 'scipy'], +UNSUPPORTED_PACKAGES = {'chrome': ['pandas', 'scipy', 'scikit-learn'], 'firefox': []}