Bug 1280490 (python-pyriemann)

Summary: Review Request: python-pyriemann - Covariance matrices manipulation and Biosignal classification
Product: [Fedora] Fedora Reporter: Igor Gnatenko <ignatenko>
Component: Package ReviewAssignee: Zbigniew Jędrzejewski-Szmek <zbyszek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, zbyszek
Target Milestone: ---Flags: zbyszek: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-09 20:50:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 1276941    

Description Igor Gnatenko 2015-11-11 21:18:22 UTC
Spec URL: https://ignatenkobrain.fedorapeople.org/neurofedora/python-pyriemann.spec
SRPM URL: https://ignatenkobrain.fedorapeople.org/neurofedora/python-pyriemann-0.2.3-1.fc24.src.rpm
Description:
pyriemann is a python package for covariance matrices manipulation and
classification through riemannian geometry.

The primary target is classification of multivariate biosignals,
like EEG, MEG or EMG.
Fedora Account System Username: ignatenkobrain

Comment 2 Zbigniew Jędrzejewski-Szmek 2015-11-26 20:43:06 UTC
Build fails in tests:

======================================================================
ERROR: Test Fit of Kmeans
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/python-pyriemann-0.2.3/python2/tests/test_clustering.py", line 20, in test_Kmeans_fit
    km.fit(covset)
  File "/builddir/build/BUILDROOT/python-pyriemann-0.2.3-2.fc24.x86_64/usr/lib/python2.7/site-packages/pyriemann/clustering.py", line 155, in fit
    tol=self.tol)
  File "/builddir/build/BUILDROOT/python-pyriemann-0.2.3-2.fc24.x86_64/usr/lib/python2.7/site-packages/pyriemann/clustering.py", line 20, in _fit_single
    X, n_clusters, init, random_state=random_state)
  File "/usr/lib64/python2.7/site-packages/sklearn/cluster/k_means_.py", line 620, in _init_centroids
    x_squared_norms = row_norms(X, squared=True)
  File "/usr/lib64/python2.7/site-packages/sklearn/utils/extmath.py", line 69, in row_norms
    norms = np.einsum('ij,ij->i', X, X)
ValueError: operand has more dimensions than subscripts given in einstein sum, but no '...' ellipsis provided to broadcast the extra dimensions.
======================================================================
ERROR: Test Fit of Kmeans wit matric initialization
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/python-pyriemann-0.2.3/python2/tests/test_clustering.py", line 26, in test_Kmeans_fit_with_init
    km.fit(covset)
  File "/builddir/build/BUILDROOT/python-pyriemann-0.2.3-2.fc24.x86_64/usr/lib/python2.7/site-packages/pyriemann/clustering.py", line 141, in fit
    tol=self.tol)
  File "/builddir/build/BUILDROOT/python-pyriemann-0.2.3-2.fc24.x86_64/usr/lib/python2.7/site-packages/pyriemann/clustering.py", line 20, in _fit_single
    X, n_clusters, init, random_state=random_state)
  File "/usr/lib64/python2.7/site-packages/sklearn/cluster/k_means_.py", line 620, in _init_centroids
    x_squared_norms = row_norms(X, squared=True)
  File "/usr/lib64/python2.7/site-packages/sklearn/utils/extmath.py", line 69, in row_norms
    norms = np.einsum('ij,ij->i', X, X)
ValueError: operand has more dimensions than subscripts given in einstein sum, but no '...' ellipsis provided to broadcast the extra dimensions.
======================================================================
ERROR: Test Fit of Kmeans with a given y
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/python-pyriemann-0.2.3/python2/tests/test_clustering.py", line 33, in test_Kmeans_fit_with_y
    km.fit(covset,y=labels)
  File "/builddir/build/BUILDROOT/python-pyriemann-0.2.3-2.fc24.x86_64/usr/lib/python2.7/site-packages/pyriemann/clustering.py", line 155, in fit
    tol=self.tol)
  File "/builddir/build/BUILDROOT/python-pyriemann-0.2.3-2.fc24.x86_64/usr/lib/python2.7/site-packages/pyriemann/clustering.py", line 20, in _fit_single
    X, n_clusters, init, random_state=random_state)
  File "/usr/lib64/python2.7/site-packages/sklearn/cluster/k_means_.py", line 620, in _init_centroids
    x_squared_norms = row_norms(X, squared=True)
  File "/usr/lib64/python2.7/site-packages/sklearn/utils/extmath.py", line 69, in row_norms
    norms = np.einsum('ij,ij->i', X, X)
