dev-python/pandas: new package, add 2.1.4

Signed-off-by: Andreas Billmeier <b@edevau.net>
This commit is contained in:
Andreas Billmeier 2024-04-17 13:28:41 +02:00
parent 3ee33d45ff
commit 9d92431cd3
Signed by: onkelbeh
GPG Key ID: E6DB12C8C550F3C0
6 changed files with 312 additions and 4 deletions

View File

@ -617,14 +617,14 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E
## Licenses
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.
There are 1774 Ebuilds in total, 1763 of them have in total 1783 (42 different) licenses assigned.
There are 1775 Ebuilds in total, 1764 of them have in total 1784 (42 different) licenses assigned.
|License| Ebuilds using it|
|-------|-----|
|MIT|1008|
|Apache-2.0|398|
|GPL-3|106|
|BSD|102|
|BSD|103|
|LGPL-3|25|
|GPL-2|21|
|LGPL-3+|14|
@ -664,9 +664,9 @@ There are 1774 Ebuilds in total, 1763 of them have in total 1783 (42 different)
|GPL-2+|1|
|GPL-2-with-linking-exception|1|
(Last counted: 12/04/2024)
(Last counted: 17/04/2024)
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.
A big thanks goes to Iris for reviewing this README.
Last updated: 12/04/2024
Last updated: 17/04/2024

View File

@ -0,0 +1,5 @@
AUX pandas-2.1.1-which.patch 393 BLAKE2B d5a988d64efbe28a1d2e533eae2d2ac88a31a08697a112682af1fce07429fff7e7846fe378d6ab487cf8aebf30b357c022763f5fc578e6b90c7ced1ea1af97f1 SHA512 3e7895561aab74e3b3afbad46f371f97fa4ae7b7f8158961896114a9c62e9a4544e81f9cdce983029809a95cc23350bb9698d8b4acc92f34e3a5b844b7811edb
AUX pandas-2.1.4-khash-dep.patch 1970 BLAKE2B fcd7b7426156de6061831a4a88c29a129cd2e860e8df33b44c4824a0dad448f088b0636cf5d9cfbc12894855580be990a30574e3a2374167240bf69239075dd5 SHA512 7a3a4bb61f4578b9a9b32134d5ff4c2772a387fcc77ec3c71a62bf9b33874c51a15e4f9097e922a1ac669cc150acd2d2f6ab086f759b838694105d5fd17a9a31
DIST pandas-2.1.4.tar.gz 4274800 BLAKE2B 71cd374964d5e751a9ea0b29cb341d7de521de8de3bbe0963fc821eb6fa2babf2a5cb87c0f49fab88fd451bd331d83fd216f199c75876d7c1ea367ba53c20178 SHA512 de02944829ea4df6a3913788c2ae30683504d70a1cef5789c927245dab8700981edd50de18af3619d30ac97f4658fce67f6c7637acf496bd464ad3a4109bfd1c
EBUILD pandas-2.1.4.ebuild 9168 BLAKE2B b7ed84231f112a4ea4106c4690f77d731eab53c89cd5401348bd6b7163bd3b970fc7c20d00f06b558308a2ba14846c1d0236e16f2a1dfdf973a28ae09444e685 SHA512 15f10d843b8a3ca15e024c3e6411d7d23b2d42c762633c922f46835000d6c1b7642a49841f4ef11fa5d97f3aae6e9ad66ca864549fc5e14870953f0c806ce7fb
MISC metadata.xml 920 BLAKE2B d6bd854acdd851d578038657d91adaedf4f220dbdc5905ebba5e35e74437c6d5bc2384061f7796a6f359aa128c526485635debfd0e1a9646d09daed740167c87 SHA512 dcd949e89cae9df918acb3cf8be5ad8c396ee5e646d2179aa2b646fafa15ffc11e9ccf853df8d7fdcc787f88ce7063639d8d87715aaba943774edc8ad98b540a

View File

