1 # NOTE: for versions >= 0.21 (for python 3.5+) see python3-scikit-learn.spec
4 # - cblas/atlas everywhere (now some parts use system, but included cblas is compiled too)
6 # - python modules in externals: _arff _pilutil funcsigs six joblib [cloudpickle loky]
7 # - test failures (a few with python2, cannot run with python3)
10 %bcond_with tests # unit tests (some failing)
11 %bcond_without python2 # CPython 2.x module
12 %bcond_with python3 # CPython 3.x module (built from python3-scikit-learn.spec)
14 %define numpy_ver 1.8.2
15 %define scipy_ver 0.13.3
17 Summary: Set of Python 2 modules for machine learning and data mining
18 Summary(pl.UTF-8): Zbiór modułów Pythona 2 do uczenia maszynowego i eksporacji danych
19 Name: python-scikit-learn
20 # NOTE: keep 0.20.x here, 0.21+ don't support python2
24 Group: Libraries/Python
25 #Source0Download: https://pypi.org/simple/scikit-learn/
26 Source0: https://files.pythonhosted.org/packages/source/s/scikit-learn/scikit-learn-%{version}.tar.gz
27 # Source0-md5: f0c44f397738ea1140a596f74592400e
28 URL: https://scikit-learn.org/
29 BuildRequires: cblas-devel
30 BuildRequires: rpm-pythonprov
31 BuildRequires: rpmbuild(macros) >= 1.714
33 #BuildRequires: python-Cython
34 BuildRequires: python-devel >= 1:2.7
35 BuildRequires: python-numpy-devel >= %{numpy_ver}
36 BuildRequires: python-scipy >= %{scipy_ver}
37 BuildRequires: python-setuptools
39 BuildRequires: python-pytest >= 3.3.0
43 #BuildRequires: python3-Cython
44 BuildRequires: python3-devel >= 1:3.4
45 BuildRequires: python3-numpy-devel >= %{numpy_ver}
46 BuildRequires: python3-scipy >= %{scipy_ver}
47 BuildRequires: python3-setuptools
49 BuildRequires: python3-pytest >= 3.3.0
52 Requires: python-modules >= 1:2.7
53 Requires: python-numpy >= %{numpy_ver}
54 Requires: python-scipy >= %{scipy_ver}
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 scikit-learn is a Python module for machine learning built on top of
59 SciPy and distributed under the 3-Clause BSD license.
61 %description -l pl.UTF-8
62 scikit-learn to moduł Pythona do uczenia maszynowego, zbudowany w
63 oparciu o SciPy i rozprowadzany na 3-punktowej licencji BSD.
65 %package -n python3-scikit-learn
66 Summary: Set of Python 2 modules for machine learning and data mining
67 Summary(pl.UTF-8): Zbiór modułów Pythona 2 do uczenia maszynowego i eksporacji danych
68 Group: Libraries/Python
69 Requires: python3-modules >= 1:3.4
70 Requires: python3-numpy >= %{numpy_ver}
71 Requires: python3-scipy >= %{scipy_ver}
73 %description -n python3-scikit-learn
74 scikit-learn is a Python module for machine learning built on top of
75 SciPy and distributed under the 3-Clause BSD license.
77 %description -n python3-scikit-learn -l pl.UTF-8
78 scikit-learn to moduł Pythona do uczenia maszynowego, zbudowany w
79 oparciu o SciPy i rozprowadzany na 3-punktowej licencji BSD.
82 %setup -q -n scikit-learn-%{version}
90 ln -snf ../../../../sklearn/datasets/data sklearn/datasets/data
91 ln -snf ../../../../sklearn/datasets/descr sklearn/datasets/descr
92 ln -snf ../../../../sklearn/datasets/images sklearn/datasets/images
93 ln -snf ../../../../../sklearn/datasets/tests/data sklearn/datasets/tests/data
95 %{__rm} sklearn/datasets/{data,descr,images} sklearn/datasets/tests/data
104 # symlinking doesn't work with python 3
105 cp -pr sklearn/datasets/{data,descr,images} build-3/lib.*/sklearn/datasets
106 cp -pr sklearn/datasets/tests/data build-3/lib.*/sklearn/datasets/tests
108 %{__python3} -m pytest
109 %{__rm} -r sklearn/datasets/{data,descr,images} sklearn/datasets/tests/data
115 rm -rf $RPM_BUILD_ROOT
120 %{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/sklearn/tests
121 %{__rm} -r $RPM_BUILD_ROOT%{py_sitedir}/sklearn/{cluster,compose,covariance,cross_decomposition,datasets,decomposition,ensemble,feature_extraction,feature_selection,gaussian_process,linear_model,manifold,metrics,metrics/cluster,mixture,model_selection,neighbors,neural_network,preprocessing,semi_supervised,svm,tree,utils,utils/sparsetools}/tests
128 %{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/sklearn/tests
129 %{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/sklearn/{cluster,compose,covariance,cross_decomposition,datasets,decomposition,ensemble,feature_extraction,feature_selection,gaussian_process,linear_model,manifold,metrics,metrics/cluster,mixture,model_selection,neighbors,neural_network,preprocessing,semi_supervised,svm,tree,utils,utils/sparsetools}/tests
133 rm -rf $RPM_BUILD_ROOT
137 %defattr(644,root,root,755)
138 %doc COPYING README.rst
139 %dir %{py_sitedir}/sklearn
140 %attr(755,root,root) %{py_sitedir}/sklearn/_isotonic.so
141 %attr(755,root,root) %{py_sitedir}/sklearn/*.py[co]
142 %dir %{py_sitedir}/sklearn/__check_build
143 %attr(755,root,root) %{py_sitedir}/sklearn/__check_build/_check_build.so
144 %{py_sitedir}/sklearn/__check_build/*.py[co]
145 %{py_sitedir}/sklearn/_build_utils
146 %dir %{py_sitedir}/sklearn/cluster
147 %attr(755,root,root) %{py_sitedir}/sklearn/cluster/_dbscan_inner.so
148 %attr(755,root,root) %{py_sitedir}/sklearn/cluster/_hierarchical.so
149 %attr(755,root,root) %{py_sitedir}/sklearn/cluster/_k_means.so
150 %attr(755,root,root) %{py_sitedir}/sklearn/cluster/_k_means_elkan.so
151 %{py_sitedir}/sklearn/cluster/*.py[co]
152 %{py_sitedir}/sklearn/compose
153 %{py_sitedir}/sklearn/covariance
154 %{py_sitedir}/sklearn/cross_decomposition
155 %dir %{py_sitedir}/sklearn/datasets
156 %attr(755,root,root) %{py_sitedir}/sklearn/datasets/_svmlight_format.so
157 %{py_sitedir}/sklearn/datasets/*.py[co]
158 %{py_sitedir}/sklearn/datasets/data
159 %{py_sitedir}/sklearn/datasets/descr
160 %{py_sitedir}/sklearn/datasets/images
161 %dir %{py_sitedir}/sklearn/decomposition
162 %attr(755,root,root) %{py_sitedir}/sklearn/decomposition/_online_lda.so
163 %attr(755,root,root) %{py_sitedir}/sklearn/decomposition/cdnmf_fast.so
164 %{py_sitedir}/sklearn/decomposition/*.py[co]
165 %dir %{py_sitedir}/sklearn/ensemble
166 %attr(755,root,root) %{py_sitedir}/sklearn/ensemble/_gradient_boosting.so
167 %{py_sitedir}/sklearn/ensemble/*.py[co]
168 %dir %{py_sitedir}/sklearn/externals
169 %{py_sitedir}/sklearn/externals/*.py[co]
170 %dir %{py_sitedir}/sklearn/externals/joblib
171 %{py_sitedir}/sklearn/externals/joblib/*.py[co]
172 %dir %{py_sitedir}/sklearn/externals/joblib/externals
173 %{py_sitedir}/sklearn/externals/joblib/externals/__init__.py[co]
174 %{py_sitedir}/sklearn/externals/joblib/externals/cloudpickle
175 %{py_sitedir}/sklearn/externals/joblib/externals/loky
176 %dir %{py_sitedir}/sklearn/feature_extraction
177 %attr(755,root,root) %{py_sitedir}/sklearn/feature_extraction/_hashing.so
178 %{py_sitedir}/sklearn/feature_extraction/*.py[co]
179 %{py_sitedir}/sklearn/feature_selection
180 %{py_sitedir}/sklearn/gaussian_process
181 %dir %{py_sitedir}/sklearn/linear_model
182 %attr(755,root,root) %{py_sitedir}/sklearn/linear_model/cd_fast.so
183 %attr(755,root,root) %{py_sitedir}/sklearn/linear_model/sag_fast.so
184 %attr(755,root,root) %{py_sitedir}/sklearn/linear_model/sgd_fast.so
185 %{py_sitedir}/sklearn/linear_model/*.py[co]
186 %dir %{py_sitedir}/sklearn/manifold
187 %attr(755,root,root) %{py_sitedir}/sklearn/manifold/_barnes_hut_tsne.so
188 %attr(755,root,root) %{py_sitedir}/sklearn/manifold/_utils.so
189 %{py_sitedir}/sklearn/manifold/*.py[co]
190 %dir %{py_sitedir}/sklearn/metrics
191 %attr(755,root,root) %{py_sitedir}/sklearn/metrics/pairwise_fast.so
192 %{py_sitedir}/sklearn/metrics/*.py[co]
193 %dir %{py_sitedir}/sklearn/metrics/cluster
194 %attr(755,root,root) %{py_sitedir}/sklearn/metrics/cluster/expected_mutual_info_fast.so
195 %{py_sitedir}/sklearn/metrics/cluster/*.py[co]
196 %{py_sitedir}/sklearn/mixture
197 %{py_sitedir}/sklearn/model_selection
198 %dir %{py_sitedir}/sklearn/neighbors
199 %attr(755,root,root) %{py_sitedir}/sklearn/neighbors/ball_tree.so
200 %attr(755,root,root) %{py_sitedir}/sklearn/neighbors/dist_metrics.so
201 %attr(755,root,root) %{py_sitedir}/sklearn/neighbors/kd_tree.so
202 %attr(755,root,root) %{py_sitedir}/sklearn/neighbors/quad_tree.so
203 %attr(755,root,root) %{py_sitedir}/sklearn/neighbors/typedefs.so
204 %{py_sitedir}/sklearn/neighbors/*.py[co]
205 %{py_sitedir}/sklearn/neural_network
206 %{py_sitedir}/sklearn/preprocessing
207 %{py_sitedir}/sklearn/semi_supervised
208 %dir %{py_sitedir}/sklearn/svm
209 %attr(755,root,root) %{py_sitedir}/sklearn/svm/liblinear.so
210 %attr(755,root,root) %{py_sitedir}/sklearn/svm/libsvm.so
211 %attr(755,root,root) %{py_sitedir}/sklearn/svm/libsvm_sparse.so
212 %{py_sitedir}/sklearn/svm/*.py[co]
213 %dir %{py_sitedir}/sklearn/tree
214 %attr(755,root,root) %{py_sitedir}/sklearn/tree/_criterion.so
215 %attr(755,root,root) %{py_sitedir}/sklearn/tree/_splitter.so
216 %attr(755,root,root) %{py_sitedir}/sklearn/tree/_tree.so
217 %attr(755,root,root) %{py_sitedir}/sklearn/tree/_utils.so
218 %{py_sitedir}/sklearn/tree/*.pxd
219 %{py_sitedir}/sklearn/tree/*.py[co]
220 %dir %{py_sitedir}/sklearn/utils
221 %attr(755,root,root) %{py_sitedir}/sklearn/utils/_logistic_sigmoid.so
222 %attr(755,root,root) %{py_sitedir}/sklearn/utils/_random.so
223 %attr(755,root,root) %{py_sitedir}/sklearn/utils/arrayfuncs.so
224 %attr(755,root,root) %{py_sitedir}/sklearn/utils/fast_dict.so
225 %attr(755,root,root) %{py_sitedir}/sklearn/utils/graph_shortest_path.so
226 %attr(755,root,root) %{py_sitedir}/sklearn/utils/lgamma.so
227 %attr(755,root,root) %{py_sitedir}/sklearn/utils/murmurhash.so
228 %attr(755,root,root) %{py_sitedir}/sklearn/utils/seq_dataset.so
229 %attr(755,root,root) %{py_sitedir}/sklearn/utils/sparsefuncs_fast.so
230 %attr(755,root,root) %{py_sitedir}/sklearn/utils/weight_vector.so
231 %{py_sitedir}/sklearn/utils/*.py[co]
232 %{py_sitedir}/sklearn/utils/sparsetools
233 %{py_sitedir}/scikit_learn-%{version}-py*.egg-info
237 %files -n python3-scikit-learn
238 %defattr(644,root,root,755)
239 %doc COPYING README.rst
240 %dir %{py3_sitedir}/sklearn
241 %attr(755,root,root) %{py3_sitedir}/sklearn/_isotonic.cpython-*.so
242 %attr(755,root,root) %{py3_sitedir}/sklearn/*.py
243 %attr(755,root,root) %{py3_sitedir}/sklearn/__pycache__
244 %dir %{py3_sitedir}/sklearn/__check_build
245 %attr(755,root,root) %{py3_sitedir}/sklearn/__check_build/_check_build.cpython-*.so
246 %{py3_sitedir}/sklearn/__check_build/*.py
247 %{py3_sitedir}/sklearn/__check_build/__pycache__
248 %{py3_sitedir}/sklearn/_build_utils
249 %dir %{py3_sitedir}/sklearn/cluster
250 %attr(755,root,root) %{py3_sitedir}/sklearn/cluster/_dbscan_inner.cpython-*.so
251 %attr(755,root,root) %{py3_sitedir}/sklearn/cluster/_hierarchical.cpython-*.so
252 %attr(755,root,root) %{py3_sitedir}/sklearn/cluster/_k_means.cpython-*.so
253 %attr(755,root,root) %{py3_sitedir}/sklearn/cluster/_k_means_elkan.cpython-*.so
254 %{py3_sitedir}/sklearn/cluster/*.py
255 %{py3_sitedir}/sklearn/cluster/__pycache__
256 %{py3_sitedir}/sklearn/compose
257 %{py3_sitedir}/sklearn/covariance
258 %{py3_sitedir}/sklearn/cross_decomposition
259 %dir %{py3_sitedir}/sklearn/datasets
260 %attr(755,root,root) %{py3_sitedir}/sklearn/datasets/_svmlight_format.cpython-*.so
261 %{py3_sitedir}/sklearn/datasets/*.py
262 %{py3_sitedir}/sklearn/datasets/__pycache__
263 %{py3_sitedir}/sklearn/datasets/data
264 %{py3_sitedir}/sklearn/datasets/descr
265 %{py3_sitedir}/sklearn/datasets/images
266 %dir %{py3_sitedir}/sklearn/decomposition
267 %attr(755,root,root) %{py3_sitedir}/sklearn/decomposition/_online_lda.cpython-*.so
268 %attr(755,root,root) %{py3_sitedir}/sklearn/decomposition/cdnmf_fast.cpython-*.so
269 %{py3_sitedir}/sklearn/decomposition/*.py
270 %{py3_sitedir}/sklearn/decomposition/__pycache__
271 %dir %{py3_sitedir}/sklearn/ensemble
272 %attr(755,root,root) %{py3_sitedir}/sklearn/ensemble/_gradient_boosting.cpython-*.so
273 %{py3_sitedir}/sklearn/ensemble/*.py
274 %{py3_sitedir}/sklearn/ensemble/__pycache__
275 %dir %{py3_sitedir}/sklearn/externals
276 %{py3_sitedir}/sklearn/externals/*.py
277 %{py3_sitedir}/sklearn/externals/__pycache__
278 %dir %{py3_sitedir}/sklearn/externals/joblib
279 %{py3_sitedir}/sklearn/externals/joblib/*.py
280 %{py3_sitedir}/sklearn/externals/joblib/__pycache__
281 %dir %{py3_sitedir}/sklearn/externals/joblib/externals
282 %{py3_sitedir}/sklearn/externals/joblib/externals/__init__.py
283 %{py3_sitedir}/sklearn/externals/joblib/externals/__pycache__
284 %{py3_sitedir}/sklearn/externals/joblib/externals/cloudpickle
285 %{py3_sitedir}/sklearn/externals/joblib/externals/loky
286 %dir %{py3_sitedir}/sklearn/feature_extraction
287 %attr(755,root,root) %{py3_sitedir}/sklearn/feature_extraction/_hashing.cpython-*.so
288 %{py3_sitedir}/sklearn/feature_extraction/*.py
289 %{py3_sitedir}/sklearn/feature_extraction/__pycache__
290 %{py3_sitedir}/sklearn/feature_selection
291 %{py3_sitedir}/sklearn/gaussian_process
292 %dir %{py3_sitedir}/sklearn/linear_model
293 %attr(755,root,root) %{py3_sitedir}/sklearn/linear_model/cd_fast.cpython-*.so
294 %attr(755,root,root) %{py3_sitedir}/sklearn/linear_model/sag_fast.cpython-*.so
295 %attr(755,root,root) %{py3_sitedir}/sklearn/linear_model/sgd_fast.cpython-*.so
296 %{py3_sitedir}/sklearn/linear_model/*.py
297 %{py3_sitedir}/sklearn/linear_model/__pycache__
298 %dir %{py3_sitedir}/sklearn/manifold
299 %attr(755,root,root) %{py3_sitedir}/sklearn/manifold/_barnes_hut_tsne.cpython-*.so
300 %attr(755,root,root) %{py3_sitedir}/sklearn/manifold/_utils.cpython-*.so
301 %{py3_sitedir}/sklearn/manifold/*.py
302 %{py3_sitedir}/sklearn/manifold/__pycache__
303 %dir %{py3_sitedir}/sklearn/metrics
304 %attr(755,root,root) %{py3_sitedir}/sklearn/metrics/pairwise_fast.cpython-*.so
305 %{py3_sitedir}/sklearn/metrics/*.py
306 %{py3_sitedir}/sklearn/metrics/__pycache__
307 %dir %{py3_sitedir}/sklearn/metrics/cluster
308 %attr(755,root,root) %{py3_sitedir}/sklearn/metrics/cluster/expected_mutual_info_fast.cpython-*.so
309 %{py3_sitedir}/sklearn/metrics/cluster/*.py
310 %{py3_sitedir}/sklearn/metrics/cluster/__pycache__
311 %{py3_sitedir}/sklearn/mixture
312 %{py3_sitedir}/sklearn/model_selection
313 %dir %{py3_sitedir}/sklearn/neighbors
314 %attr(755,root,root) %{py3_sitedir}/sklearn/neighbors/ball_tree.cpython-*.so
315 %attr(755,root,root) %{py3_sitedir}/sklearn/neighbors/dist_metrics.cpython-*.so
316 %attr(755,root,root) %{py3_sitedir}/sklearn/neighbors/kd_tree.cpython-*.so
317 %attr(755,root,root) %{py3_sitedir}/sklearn/neighbors/quad_tree.cpython-*.so
318 %attr(755,root,root) %{py3_sitedir}/sklearn/neighbors/typedefs.cpython-*.so
319 %{py3_sitedir}/sklearn/neighbors/*.py
320 %{py3_sitedir}/sklearn/neighbors/__pycache__
321 %{py3_sitedir}/sklearn/neural_network
322 %{py3_sitedir}/sklearn/preprocessing
323 %{py3_sitedir}/sklearn/semi_supervised
324 %dir %{py3_sitedir}/sklearn/svm
325 %attr(755,root,root) %{py3_sitedir}/sklearn/svm/liblinear.cpython-*.so
326 %attr(755,root,root) %{py3_sitedir}/sklearn/svm/libsvm.cpython-*.so
327 %attr(755,root,root) %{py3_sitedir}/sklearn/svm/libsvm_sparse.cpython-*.so
328 %{py3_sitedir}/sklearn/svm/*.py
329 %{py3_sitedir}/sklearn/svm/__pycache__
330 %dir %{py3_sitedir}/sklearn/tree
331 %attr(755,root,root) %{py3_sitedir}/sklearn/tree/_criterion.cpython-*.so
332 %attr(755,root,root) %{py3_sitedir}/sklearn/tree/_splitter.cpython-*.so
333 %attr(755,root,root) %{py3_sitedir}/sklearn/tree/_tree.cpython-*.so
334 %attr(755,root,root) %{py3_sitedir}/sklearn/tree/_utils.cpython-*.so
335 %{py3_sitedir}/sklearn/tree/*.pxd
336 %{py3_sitedir}/sklearn/tree/*.py
337 %{py3_sitedir}/sklearn/tree/__pycache__
338 %dir %{py3_sitedir}/sklearn/utils
339 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/_logistic_sigmoid.cpython-*.so
340 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/_random.cpython-*.so
341 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/arrayfuncs.cpython-*.so
342 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/fast_dict.cpython-*.so
343 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/graph_shortest_path.cpython-*.so
344 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/lgamma.cpython-*.so
345 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/murmurhash.cpython-*.so
346 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/seq_dataset.cpython-*.so
347 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/sparsefuncs_fast.cpython-*.so
348 %attr(755,root,root) %{py3_sitedir}/sklearn/utils/weight_vector.cpython-*.so
349 %{py3_sitedir}/sklearn/utils/*.py
350 %{py3_sitedir}/sklearn/utils/__pycache__
351 %{py3_sitedir}/sklearn/utils/sparsetools
352 %{py3_sitedir}/scikit_learn-%{version}-py*.egg-info