Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1288870 (python-pymc3) - Review Request: python-pymc3 - Bayesian statistical modeling and model fitting
Summary: Review Request: python-pymc3 - Bayesian statistical modeling and model fitting
Keywords:
Status: CLOSED WONTFIX
Alias: python-pymc3
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zbigniew Jędrzejewski-Szmek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-DEADREVIEW fedora-neuro
TreeView+ depends on / blocked
 
Reported: 2015-12-06 18:52 UTC by Igor Gnatenko
Modified: 2018-08-22 10:32 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-08-22 07:30:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Igor Gnatenko 2015-12-06 18:52:29 UTC
Spec URL: https://ignatenkobrain.fedorapeople.org/neurofedora/python-pymc3.spec
SRPM URL: https://ignatenkobrain.fedorapeople.org/neurofedora/python-pymc3-3.0-0.1.git7427adb.fc24.src.rpm
Description:
PyMC3 is a python module for Bayesian statistical modeling and model fitting
which focuses on advanced Markov chain Monte Carlo fitting algorithms. Its
flexibility and extensibility make it applicable to a large suite of problems.
Fedora Account System Username: ignatenkobrain

Comment 1 Zbigniew Jędrzejewski-Szmek 2015-12-08 22:26:26 UTC
+ license is OK (ASL 2.0)
+ license file is present, %license is used
+ latest version (git snapshot)
+ new python template is used
- provides and requires look fine
Some tests are skipped with because statsmodels is missing. We have statsmodels packaged, consider adding it to BR and Recommends.

+ no scriptlets
+ check is present and tests pass
- the tests run unparallized. It would be nice to make them parallel, because the tests are the slowest thing when building.

Tests fail with:
======================================================================
FAIL: pymc3.tests.test_stats.test_dic_warns_on_transformed_rv
Test that deviance information criterion calculation warns when an RV is transformed
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/pymc3-7427adb98c3fc6a7617415e9309c2bf0dc80d8bb/pymc3/tests/test_stats.py", line 62, in test_dic_warns_on_transformed_rv
    assert(len(w) == 1)
AssertionError: 
-------------------- >> begin captured stdout << ---------------------
[-----------------100%-----------------] 100 of 100 complete in 0.0 sec

--------------------- >> end captured stdout << ----------------------

----------------------------------------------------------------------
Ran 594 tests in 2785.901s

FAILED (failures=1, skipped=12)

Comment 2 Igor Gnatenko 2015-12-12 12:34:01 UTC
> the tests run unparallized
have no idea how to do this...

> Tests fail with:
If I will add some sleep between py2 and py3 tests it will work, dont know why.

Comment 3 Zbigniew Jędrzejewski-Szmek 2015-12-13 01:59:01 UTC
(In reply to Igor Gnatenko from comment #2)
> > the tests run unparallized
> have no idea how to do this...

I tried experimenting with nosetests --processes=<n> parameter, but it doesn't seem to work. Running tests in parallel requires some support, so it would probably be best handled upstream.

Filed https://github.com/pymc-devs/pymc3/issues/889.

> > Tests fail with:
> If I will add some sleep between py2 and py3 tests it will work, dont know
> why.

Let's see what happens in koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=12168920.

Comment 4 Upstream Release Monitoring 2015-12-13 05:15:04 UTC
zbyszek's scratch build of python-pymc3-3.0-0.1.git7427adb.fc24.src.rpm for rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=12168920

Comment 5 Yanis Guenane 2016-01-08 17:51:46 UTC
My review is yet unofficial as I am not part of the packager group.

I have three remarks one the spec file.

1. Can you condition the py3 related actions (subpackages, build, install, %files) ? This way we can use the same spec file on Fedora with python3 support, and EL7 with no python3 support.

Using something like the following :

> %if 0%{?fedora}
> %global with_python3 1
> %endif
>
> %if 0%{?with_python3}
> %py3_build
> %endif

2. Upstream provides several files that should go in a %doc in the %files section but they are not currently listed. I am thinking about 

 * changelog.md
 * readme.md
 * release-notes.md

3. Upstream provides a way to generate a complete documentation[1], a -doc subpackage might be a good idea to provide it for the end user.

[1] https://github.com/pymc-devs/pymc3/blob/master/howto_docs.md

Comment 6 Zbigniew Jędrzejewski-Szmek 2016-01-08 18:33:14 UTC
(In reply to Yanis Guenane from comment #5)
> 1. Can you condition the py3 related actions (subpackages, build, install,
> %files) ? This way we can use the same spec file on Fedora with python3
> support, and EL7 with no python3 support.
> 
> Using something like the following :
> 
> > %if 0%{?fedora}
> > %global with_python3 1
> > %endif
> >
> > %if 0%{?with_python3}
> > %py3_build
> > %endif

What you propose is useful, but OTOH, there is little reason to
introduce this until the EPEL package actually happens. It is quite
likely that this package will never be built for EPEL, and then this
is wasted effort. If the need ever arises to add this, those
conditionals can be added in the exact same way.

> 2. Upstream provides several files that should go in a %doc in the %files
> section but they are not currently listed. I am thinking about 
> 
>  * changelog.md
>  * readme.md
>  * release-notes.md
> 
> 3. Upstream provides a way to generate a complete documentation[1], a -doc
> subpackage might be a good idea to provide it for the end user.
> 
> [1] https://github.com/pymc-devs/pymc3/blob/master/howto_docs.md

Agreed with the other two comments.

Comment 7 Zbigniew Jędrzejewski-Szmek 2016-01-08 18:36:56 UTC
... so, what's the plan here? I guess that parallelized tests are not possible now. There are a few issues raised in comments #1 and #5. Can you fix/reject those and make a new version?

Comment 8 Igor Raits 2018-08-22 07:30:26 UTC
Unfortunately I don't have time to work on these review requests anymore, sorry.


Note You need to log in before you can comment on or make changes to this bug.