@ -0,0 +1,12 @@
diff --git a/pandas/io/clipboard/__init__.py b/pandas/io/clipboard/__init__.py
index c07f51d875..14d79fb367 100644
--- a/pandas/io/clipboard/__init__.py
+++ b/pandas/io/clipboard/__init__.py
@@ -87,6 +87,7 @@ else:
def _executable_exists(name):
+ return which(name)
return (
subprocess.call(
[WHICH_CMD, name], stdout=subprocess.PIPE, stderr=subprocess.PIPE

View File

@ -0,0 +1,45 @@
From e31a6865958442435ae9b31f312129c44f66eb5e Mon Sep 17 00:00:00 2001
From: Ville Aikas <11279988+vaikas@users.noreply.github.com>
Date: Mon, 6 Nov 2023 09:24:40 -0800
Subject: [PATCH] Add missing dependencies for: _khash_primitive_helper
(#55795)
* Add missing dependencies for: _khash_primitive_helper
Signed-off-by: Ville Aikas <vaikas@chainguard.dev>
* source->dep change.
Signed-off-by: Ville Aikas <vaikas@chainguard.dev>
* Remove dep from arrays.
Signed-off-by: Ville Aikas <vaikas@chainguard.dev>
---------
Signed-off-by: Ville Aikas <vaikas@chainguard.dev>
---
pandas/_libs/meson.build | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pandas/_libs/meson.build b/pandas/_libs/meson.build
index b4662d6bf8dd2..c27386743c6e9 100644
--- a/pandas/_libs/meson.build
+++ b/pandas/_libs/meson.build
@@ -61,12 +61,12 @@ subdir('tslibs')
libs_sources = {
# Dict of extension name -> dict of {sources, include_dirs, and deps}
# numpy include dir is implicitly included
- 'algos': {'sources': ['algos.pyx', _algos_common_helper, _algos_take_helper, _khash_primitive_helper]},
+ 'algos': {'sources': ['algos.pyx', _algos_common_helper, _algos_take_helper], 'deps': _khash_primitive_helper_dep},
'arrays': {'sources': ['arrays.pyx']},
'groupby': {'sources': ['groupby.pyx']},
'hashing': {'sources': ['hashing.pyx']},
- 'hashtable': {'sources': ['hashtable.pyx', _khash_primitive_helper, _hashtable_class_helper, _hashtable_func_helper]},
- 'index': {'sources': ['index.pyx', _index_class_helper]},
+ 'hashtable': {'sources': ['hashtable.pyx', _hashtable_class_helper, _hashtable_func_helper], 'deps': _khash_primitive_helper_dep},
+ 'index': {'sources': ['index.pyx', _index_class_helper], 'deps': _khash_primitive_helper_dep},
'indexing': {'sources': ['indexing.pyx']},
'internals': {'sources': ['internals.pyx']},
'interval': {'sources': ['interval.pyx', _intervaltree_helper],

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<longdescription lang="en">
Pandas is a Python package providing fast, flexible, and expressive
data structures designed to make working with "relational" or
"labeled" data both easy and intuitive. It aims to be the
fundamental high-level building block for doing practical, real
world data analysis in Python.
</longdescription>
<use>
<flag name="full-support">Pull all packages to give pandas full support</flag>
</use>
<upstream>
<remote-id type="pypi">pandas</remote-id>
<remote-id type="github">pandas-dev/pandas</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,221 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
PYTHON_COMPAT=( python3_{11..12} )
PYTHON_REQ_USE="threads(+)"
VIRTUALX_REQUIRED="manual"
inherit distutils-r1 optfeature pypi virtualx
DESCRIPTION="Powerful data structures for data analysis and statistics"
HOMEPAGE="
https://pandas.pydata.org/
https://github.com/pandas-dev/pandas/
https://pypi.org/project/pandas/
"
SLOT="0"
LICENSE="BSD"
KEYWORDS="amd64 arm arm64 x86"
IUSE="full-support minimal test X"
RESTRICT="!test? ( test )"
RECOMMENDED_DEPEND="
>=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
>=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
"
# TODO: add pandas-gbq to the tree
# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
# https://github.com/statsmodels/statsmodels/issues/8287
OPTIONAL_DEPEND="
>=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
dev-python/blosc[${PYTHON_USEDEP}]
>=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
>=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
>=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
>=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
>=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
>=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
>=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
>=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
>=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
>=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
>=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
!arm? ( !hppa? ( !ppc? ( !x86? (
$(python_gen_cond_dep '
dev-python/statsmodels[${PYTHON_USEDEP}]
' python3_{8..10} )
>=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
) ) ) )
X? (
|| (
>=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
>=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
x11-misc/xclip
x11-misc/xsel
)
)
"
DEPEND="
<dev-python/numpy-2[${PYTHON_USEDEP}]
>=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
"
COMMON_DEPEND="
${DEPEND}
>=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
>=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
"
BDEPEND="
${COMMON_DEPEND}
>=dev-build/meson-1.2.1
>=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
test? (
${VIRTUALX_DEPEND}
${RECOMMENDED_DEPEND}
${OPTIONAL_DEPEND}
>=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
>=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
>=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
>=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
>=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
x11-misc/xclip
x11-misc/xsel
)
"
RDEPEND="
${COMMON_DEPEND}
dev-python/tzdata[${PYTHON_USEDEP}]
!minimal? ( ${RECOMMENDED_DEPEND} )
full-support? ( ${OPTIONAL_DEPEND} )
"
PATCHES=(
# a quick hack, it's already fixed in main
"${FILESDIR}/pandas-2.1.1-which.patch"
# https://github.com/pandas-dev/pandas/commit/e31a6865958442435ae9b31f312129c44f66eb5e
"${FILESDIR}/pandas-2.1.4-khash-dep.patch"
)
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_test() {
virtx distutils-r1_src_test
}
python_test() {
local EPYTEST_DESELECT=(
# test for rounding errors, fails if we have better precision
# e.g. on amd64 with FMA or on arm64
# https://github.com/pandas-dev/pandas/issues/38921
tests/window/test_rolling.py::test_rolling_var_numerical_issues
# TODO; unhappy about DISPLAY?
tests/test_downstream.py::test_seaborn
# OOMs
tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
# TODO: numexpr says "forbidden control characters"
tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
# TODO: missing data not covered by --no-strict-data-files?
tests/io/xml/test_xml.py::test_empty_stylesheet
tests/io/xml/test_xml.py::test_wrong_file_path
# TODO
tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
# deprecation warning
tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
# Needs 64-bit time_t (TODO: split into 32-bit arch only section)
tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
# hdf / pytables have alignment problems: bug #911660
# https://github.com/pandas-dev/pandas/issues/54396
tests/io/pytables/test_append.py::test_append_frame_column_oriented
tests/io/pytables/test_store.py::test_select_filter_corner
# blosc2 version
tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
)
case ${EPYTHON} in
python3.12)
EPYTEST_DESELECT+=(
tests/io/pytables/test_select.py::test_select_dtypes
tests/io/pytables/test_select.py::test_frame_select
# deprecation warnings
tests/io/excel/test_writers.py::TestRoundTrip::test_read_excel_parse_dates
# some pytest-xdist problem?
tests/base/test_unique.py::test_unique_bad_unicode
)
;;
esac
local -x LC_ALL=C.UTF-8
cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
# --no-strict-data-files is necessary since upstream prevents data
# files from even being included in GitHub archives, sigh
# https://github.com/pandas-dev/pandas/issues/54907
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest pandas/tests \
--no-strict-data-files \
-m "not single and not slow and not network" ||
die "Tests failed with ${EPYTHON}"
rm test-data.xml || die
}
pkg_postinst() {
optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
optfeature "for msgpack compression using blosc" dev-python/blosc
optfeature "Template engine for conditional HTML formatting" dev-python/jinja
optfeature "Plotting support" dev-python/matplotlib
optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
optfeature "R I/O support" dev-python/rpy
optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
optfeature "miscellaneous statistical functions" dev-python/scipy
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
}