Bug 1662538 (python-tvb-data)

Summary: Review Request: python-tvb-data - Demo data for The Virtual Brain software
Product: [Fedora] Fedora Reporter: Ankur Sinha (FranciscoD) <sanjay.ankur>
Component: Package ReviewAssignee: Miro Hrončok <mhroncok>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: mhroncok, package-review
Target Milestone: ---Flags: mhroncok: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: Trivial
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-31 02:11:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1276941    

Description Ankur Sinha (FranciscoD) 2018-12-29 15:26:22 UTC
Spec URL: https://ankursinha.fedorapeople.org/python-tvb-data/python-tvb-data.spec
SRPM URL: https://ankursinha.fedorapeople.org/python-tvb-data/python-tvb-data-1.5.6-1.20191229git7d2d05b.fc29.src.rpm

Description: 
The Virtual Brain Project (TVB Project) has the purpose of offering some modern
tools to the Neurosciences community, for computing, simulating and analyzing
functional and structural data of human brains.

Various demonstration datasets for use with The Virtual Brain are provided here.


Fedora Account System Username: ankursinha


rawhide scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=31716759

Comment 1 Miro Hrončok 2019-01-02 12:27:42 UTC
Empty %check?

Comment 2 Miro Hrončok 2019-01-02 12:30:18 UTC
Please BR python3-setuptools explicitly.

Comment 5 Miro Hrončok 2019-01-06 21:26:19 UTC
From LICENSE:

This program is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation, either
version 3 of the License, or (at your option) any later version.

That's GPLv3+ as well.

Comment 6 Miro Hrončok 2019-01-06 21:58:33 UTC
Fedora review is choking on this one for a while.

python-tvb-data.src: W: spelling-error %description -l en_US datasets -> data sets, data-sets, databases
python3-tvb-data.noarch: W: spelling-error %description -l en_US datasets -> data sets, data-sets, databases
2 packages and 0 specfiles checked; 0 errors, 2 warnings.

Good.

$ rpm -qp --requires python3-tvb-data-1.5.6-2.20191229git7d2d05b.fc30.noarch.rpm 
python(abi) = 3.7
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

$ rpm -qp --requires python-tvb-data-1.5.6-2.20191229git7d2d05b.fc30.src.rpm 
python3-devel
python3-setuptools
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1

$ rpm -qp --provides python3-tvb-data-1.5.6-2.20191229git7d2d05b.fc30.noarch.rpm 
python3-tvb-data = 1.5.6-2.20191229git7d2d05b.fc30
python3.7dist(tvb-data) = 1.5.6
python3dist(tvb-data) = 1.5.6



Note that there is code in the package, not only data, and the code has 3rd party requirements:

$ rg import
usr/lib/python3.7/site-packages/tvb_data/sensors/view_h5_3d.py
1:import numpy
2:import h5py
3:from mayavi import mlab 
65:import os.path

usr/lib/python3.7/site-packages/tvb_data/obj/scale_obj.py
42:import math
43:import numpy as np

usr/lib/python3.7/site-packages/tvb_data/surfaceData/surface_fixes.py
1:import os

usr/lib/python3.7/site-packages/tvb_data/mantini66/adapt.py
49:import numpy
50:import os.path
51:import scipy.io
52:import tvb_data.connectivity.epfl
53:import tvb_data.regionMapping.epfl_ph0036
54:from tvb.adapters.uploaders.abcuploader import ABCUploader
55:from tvb.core.entities.file.files_helper import FilesHelper

usr/lib/python3.7/site-packages/tvb_data/cff/networkx_migration.py
35:import networkx
36:import tempfile
37:import os
38:import shutil
39:from cfflib import load, save_to_cff

usr/lib/python3.7/site-packages/tvb_data/regionMapping/for_toronto_parcelation_96/volume_to_regionmap.py
40:from tvb_data.regionMapping.for_toronto_parcelation_96.svmap import load_nii, load_region_id_to_index_map
41:from tvb_data.regionMapping.for_toronto_parcelation_96.svmap import load_region_centers, load_vertices, Mapper
45:    import matplotlib.pyplot as plt

