Gentoo Archives: gentoo-commits

From: Arthur Zamarin <arthurzam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/
Date: Thu, 23 Jun 2022 19:28:34
Message-Id: 1656012501.84c304ac176db51535c3a779ed9f9a6077232988.arthurzam@gentoo
1 commit: 84c304ac176db51535c3a779ed9f9a6077232988
2 Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 23 19:06:37 2022 +0000
4 Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 23 19:28:21 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84c304ac
7
8 dev-python/pandas: add 1.4.3
9
10 Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
11
12 dev-python/pandas/Manifest | 1 +
13 dev-python/pandas/pandas-1.4.3.ebuild | 197 ++++++++++++++++++++++++++++++++++
14 2 files changed, 198 insertions(+)
15
16 diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
17 index e22879384dff..657b035e520b 100644
18 --- a/dev-python/pandas/Manifest
19 +++ b/dev-python/pandas/Manifest
20 @@ -1 +1,2 @@
21 DIST pandas-1.4.2.tar.gz 4940242 BLAKE2B b44c9e46458b4e2919b2d215c8678601ef0976118197172ddc74fa712cf07b02cdb09b79940e90bf6907a45e7e3c63615292f7141a4fb8ed4ae22a36decd1e39 SHA512 6406241e30e9ed386610dd90bbb7407cfe3e94ff20c8fd1241aa75288894666f06e59f7c74b5f916080a3745254ba22ec9dad1195f040b613639b5712aced571
22 +DIST pandas-1.4.3.tar.gz 4941520 BLAKE2B b134f7c04c2478b7105214ed62e9adcaed98ffb4179a785f7887850d66702bf0f185d60a3da6de6226742529008bac614b494453dca929e477960ff3b43ef93d SHA512 d8d7575ce2b813361641d4e438844e03ed79179f5dcc56f2e4923bfeceab6f825a9bcc419e9492ee5e0272ea7c9bb9eeab6a0e242a880a87999df2a492436d8e
23
24 diff --git a/dev-python/pandas/pandas-1.4.3.ebuild b/dev-python/pandas/pandas-1.4.3.ebuild
25 new file mode 100644
26 index 000000000000..6c9f4d057959
27 --- /dev/null
28 +++ b/dev-python/pandas/pandas-1.4.3.ebuild
29 @@ -0,0 +1,197 @@
30 +# Copyright 1999-2022 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +
35 +DISTUTILS_USE_PEP517=setuptools
36 +PYTHON_COMPAT=( python3_{8..10} )
37 +PYTHON_REQ_USE="threads(+)"
38 +
39 +VIRTUALX_REQUIRED="manual"
40 +
41 +inherit distutils-r1 multiprocessing optfeature virtualx
42 +
43 +DESCRIPTION="Powerful data structures for data analysis and statistics"
44 +HOMEPAGE="https://pandas.pydata.org/
45 + https://github.com/pandas-dev/pandas/"
46 +SRC_URI="
47 + https://github.com/pandas-dev/pandas/releases/download/v${PV}/${P}.tar.gz
48 +"
49 +S="${WORKDIR}/${P/_/}"
50 +
51 +SLOT="0"
52 +LICENSE="BSD"
53 +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
54 +IUSE="doc full-support minimal test X"
55 +RESTRICT="!test? ( test )"
56 +
57 +RECOMMENDED_DEPEND="
58 + >=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}]
59 + >=dev-python/numexpr-2.7.0[${PYTHON_USEDEP}]
60 +"
61 +
62 +# TODO: add pandas-gbq to the tree
63 +OPTIONAL_DEPEND="
64 + dev-python/beautifulsoup4[${PYTHON_USEDEP}]
65 + dev-python/blosc[${PYTHON_USEDEP}]
66 + || (
67 + dev-python/html5lib[${PYTHON_USEDEP}]
68 + dev-python/lxml[${PYTHON_USEDEP}]
69 + )
70 + dev-python/jinja[${PYTHON_USEDEP}]
71 + dev-python/matplotlib[${PYTHON_USEDEP}]
72 + || (
73 + dev-python/openpyxl[${PYTHON_USEDEP}]
74 + dev-python/xlsxwriter[${PYTHON_USEDEP}]
75 + )
76 + >=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
77 + >=dev-python/xarray-0.12.3[${PYTHON_USEDEP}]
78 + >=dev-python/sqlalchemy-1.3.0[${PYTHON_USEDEP}]
79 + >=dev-python/xlrd-1.2.0[${PYTHON_USEDEP}]
80 + >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
81 + !hppa? (
82 + dev-python/statsmodels[${PYTHON_USEDEP}]
83 + >=dev-python/scipy-1.1[${PYTHON_USEDEP}]
84 + )
85 + X? (
86 + || (
87 + dev-python/PyQt5[${PYTHON_USEDEP}]
88 + x11-misc/xclip
89 + x11-misc/xsel
90 + )
91 + )
92 +"
93 +COMMON_DEPEND="
94 + >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
95 + >=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
96 + >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
97 +"
98 +DEPEND="
99 + ${COMMON_DEPEND}
100 + >=dev-python/cython-0.29.24[${PYTHON_USEDEP}]
101 + doc? (
102 + ${VIRTUALX_DEPEND}
103 + app-text/pandoc
104 + dev-python/beautifulsoup4[${PYTHON_USEDEP}]
105 + dev-python/html5lib[${PYTHON_USEDEP}]
106 + dev-python/ipython[${PYTHON_USEDEP}]
107 + dev-python/lxml[${PYTHON_USEDEP}]
108 + dev-python/matplotlib[${PYTHON_USEDEP}]
109 + dev-python/nbsphinx[${PYTHON_USEDEP}]
110 + >=dev-python/numpydoc-0.9.1[${PYTHON_USEDEP}]
111 + >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
112 + >=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
113 + dev-python/pytz[${PYTHON_USEDEP}]
114 + dev-python/rpy[${PYTHON_USEDEP}]
115 + dev-python/sphinx[${PYTHON_USEDEP}]
116 + dev-python/xlrd[${PYTHON_USEDEP}]
117 + dev-python/xlwt[${PYTHON_USEDEP}]
118 + dev-python/scipy[${PYTHON_USEDEP}]
119 + x11-misc/xclip
120 + )
121 + test? (
122 + ${VIRTUALX_DEPEND}
123 + ${RECOMMENDED_DEPEND}
124 + ${OPTIONAL_DEPEND}
125 + dev-python/beautifulsoup4[${PYTHON_USEDEP}]
126 + >=dev-python/hypothesis-5.5.3[${PYTHON_USEDEP}]
127 + dev-python/openpyxl[${PYTHON_USEDEP}]
128 + dev-python/pymysql[${PYTHON_USEDEP}]
129 + >=dev-python/pytest-6[${PYTHON_USEDEP}]
130 + >=dev-python/pytest-xdist-1.31[${PYTHON_USEDEP}]
131 + dev-python/psycopg:2[${PYTHON_USEDEP}]
132 + dev-python/xlsxwriter[${PYTHON_USEDEP}]
133 + x11-misc/xclip
134 + x11-misc/xsel
135 + )
136 +"
137 +# dev-python/statsmodels invokes a circular dep
138 +# hence rm from doc? ( ), again
139 +RDEPEND="
140 + ${COMMON_DEPEND}
141 + !minimal? ( ${RECOMMENDED_DEPEND} )
142 + full-support? ( ${OPTIONAL_DEPEND} )
143 +"
144 +
145 +python_prepare_all() {
146 + # Prevent un-needed download during build
147 + sed -e "/^ 'sphinx.ext.intersphinx',/d" \
148 + -i doc/source/conf.py || die
149 +
150 + # requires package installed
151 + sed -e '/extra_compile_args =/s:"-Werror"::' \
152 + -i setup.py || die
153 +
154 + distutils-r1_python_prepare_all
155 +}
156 +
157 +python_compile() {
158 + distutils-r1_python_compile -j1
159 +}
160 +
161 +python_compile_all() {
162 + # To build docs the need be located in $BUILD_DIR,
163 + # else PYTHONPATH points to unusable modules.
164 + if use doc; then
165 + cd "${BUILD_DIR}"/lib || die
166 + cp -ar "${S}"/doc . && cd doc || die
167 + LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
168 + fi
169 +}
170 +
171 +src_test() {
172 + virtx distutils-r1_src_test
173 +}
174 +
175 +python_test() {
176 + local EPYTEST_DESELECT=(
177 + # test for rounding errors, fails if we have better precision
178 + # e.g. on amd64 with FMA or on arm64
179 + # https://github.com/pandas-dev/pandas/issues/38921
180 + pandas/tests/window/test_rolling.py::test_rolling_var_numerical_issues
181 +
182 + # TODO
183 + pandas/tests/api/test_api.py::TestTesting::test_util_testing_deprecated
184 + pandas/tests/api/test_api.py::TestTesting::test_util_testing_deprecated_direct
185 +
186 + # TODO: these require a running db server
187 + pandas/tests/io/test_sql.py::TestMySQLAlchemy
188 + pandas/tests/io/test_sql.py::TestMySQLAlchemyConn
189 + pandas/tests/io/test_sql.py::TestPostgreSQLAlchemy
190 + pandas/tests/io/test_sql.py::TestPostgreSQLAlchemyConn
191 + )
192 +
193 + local -x LC_ALL=C.UTF-8
194 + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
195 + "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
196 + epytest pandas --skip-slow --skip-network -m "not single" \
197 + -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" ||
198 + die "Tests failed with ${EPYTHON}"
199 +}
200 +
201 +python_install_all() {
202 + if use doc; then
203 + dodoc -r "${BUILD_DIR}"/lib/doc/build/html
204 + einfo "An initial build of docs is absent of references to statsmodels"
205 + einfo "due to circular dependency. To have them included, emerge"
206 + einfo "statsmodels next and re-emerge pandas with USE doc"
207 + fi
208 +
209 + distutils-r1_python_install_all
210 +}
211 +
212 +pkg_postinst() {
213 + optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
214 + optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
215 + optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
216 + optfeature "for msgpack compression using blosc" dev-python/blosc
217 + optfeature "Template engine for conditional HTML formatting" dev-python/jinja
218 + optfeature "Plotting support" dev-python/matplotlib
219 + optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.0" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
220 + optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
221 + optfeature "R I/O support" dev-python/rpy
222 + optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
223 + optfeature "SQL database support" ">=dev-python/sqlalchemy-1.3.0"
224 + optfeature "miscellaneous statistical functions" dev-python/scipy
225 + optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
226 +}