ValueError: operand has more dimensions than subscripts given in einstein sum, but no '...' ellipsis provided to broadcast the extra dimensions.
======================================================================
ERROR: Test Fit of Kmeans using paralell
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/python-pyriemann-0.2.3/python2/tests/test_clustering.py", line 39, in test_Kmeans_fit_parallel
    km.fit(covset)
  File "/builddir/build/BUILDROOT/python-pyriemann-0.2.3-2.fc24.x86_64/usr/lib/python2.7/site-packages/pyriemann/clustering.py", line 167, in fit
    for seed in seeds)
  File "/usr/lib/python2.7/site-packages/joblib/parallel.py", line 812, in __call__
    self.retrieve()
  File "/usr/lib/python2.7/site-packages/joblib/parallel.py", line 762, in retrieve
    raise exception
JoblibValueError: JoblibValueError
___________________________________________________________________________

This is with current rawhide:

DEBUG util.py:393:   python-pandas         x86_64 0.17.0-3.fc24                        fedora 6.5 M
DEBUG util.py:393:   python-scikit-learn   x86_64 0.17-1.fc24                          fedora 3.8 M
DEBUG util.py:393:   python-six            noarch 1.10.0-1.fc24                        fedora  34 k
DEBUG util.py:393:   python-tables         x86_64 3.2.2-2.fc24                         fedora 1.3 M
DEBUG util.py:393:   python-tools          x86_64 2.7.10-11.fc24                       fedora 843 k
DEBUG util.py:393:   python2-joblib        noarch 0.9.3-2.fc24                         fedora 266 k
DEBUG util.py:393:   python2-matplotlib    x86_64 1.4.3-8.fc24                         fedora  35 M
DEBUG util.py:393:   python2-matplotlib-tk x86_64 1.4.3-8.fc24                         fedora  79 k
DEBUG util.py:393:   python2-numexpr       x86_64 2.4.6-2.fc24                         fedora 183 k
DEBUG util.py:393:   python2-numpy         x86_64 1:1.10.2-0.1rc1.fc24                 fedora 3.1 M
DEBUG util.py:393:   python2-numpy-f2py    x86_64 1:1.10.2-0.1rc1.fc24                 fedora 252 k
DEBUG util.py:393:   python2-scipy         x86_64 0.16.1-6.fc24                        fedora  11 M
DEBUG util.py:393:   python3-Bottleneck    x86_64 0.6.0-7.fc24                         fedora 998 k
DEBUG util.py:393:   python3-cairo         x86_64 1.10.0-14.fc24                       fedora 470 k
DEBUG util.py:393:   python3-dateutil      noarch 1:2.4.2-3.fc24                       fedora  89 k
DEBUG util.py:393:   python3-devel         x86_64 3.5.0-5.fc24                         fedora 193 k
DEBUG util.py:393:   python3-joblib        noarch 0.9.3-2.fc24                         fedora 269 k
DEBUG util.py:393:   python3-matplotlib    x86_64 1.4.3-8.fc24                         fedora  35 M
DEBUG util.py:393:   python3-matplotlib-tk x86_64 1.4.3-8.fc24                         fedora  79 k
DEBUG util.py:393:   python3-nose          noarch 1.3.7-6.fc24                         fedora 288 k
DEBUG util.py:393:   python3-numexpr       x86_64 2.4.6-2.fc24                         fedora 186 k
DEBUG util.py:393:   python3-numpy         x86_64 1:1.10.2-0.1rc1.fc24                 fedora 2.9 M
DEBUG util.py:393:   python3-numpy-f2py    x86_64 1:1.10.2-0.1rc1.fc24                 fedora 216 k
DEBUG util.py:393:   python3-pandas        x86_64 0.17.0-3.fc24                        fedora 6.4 M
DEBUG util.py:393:   python3-pyparsing     noarch 2.0.6-1.fc24                         fedora 109 k
DEBUG util.py:393:   python3-pytz          noarch 2015.7-2.fc24                        fedora  52 k
DEBUG util.py:393:   python3-scikit-learn  x86_64 0.17-1.fc24                          fedora 3.6 M
DEBUG util.py:393:   python3-scipy         x86_64 0.16.1-6.fc24                        fedora  10 M
DEBUG util.py:393:   python3-six           noarch 1.10.0-1.fc24                        fedora  35 k
DEBUG util.py:393:   python3-tables        x86_64 3.2.2-2.fc24                         fedora 1.3 M
DEBUG util.py:393:   python3-tkinter       x86_64 3.5.0-5.fc24                         fedora 352 k

