Skip to content

Commit 9d92431

Browse files
committed
dev-python/pandas: new package, add 2.1.4
Signed-off-by: Andreas Billmeier <[email protected]>
1 parent 3ee33d4 commit 9d92431

File tree

6 files changed

+312
-4
lines changed

6 files changed

+312
-4
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -617,14 +617,14 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E
617617

618618
## Licenses
619619
This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted.
620-
There are 1774 Ebuilds in total, 1763 of them have in total 1783 (42 different) licenses assigned.
620+
There are 1775 Ebuilds in total, 1764 of them have in total 1784 (42 different) licenses assigned.
621621

622622
|License| Ebuilds using it|
623623
|-------|-----|
624624
|MIT|1008|
625625
|Apache-2.0|398|
626626
|GPL-3|106|
627-
|BSD|102|
627+
|BSD|103|
628628
|LGPL-3|25|
629629
|GPL-2|21|
630630
|LGPL-3+|14|
@@ -664,9 +664,9 @@ There are 1774 Ebuilds in total, 1763 of them have in total 1783 (42 different)
664664
|GPL-2+|1|
665665
|GPL-2-with-linking-exception|1|
666666

667-
(Last counted: 12/04/2024)
667+
(Last counted: 17/04/2024)
668668

669669
I did my best to keep these clean. If a valid license was published on PyPI, it has been automatically merged. Otherwise I took it from GitHub or alternatively from comments/files in the source. Sometimes these differed and have been not unique. All license strings are adjusted to the list in `/usr/portage/gentoo/licenses/`. Some packages do not have any license published. In this case, Authors have been asked for clarification, some did not respond. Following the [official Gentoo Guide](https://devmanual.gentoo.org/general-concepts/licenses/index.html), these then were added with an `all-rights-reserved` license and `RESTRICT="mirror"` was set. Find the appropriate licenses referenced in the Ebuild files and in the corresponding homepages or sources.
670670

671671
A big thanks goes to Iris for reviewing this README.
672-
Last updated: 12/04/2024
672+
Last updated: 17/04/2024

dev-python/pandas/Manifest

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
AUX pandas-2.1.1-which.patch 393 BLAKE2B d5a988d64efbe28a1d2e533eae2d2ac88a31a08697a112682af1fce07429fff7e7846fe378d6ab487cf8aebf30b357c022763f5fc578e6b90c7ced1ea1af97f1 SHA512 3e7895561aab74e3b3afbad46f371f97fa4ae7b7f8158961896114a9c62e9a4544e81f9cdce983029809a95cc23350bb9698d8b4acc92f34e3a5b844b7811edb
2+
AUX pandas-2.1.4-khash-dep.patch 1970 BLAKE2B fcd7b7426156de6061831a4a88c29a129cd2e860e8df33b44c4824a0dad448f088b0636cf5d9cfbc12894855580be990a30574e3a2374167240bf69239075dd5 SHA512 7a3a4bb61f4578b9a9b32134d5ff4c2772a387fcc77ec3c71a62bf9b33874c51a15e4f9097e922a1ac669cc150acd2d2f6ab086f759b838694105d5fd17a9a31
3+
DIST pandas-2.1.4.tar.gz 4274800 BLAKE2B 71cd374964d5e751a9ea0b29cb341d7de521de8de3bbe0963fc821eb6fa2babf2a5cb87c0f49fab88fd451bd331d83fd216f199c75876d7c1ea367ba53c20178 SHA512 de02944829ea4df6a3913788c2ae30683504d70a1cef5789c927245dab8700981edd50de18af3619d30ac97f4658fce67f6c7637acf496bd464ad3a4109bfd1c
4+
EBUILD pandas-2.1.4.ebuild 9168 BLAKE2B b7ed84231f112a4ea4106c4690f77d731eab53c89cd5401348bd6b7163bd3b970fc7c20d00f06b558308a2ba14846c1d0236e16f2a1dfdf973a28ae09444e685 SHA512 15f10d843b8a3ca15e024c3e6411d7d23b2d42c762633c922f46835000d6c1b7642a49841f4ef11fa5d97f3aae6e9ad66ca864549fc5e14870953f0c806ce7fb
5+
MISC metadata.xml 920 BLAKE2B d6bd854acdd851d578038657d91adaedf4f220dbdc5905ebba5e35e74437c6d5bc2384061f7796a6f359aa128c526485635debfd0e1a9646d09daed740167c87 SHA512 dcd949e89cae9df918acb3cf8be5ad8c396ee5e646d2179aa2b646fafa15ffc11e9ccf853df8d7fdcc787f88ce7063639d8d87715aaba943774edc8ad98b540a
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/pandas/io/clipboard/__init__.py b/pandas/io/clipboard/__init__.py
2+
index c07f51d875..14d79fb367 100644
3+
--- a/pandas/io/clipboard/__init__.py
4+
+++ b/pandas/io/clipboard/__init__.py
5+
@@ -87,6 +87,7 @@ else:
6+
7+
8+
def _executable_exists(name):
9+
+ return which(name)
10+
return (
11+
subprocess.call(
12+
[WHICH_CMD, name], stdout=subprocess.PIPE, stderr=subprocess.PIPE
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
From e31a6865958442435ae9b31f312129c44f66eb5e Mon Sep 17 00:00:00 2001
2+
From: Ville Aikas <[email protected]>
3+
Date: Mon, 6 Nov 2023 09:24:40 -0800
4+
Subject: [PATCH] Add missing dependencies for: _khash_primitive_helper
5+
(#55795)
6+
7+
* Add missing dependencies for: _khash_primitive_helper
8+
9+
Signed-off-by: Ville Aikas <[email protected]>
10+
11+
* source->dep change.
12+
13+
Signed-off-by: Ville Aikas <[email protected]>
14+
15+
* Remove dep from arrays.
16+
17+
Signed-off-by: Ville Aikas <[email protected]>
18+
19+
---------
20+
21+
Signed-off-by: Ville Aikas <[email protected]>
22+
---
23+
pandas/_libs/meson.build | 6 +++---
24+
1 file changed, 3 insertions(+), 3 deletions(-)
25+
26+
diff --git a/pandas/_libs/meson.build b/pandas/_libs/meson.build
27+
index b4662d6bf8dd2..c27386743c6e9 100644
28+
--- a/pandas/_libs/meson.build
29+
+++ b/pandas/_libs/meson.build
30+
@@ -61,12 +61,12 @@ subdir('tslibs')
31+
libs_sources = {
32+
# Dict of extension name -> dict of {sources, include_dirs, and deps}
33+
# numpy include dir is implicitly included
34+
- 'algos': {'sources': ['algos.pyx', _algos_common_helper, _algos_take_helper, _khash_primitive_helper]},
35+
+ 'algos': {'sources': ['algos.pyx', _algos_common_helper, _algos_take_helper], 'deps': _khash_primitive_helper_dep},
36+
'arrays': {'sources': ['arrays.pyx']},
37+
'groupby': {'sources': ['groupby.pyx']},
38+
'hashing': {'sources': ['hashing.pyx']},
39+
- 'hashtable': {'sources': ['hashtable.pyx', _khash_primitive_helper, _hashtable_class_helper, _hashtable_func_helper]},
40+
- 'index': {'sources': ['index.pyx', _index_class_helper]},
41+
+ 'hashtable': {'sources': ['hashtable.pyx', _hashtable_class_helper, _hashtable_func_helper], 'deps': _khash_primitive_helper_dep},
42+
+ 'index': {'sources': ['index.pyx', _index_class_helper], 'deps': _khash_primitive_helper_dep},
43+
'indexing': {'sources': ['indexing.pyx']},
44+
'internals': {'sources': ['internals.pyx']},
45+
'interval': {'sources': ['interval.pyx', _intervaltree_helper],

dev-python/pandas/metadata.xml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
3+
<pkgmetadata>
4+
<maintainer type="project">
5+
<email>[email protected]</email>
6+
<name>Gentoo Science Project</name>
7+
</maintainer>
8+
<maintainer type="project">
9+
<email>[email protected]</email>
10+
</maintainer>
11+
<longdescription lang="en">
12+
Pandas is a Python package providing fast, flexible, and expressive
13+
data structures designed to make working with "relational" or
14+
"labeled" data both easy and intuitive. It aims to be the
15+
fundamental high-level building block for doing practical, real
16+
world data analysis in Python.
17+
</longdescription>
18+
<use>
19+
<flag name="full-support">Pull all packages to give pandas full support</flag>
20+
</use>
21+
<upstream>
22+
<remote-id type="pypi">pandas</remote-id>
23+
<remote-id type="github">pandas-dev/pandas</remote-id>
24+
</upstream>
25+
</pkgmetadata>

dev-python/pandas/pandas-2.1.4.ebuild

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
# Copyright 1999-2024 Gentoo Authors
2+
# Distributed under the terms of the GNU General Public License v2
3+
4+
EAPI=8
5+
6+
DISTUTILS_EXT=1
7+
DISTUTILS_USE_PEP517=meson-python
8+
PYTHON_COMPAT=( python3_{11..12} )
9+
PYTHON_REQ_USE="threads(+)"
10+
11+
VIRTUALX_REQUIRED="manual"
12+
13+
inherit distutils-r1 optfeature pypi virtualx
14+
15+
DESCRIPTION="Powerful data structures for data analysis and statistics"
16+
HOMEPAGE="
17+
https://pandas.pydata.org/
18+
https://github.com/pandas-dev/pandas/
19+
https://pypi.org/project/pandas/
20+
"
21+
22+
SLOT="0"
23+
LICENSE="BSD"
24+
KEYWORDS="amd64 arm arm64 x86"
25+
IUSE="full-support minimal test X"
26+
RESTRICT="!test? ( test )"
27+
28+
RECOMMENDED_DEPEND="
29+
>=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
30+
>=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
31+
"
32+
33+
# TODO: add pandas-gbq to the tree
34+
# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
35+
# https://github.com/statsmodels/statsmodels/issues/8287
36+
OPTIONAL_DEPEND="
37+
>=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
38+
dev-python/blosc[${PYTHON_USEDEP}]
39+
>=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
40+
>=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
41+
>=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
42+
>=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
43+
>=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
44+
>=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
45+
>=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
46+
>=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
47+
>=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
48+
>=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
49+
>=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
50+
>=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
51+
!arm? ( !hppa? ( !ppc? ( !x86? (
52+
$(python_gen_cond_dep '
53+
dev-python/statsmodels[${PYTHON_USEDEP}]
54+
' python3_{8..10} )
55+
>=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
56+
) ) ) )
57+
X? (
58+
|| (
59+
>=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
60+
>=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
61+
x11-misc/xclip
62+
x11-misc/xsel
63+
)
64+
)
65+
"
66+
DEPEND="
67+
<dev-python/numpy-2[${PYTHON_USEDEP}]
68+
>=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
69+
"
70+
COMMON_DEPEND="
71+
${DEPEND}
72+
>=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
73+
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
74+
"
75+
BDEPEND="
76+
${COMMON_DEPEND}
77+
>=dev-build/meson-1.2.1
78+
>=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
79+
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
80+
test? (
81+
${VIRTUALX_DEPEND}
82+
${RECOMMENDED_DEPEND}
83+
${OPTIONAL_DEPEND}
84+
>=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
85+
>=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
86+
>=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
87+
>=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
88+
>=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
89+
x11-misc/xclip
90+
x11-misc/xsel
91+
)
92+
"
93+
RDEPEND="
94+
${COMMON_DEPEND}
95+
dev-python/tzdata[${PYTHON_USEDEP}]
96+
!minimal? ( ${RECOMMENDED_DEPEND} )
97+
full-support? ( ${OPTIONAL_DEPEND} )
98+
"
99+
100+
PATCHES=(
101+
# a quick hack, it's already fixed in main
102+
"${FILESDIR}/pandas-2.1.1-which.patch"
103+
# https://github.com/pandas-dev/pandas/commit/e31a6865958442435ae9b31f312129c44f66eb5e
104+
"${FILESDIR}/pandas-2.1.4-khash-dep.patch"
105+
)
106+
107+
EPYTEST_XDIST=1
108+
distutils_enable_tests pytest
109+
110+
src_test() {
111+
virtx distutils-r1_src_test
112+
}
113+
114+
python_test() {
115+
local EPYTEST_DESELECT=(
116+
# test for rounding errors, fails if we have better precision
117+
# e.g. on amd64 with FMA or on arm64
118+
# https://github.com/pandas-dev/pandas/issues/38921
119+
tests/window/test_rolling.py::test_rolling_var_numerical_issues
120+
121+
# TODO; unhappy about DISPLAY?
122+
tests/test_downstream.py::test_seaborn
123+
124+
# OOMs
125+
tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
126+
127+
# TODO: numexpr says "forbidden control characters"
128+
tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
129+
'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
130+
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
131+
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
132+
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
133+
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
134+
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
135+
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
136+
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
137+
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
138+
139+
# TODO: missing data not covered by --no-strict-data-files?
140+
tests/io/xml/test_xml.py::test_empty_stylesheet
141+
tests/io/xml/test_xml.py::test_wrong_file_path
142+
143+
# TODO
144+
tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
145+
146+
# deprecation warning
147+
tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
148+
'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
149+
150+
# Needs 64-bit time_t (TODO: split into 32-bit arch only section)
151+
tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
152+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
153+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
154+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
155+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
156+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
157+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
158+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
159+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
160+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
161+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
162+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
163+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
164+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
165+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
166+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
167+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
168+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
169+
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
170+
171+
# hdf / pytables have alignment problems: bug #911660
172+
# https://github.com/pandas-dev/pandas/issues/54396
173+
tests/io/pytables/test_append.py::test_append_frame_column_oriented
174+
tests/io/pytables/test_store.py::test_select_filter_corner
175+
176+
# blosc2 version
177+
tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
178+
)
179+
180+
case ${EPYTHON} in
181+
python3.12)
182+
EPYTEST_DESELECT+=(
183+
tests/io/pytables/test_select.py::test_select_dtypes
184+
tests/io/pytables/test_select.py::test_frame_select
185+
# deprecation warnings
186+
tests/io/excel/test_writers.py::TestRoundTrip::test_read_excel_parse_dates
187+
# some pytest-xdist problem?
188+
tests/base/test_unique.py::test_unique_bad_unicode
189+
)
190+
;;
191+
esac
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+
# --no-strict-data-files is necessary since upstream prevents data
197+
# files from even being included in GitHub archives, sigh
198+
# https://github.com/pandas-dev/pandas/issues/54907
199+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
200+
epytest pandas/tests \
201+
--no-strict-data-files \
202+
-m "not single and not slow and not network" ||
203+
die "Tests failed with ${EPYTHON}"
204+
rm test-data.xml || die
205+
}
206+
207+
pkg_postinst() {
208+
optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
209+
optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
210+
optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
211+
optfeature "for msgpack compression using blosc" dev-python/blosc
212+
optfeature "Template engine for conditional HTML formatting" dev-python/jinja
213+
optfeature "Plotting support" dev-python/matplotlib
214+
optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
215+
optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
216+
optfeature "R I/O support" dev-python/rpy
217+
optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
218+
optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
219+
optfeature "miscellaneous statistical functions" dev-python/scipy
220+
optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
221+
}

0 commit comments

Comments
 (0)