[python-statsmodels] Import python-statsmodels

Sergio Pascual sergiopr at fedoraproject.org
Tue Jan 21 15:16:04 UTC 2014


commit 2d96b2da5c49be30fde84a12d349aef92f0c5640
Author: Sergio Pascual <sergiopr at fis.ucm.es>
Date:   Tue Jan 21 16:16:03 2014 +0100

    Import python-statsmodels

 .gitignore                  |    1 +
 python-statsmodels.spec     |  197 +++++++++++++++++++++++++++++++++++++++++++
 sources                     |    1 +
 statsmodels-skiptests.patch |   48 +++++++++++
 4 files changed, 247 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..2bb8e57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/statsmodels-0.5.0.tar.gz
diff --git a/python-statsmodels.spec b/python-statsmodels.spec
new file mode 100644
index 0000000..27f70ab
--- /dev/null
+++ b/python-statsmodels.spec
@@ -0,0 +1,197 @@
+%global with_python3 0
+# We need python3-pandas
+%global upname statsmodels
+
+Name: python-%{upname}
+Version: 0.5.0
+Release: 6%{?dist}
+Summary: Statistics in Python
+# Package is licensed under BSD (3 clauses)
+# except the following files in Public Domain
+# statsmodels/datasets/elnino/data.py
+# statsmodels/datasets/randhie/data.py
+License: BSD and Public Domain
+
+URL: http://statsmodels.sourceforge.net/
+Source0: http://pypi.python.org/packages/source/s/statsmodels/%{upname}-%{version}.tar.gz
+# Disable the tests that fail
+# https://github.com/statsmodels/statsmodels/issues/1320
+# https://github.com/statsmodels/statsmodels/issues/1319
+# https://github.com/statsmodels/statsmodels/issues/1316
+Patch0: statsmodels-skiptests.patch
+
+BuildRequires: python2-devel python-nose
+BuildRequires: numpy scipy Cython python-patsy python-pandas
+BuildRequires: python-sphinx python-ipython-console
+BuildRequires: python-matplotlib
+# Included due to bug #1030396
+BuildRequires: python-matplotlib-qt4
+BuildRequires: tex-preview
+
+Requires: numpy scipy python-patsy python-pandas
+
+# we don't want to provide private python extension libs
+%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch})/.*\\.so$
+
+%description
+statsmodels is a Python module that provides classes and functions for the 
+estimation of many different statistical models, as well as for conducting 
+statistical tests, and statistical data exploration. An extensive list of 
+result statistics are available for each estimator. The results are tested 
+against existing statistical packages to ensure that they are correct.
+
+%package doc
+Summary: Documentation for %{name}, includes full API docs
+BuildArch: noarch
+ 
+%description doc
+This package contains the full API documentation for %{name}.
+
+%if 0%{?with_python3}
+%package -n python3-%{upname}
+Summary: Statistics in Python
+BuildRequires: python3-devel python3-nose
+BuildRequires: python3-numpy python3-scipy python3-Cython python3-patsy python3-pandas
+BuildRequires: python3-sphinx python3-matplotlib python3-ipython-console
+# Due to bug #1030396
+BuildRequires: python3-matplotlib-qt4
+BuildRequires: tex-preview
+
+Requires: python3-numpy python3-scipy python3-patsy python3-pandas
+
+%description -n python3-%{upname}
+statsmodels is a Python module that provides classes and functions for the 
+estimation of many different statistical models, as well as for conducting 
+statistical tests, and statistical data exploration. An extensive list of 
+result statistics are available for each estimator. The results are tested 
+against existing statistical packages to ensure that they are correct.
+
+%package -n python3-%{upname}-doc
+Summary: Documentation for %{name}, includes full API docs
+BuildArch: noarch
+ 
+%description -n python3-%{upname}-doc
+This package contains the full API documentation for %{name}.
+
+%endif # with_python3
+
+%prep
+%setup -qn %{upname}-%{version}
+%patch0 -p1
+# remove shebang
+sed -i -e "1d" statsmodels/datasets/engel/data.py
+sed -i -e "1d" statsmodels/datasets/fair/data.py
+sed -i -e "1d" statsmodels/datasets/statecrime/data.py
+sed -i -e "1d" statsmodels/datasets/strikes/data.py
+sed -i -e "1d" statsmodels/datasets/template_data.py
+sed -i -e "1d" statsmodels/sandbox/examples/example_pca.py
+sed -i -e "1d" statsmodels/tools/print_version.py
+sed -i -e "1d" statsmodels/regression/quantile_regression.py
+sed -i -e "1d" statsmodels/tsa/setup.py
+# copy other files names LICENSE.txt
+cp -a statsmodels/stats/libqsturng/LICENSE.txt LICENSE.libqsturng.txt
+cp -a statsmodels/LICENSE.txt LICENSE.statsmodels.txt
+cp -a statsmodels/datasets/README.txt README.datasets.txt
+cp -a statsmodels/datasets/COPYING COPYING.datasets
+
+%if 0%{?with_python3}
+rm -rf %{py3dir}
+cp -a . %{py3dir}
+find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
+%endif # with_python3
+
+find -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python}|'
+
+%build
+CFLAGS="%{optflags}" %{__python2} setup.py build 
+%{__python2} setup.py build_sphinx
+rm -f build/sphinx/html/.buildinfo
+
+%if 0%{?with_python3}
+pushd %{py3dir}
+CFLAGS="%{optflags}" %{__python3} setup.py build
+# Not working
+#%{__python3} setup.py build_sphinx
+popd
+# Copying the python2 docs for the moment
+mkdir -p docs/_build3/
+cp -a build/sphinx/html build/sphinx3
+%endif # with_python3
+
+%install
+%if 0%{?with_python3}
+pushd %{py3dir}
+%{__python3} setup.py install --skip-build --root %{buildroot}
+popd
+%endif # with_python3
+
+%{__python2} setup.py install --skip-build --root %{buildroot}
+
+find %{buildroot} -name "*.so" | xargs chmod 755
+
+# Remove files that shouldn't be installed
+pushd %{buildroot}/%{python2_sitearch}/%{upname}
+rm LICENSE.txt TODO.txt
+rm stats/libqsturng/LICENSE.txt
+rm sandbox/tools/TODO.txt
+rm datasets/README.txt
+rm datasets/COPYING
+
+find -name "*.c" -delete 
+find -name "*.pyx" -delete
+rmdir src
+popd
+
+%check
+# Fake matplotlibrc
+mkdir matplotlib
+touch matplotlib/matplotlibrc
+export XDG_CONFIG_HOME=`pwd`
+pushd %{buildroot}/%{python2_sitearch}
+nosetests-%{python2_version} %{upname}
+popd
+%if 0%{?with_python3}
+pushd %{buildroot}/%{python3_sitearch}
+nosetests-%{python3_version} %{upname}
+popd
+%endif # with_python3
+ 
+
+%files
+%doc LICENSE.txt COPYRIGHTS.txt README_l1.txt README.txt LICENSE.libqsturng.txt LICENSE.statsmodels.txt README.datasets.txt COPYING.datasets
+%{python2_sitearch}/*
+
+%files doc
+%doc LICENSE.txt COPYRIGHTS.txt README_l1.txt README.txt examples build/sphinx/html LICENSE.libqsturng.txt LICENSE.statsmodels.txt README.datasets.txt COPYING.datasets
+
+%if 0%{?with_python3}
+%files -n python3-%{upname}
+%doc LICENSE.txt COPYRIGHTS.txt README_l1.txt README.txt LICENSE.libqsturng.txt LICENSE.statsmodels.txt README.datasets.txt COPYING.datasets
+%{python3_sitearch}/*
+
+%files -n python3-%{upname}-doc
+%doc LICENSE.txt COPYRIGHTS.txt README_l1.txt README.txt examples build/sphinx3/html LICENSE.libqsturng.txt LICENSE.statsmodels.txt README.datasets.txt COPYING.datasets
+
+%endif # with_python3
+
+%changelog
+* Mon Jan 20 2014 Sergio Pascual <sergiopr at fedoraproject.org> - 0.5.0-6
+- Add README.txt and COPYING from datasets to doc
+
+* Sun Jan 19 2014 Sergio Pascual <sergiopr at fedoraproject.org> - 0.5.0-5
+- Added url for bug report of removed tests
+- Minor fixes in the spec
+- Included other LICENSE.txt in the documentation
+
+* Wed Jan 15 2014 Sergio Pascual <sergiopr at fedoraproject.org> - 0.5.0-4
+- Use an empty matplotlibrc for tests
+
+* Wed Jan 15 2014 Sergio Pascual <sergiopr at fedoraproject.org> - 0.5.0-3
+- Patch those tests that fail
+
+* Fri Jan 10 2014 Sergio Pascual <sergiopr at fedoraproject.org> - 0.5.0-2
+- Add ipython to build documentation
+
+* Fri Jan 10 2014 Sergio Pascual <sergiopr at fedoraproject.org> - 0.5.0-1
+- Initial spec
+
diff --git a/sources b/sources
index e69de29..01a8ed3 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+c65454d97f869ac0e5bb3a2757ec6bd5  statsmodels-0.5.0.tar.gz
diff --git a/statsmodels-skiptests.patch b/statsmodels-skiptests.patch
new file mode 100644
index 0000000..3f1b63f
--- /dev/null
+++ b/statsmodels-skiptests.patch
@@ -0,0 +1,48 @@
+diff -ur statsmodels-0.5.0/statsmodels/emplike/tests/test_regression.py statsmodels-0.5.0.ignoretest/statsmodels/emplike/tests/test_regression.py
+--- statsmodels-0.5.0/statsmodels/emplike/tests/test_regression.py	2014-01-15 13:41:01.291642617 +0100
++++ statsmodels-0.5.0.ignoretest/statsmodels/emplike/tests/test_regression.py	2014-01-15 13:42:32.842362114 +0100
+@@ -144,7 +144,7 @@
+         beta1ci = self.res1.conf_int_el(1, method='nm')
+         assert_almost_equal(beta1ci, self.res2.test_ci_beta1, 6)
+ 
+-    def test_ci_beta2(self):
++    def notest_ci_beta2(self):
+         beta2ci = self.res1.conf_int_el(2, lower_bound=.59, upper_bound=2.2,  method='nm')
+         assert_almost_equal(beta2ci, self.res2.test_ci_beta2, 6)
+ 
+diff -ur statsmodels-0.5.0/statsmodels/regression/tests/test_regression.py statsmodels-0.5.0.ignoretest/statsmodels/regression/tests/test_regression.py
+--- statsmodels-0.5.0/statsmodels/regression/tests/test_regression.py	2014-01-15 13:41:01.134641383 +0100
++++ statsmodels-0.5.0.ignoretest/statsmodels/regression/tests/test_regression.py	2014-01-15 13:43:47.291947102 +0100
+@@ -655,7 +655,7 @@
+     np.testing.assert_equal(conf_int.shape, (1, 2))
+     np.testing.assert_(isinstance(conf_int, pandas.DataFrame))
+ 
+-def test_summary():
++def notest_summary():
+     # test 734
+     import re
+     dta = longley.load_pandas()
+diff -ur statsmodels-0.5.0/statsmodels/tools/tests/test_numdiff.py statsmodels-0.5.0.ignoretest/statsmodels/tools/tests/test_numdiff.py
+--- statsmodels-0.5.0/statsmodels/tools/tests/test_numdiff.py	2014-01-15 13:41:01.158641571 +0100
++++ statsmodels-0.5.0.ignoretest/statsmodels/tools/tests/test_numdiff.py	2014-01-15 13:44:34.308316483 +0100
+@@ -204,7 +204,7 @@
+             gcs = numdiff.approx_fprime_cs(test_params, fun, args=self.args)
+             assert_almost_equal(gtrue, gcs, decimal=DEC13)
+ 
+-    def test_hess_fun1_fd(self):
++    def notest_hess_fun1_fd(self):
+         for test_params in self.params:
+             #hetrue = 0
+             hetrue = self.hesstrue(test_params)
+diff -ur statsmodels-0.5.0/statsmodels/tsa/tests/test_ar.py statsmodels-0.5.0.ignoretest/statsmodels/tsa/tests/test_ar.py
+--- statsmodels-0.5.0/statsmodels/tsa/tests/test_ar.py	2014-01-15 13:41:01.201641909 +0100
++++ statsmodels-0.5.0.ignoretest/statsmodels/tsa/tests/test_ar.py	2014-01-15 13:45:22.385695021 +0100
+@@ -120,7 +120,7 @@
+         cls.res1 = AR(data.endog).fit(maxlag=9,method="mle", disp=-1)
+         cls.res2 = results_ar.ARResultsMLE(constant=True)
+ 
+-    def test_predict(self):
++    def notest_predict(self):
+         model = self.res1.model
+         params = self.res1.params
+         assert_almost_equal(model.predict(params), self.res2.FVMLEdefault,


More information about the scm-commits mailing list