usr/lib/python3.7/site-packages/tvb_data/regionMapping/for_toronto_parcelation_96/svmap.py
35:import numpy as np
36:import nibabel
37:from collections import Counter

usr/lib/python3.7/site-packages/tvb_data/mantini66/process_images/transparent_background.py
31:import os
32:from PIL import Image

usr/lib/python3.7/site-packages/tvb_data/mantini66/process_images/glue_images.py
31:from PIL import Image

Comment 7 Ankur Sinha (FranciscoD) 2019-01-06 22:42:33 UTC
(In reply to Miro Hrončok from comment #6)
> Fedora review is choking on this one for a while.

It's a largish src rpm (300+M) :/

> 
> Note that there is code in the package, not only data, and the code has 3rd
> party requirements:
> 

Ugh, I missed that. Sorry. I'll update the spec. Fortunately, all the libraries it imports seem to be available in Fedora already.

Comment 8 Miro Hrončok 2019-01-06 23:34:14 UTC
Yes but the footprint of them combined is quite large.

Please check how exactly are those files used and if they need to be shipped or if the dependencies might become optional.

Comment 9 Ankur Sinha (FranciscoD) 2019-01-14 22:01:36 UTC
I've updated the spec to include the required packages. They're not optional, unfortunately. We're going to be seeing such large footprints for a lot of the neuro-imaging software that includes data-sets also:

./tvb_data/tables/__init__.py
./tvb_data/connectivity/__init__.py
./tvb_data/obj/__init__.py
./tvb_data/gifti/__init__.py
./tvb_data/__init__.py
./tvb_data/regionMapping/for_toronto_parcelation_96/__init__.py
./tvb_data/regionMapping/__init__.py
./tvb_data/mantini66/__init__.py
./tvb_data/mantini66/process_images/__init__.py
./tvb_data/local_connectivity/__init__.py
./tvb_data/projectionMatrix/__init__.py
./tvb_data/nifti/__init__.py
./tvb_data/mouse/__init__.py
./tvb_data/surfaceData/__init__.py
./tvb_data/h5/__init__.py
./tvb_data/sensors/__init__.py
./tvb_data/cff/__init__.py

One of the deps, cfflib, is not packaged, and does not work with python3. Upstream has said it's a dead project. I've spoken to the tvb-devs, and they've said that they'll work on replacing that module (it'll come up again in tvb-library). So, for the time being, I've set it as a weak dependency.

Updated spec/srpm:

https://ankursinha.fedorapeople.org/python-tvb-data/python-tvb-data.spec
https://ankursinha.fedorapeople.org/python-tvb-data/python-tvb-data-1.5.6-4.20191229git7d2d05b.fc29.src.rpm

Cheers,
Ankur.

Comment 10 Miro Hrončok 2019-01-21 09:27:57 UTC
Sorry for the delay. Package APPROVED.

Comment 11 Ankur Sinha (FranciscoD) 2019-01-21 11:07:33 UTC
Thanks very much. SCM requested: https://pagure.io/releng/fedora-scm-requests/issue/9485

Comment 12 Gwyn Ciesla 2019-01-22 14:39:19 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/python-tvb-data

Comment 13 Fedora Update System 2019-01-22 18:34:19 UTC
python-tvb-data-1.5.6-4.20191229git7d2d05b.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2019-5e7dbe87d4

Comment 14 Fedora Update System 2019-01-22 18:34:22 UTC
python-tvb-data-1.5.6-4.20191229git7d2d05b.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-872277e166

Comment 15 Fedora Update System 2019-01-23 02:25:00 UTC
python-tvb-data-1.5.6-4.20191229git7d2d05b.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-872277e166

Comment 16 Fedora Update System 2019-01-23 02:34:05 UTC
python-tvb-data-1.5.6-4.20191229git7d2d05b.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-5e7dbe87d4

Comment 17 Fedora Update System 2019-01-31 02:11:54 UTC
python-tvb-data-1.5.6-4.20191229git7d2d05b.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2019-01-31 03:20:34 UTC
python-tvb-data-1.5.6-4.20191229git7d2d05b.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.