Rebuilding in koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=11987784

Comment 3 Upstream Release Monitoring 2015-11-26 20:53:33 UTC
zbyszek's scratch build of python-pyriemann-0.2.3-2.fc24.src.rpm for rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=11987784

Comment 5 Zbigniew Jędrzejewski-Szmek 2015-11-29 14:19:42 UTC
- license is OK
- license file is present, %license is used
- python packaging template is used
- requires and provides are sane
- tests pass
- latest version

- rpmlint:
Checking: python2-pyriemann-0.2.3-3.fc24.noarch.rpm
          python3-pyriemann-0.2.3-3.fc24.noarch.rpm
          python-pyriemann-0.2.3-3.fc24.src.rpm
python2-pyriemann.noarch: E: explicit-lib-dependency python-matplotlib
python2-pyriemann.noarch: E: explicit-lib-dependency python2-joblib
python2-pyriemann.noarch: W: spelling-error Summary(en_US) Covariance -> Co variance, Co-variance, Variance
python2-pyriemann.noarch: W: spelling-error %description -l en_US covariance -> co variance, co-variance, variance
python2-pyriemann.noarch: W: spelling-error %description -l en_US riemannian -> Riemann, Marianne, Annmarie
python2-pyriemann.noarch: W: spelling-error %description -l en_US biosignals -> bio signals, bio-signals, signals
python3-pyriemann.noarch: E: explicit-lib-dependency python3-joblib
python3-pyriemann.noarch: E: explicit-lib-dependency python3-matplotlib
python3-pyriemann.noarch: W: spelling-error Summary(en_US) Covariance -> Co variance, Co-variance, Variance
python3-pyriemann.noarch: W: spelling-error %description -l en_US covariance -> co variance, co-variance, variance
python3-pyriemann.noarch: W: spelling-error %description -l en_US riemannian -> Riemann, Marianne, Annmarie
python3-pyriemann.noarch: W: spelling-error %description -l en_US biosignals -> bio signals, bio-signals, signals
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/utils/__pycache__/distance.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/tangentspace.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/utils/__pycache__/base.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/clustering.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/spatialfilters.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/classification.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/channelselection.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/utils/__pycache__/covariance.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/utils/__pycache__/mean.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/stats.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/estimation.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/utils/__pycache__/tangentspace.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/__pycache__/__init__.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/utils/__pycache__/__init__.cpython-35.opt-1.pyc
python3-pyriemann.noarch: W: python-bytecode-without-source /usr/lib/python3.5/site-packages/pyriemann/utils/__pycache__/geodesic.cpython-35.opt-1.pyc
python-pyriemann.src: W: spelling-error Summary(en_US) Covariance -> Co variance, Co-variance, Variance
python-pyriemann.src: W: spelling-error %description -l en_US covariance -> co variance, co-variance, variance
python-pyriemann.src: W: spelling-error %description -l en_US riemannian -> Riemann, Marianne, Annmarie
python-pyriemann.src: W: spelling-error %description -l en_US biosignals -> bio signals, bio-signals, signals
3 packages and 0 specfiles checked; 4 errors, 27 warnings.

All bogus.

Package is APPROVED.

Comment 6 Till Maas 2015-11-29 16:25:04 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/python-pyriemann

Comment 7 Fedora Update System 2015-11-29 16:51:17 UTC
python-pyriemann-0.2.3-3.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-88a579766b

Comment 8 Fedora Update System 2015-11-29 23:52:23 UTC
python-pyriemann-0.2.3-3.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update python-pyriemann'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-88a579766b

Comment 9 Fedora Update System 2015-12-09 20:50:57 UTC
python-pyriemann-0.2.3-3.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.