public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2015-11-16 11:12 Justin Lecher
  0 siblings, 0 replies; 10+ messages in thread
From: Justin Lecher @ 2015-11-16 11:12 UTC (permalink / raw
  To: gentoo-commits

commit:     48d6128e4748e88bce06c1ab675ee69f80fe9b66
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 16 11:11:55 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Mon Nov 16 11:12:45 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48d6128e

dev-python/pandas: Backport test fix

Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../files/pandas-0.17.0-testfix-backport.patch     | 28 ++++++++++++++++++++++
 dev-python/pandas/pandas-0.17.0.ebuild             |  4 ++++
 2 files changed, 32 insertions(+)

diff --git a/dev-python/pandas/files/pandas-0.17.0-testfix-backport.patch b/dev-python/pandas/files/pandas-0.17.0-testfix-backport.patch
new file mode 100644
index 0000000..c833192
--- /dev/null
+++ b/dev-python/pandas/files/pandas-0.17.0-testfix-backport.patch
@@ -0,0 +1,28 @@
+ pandas/tests/test_categorical.py | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/pandas/tests/test_categorical.py b/pandas/tests/test_categorical.py
+old mode 100755
+new mode 100644
+index e97010e..1d14323
+--- a/pandas/tests/test_categorical.py
++++ b/pandas/tests/test_categorical.py
+@@ -86,12 +86,14 @@ class TestCategorical(tm.TestCase):
+         factor = Categorical.from_array(arr, ordered=False)
+         self.assertFalse(factor.ordered)
+ 
+-        # this however will raise as cannot be sorted
+-        # but fixed in newer versions of numpy
+-        if LooseVersion(np.__version__) < "1.10":
++        if compat.PY3:
+             self.assertRaises(TypeError, lambda :  Categorical.from_array(arr, ordered=True))
+         else:
+-            Categorical.from_array(arr, ordered=True)
++            # this however will raise as cannot be sorted (on PY3 or older numpies)
++            if LooseVersion(np.__version__) < "1.10":
++                self.assertRaises(TypeError, lambda :  Categorical.from_array(arr, ordered=True))
++            else:
++                Categorical.from_array(arr, ordered=True)
+ 
+     def test_is_equal_dtype(self):
+ 

diff --git a/dev-python/pandas/pandas-0.17.0.ebuild b/dev-python/pandas/pandas-0.17.0.ebuild
index b5f984f..a3fd1ca 100644
--- a/dev-python/pandas/pandas-0.17.0.ebuild
+++ b/dev-python/pandas/pandas-0.17.0.ebuild
@@ -81,6 +81,10 @@ RDEPEND="${CDEPEND}
 	)
 	R? ( dev-python/rpy[${PYTHON_USEDEP}] )"
 
+PATCHES=(
+	"${FILESDIR}"/${P}-testfix-backport.patch
+)
+
 python_prepare_all() {
 	# Prevent un-needed download during build
 	sed -e "/^              'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2016-12-03 13:45 Justin Lecher
  0 siblings, 0 replies; 10+ messages in thread
From: Justin Lecher @ 2016-12-03 13:45 UTC (permalink / raw
  To: gentoo-commits

commit:     c8028ecb0e960b735506bf249ba143f96aad989f
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  3 13:45:01 2016 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Sat Dec  3 13:45:41 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8028ecb

dev-python/pandas: Version Bump

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=585184

Move to modern virtualx.eclass usage

Package-Manager: portage-2.3.2
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 dev-python/pandas/Manifest                       |   1 +
 dev-python/pandas/files/pandas-0.19.1-gapi.patch |  27 ++
 dev-python/pandas/files/pandas-0.19.1-seqf.patch | 357 +++++++++++++++++++++++
 dev-python/pandas/pandas-0.19.1.ebuild           | 166 +++++++++++
 dev-python/pandas/pandas-9999.ebuild             | 130 +++++----
 5 files changed, 631 insertions(+), 50 deletions(-)

diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index bb4cfe6..c7d4b01 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,3 +1,4 @@
 DIST pandas-0.16.2.tar.gz 4931751 SHA256 e01853dfe111f3aea005315573400b7216ddbabbf1f28d482a71217d67ae4f81 SHA512 44874e12a42a01dd7ed88f3f97e954732a534a5e2dc4815ef6203bdb2d88850a607e6631a35ae8fc79f4621a5dfaa34f39bb1c9a0ecfb17da1cf0c10f35ff27b WHIRLPOOL 6f2874ac07b49f4b2aaefdb87375b7c5adb31e3ff60c6b808f3e3467ad82999dd894de884ebbfd64fc7235e875d17ce871b516c96ff71a17310b708597168702
 DIST pandas-0.17.0.tar.gz 6508621 SHA256 320d4fdf734b82adebc8fde9d8ca4b05fe155a72b6f7aa95d76242da8748d6a4 SHA512 bae6964e263c7ff6cac722cdfe23081f23c357d9bc39a670b5627bef4630c236a58aa8c0393eae921721bf7049c8e5266b4dea71dd957da5d89dafc14a04797b WHIRLPOOL d654eb2f9ffbfedbde60e4a6e6ce6f54650a8a68b4d20035744aa55111525d6bba4dae2ccbfce65acf71bb200e2e6029c7f6c9bcc9d0c582d808444738baedb1
 DIST pandas-0.17.1.tar.gz 6674479 SHA256 cfd7214a7223703fe6999fbe34837749540efee1c985e6aee9933f30e3f72837 SHA512 9d9f9064585b1f3551625e0c8f4eedaaa1253790c2a5cb28e58e70eb805cc18f9770d793aa748cbd76798488ff60efdd01eb4b21daf5ad8f1dc4d9c050487234 WHIRLPOOL 5238575bd64b8d38db4f9a0ea987a7f78ffd1821e5a22bad65c84c407feca3af6f3b536a0a2f337291aa04e94c86fdb40382dad4ce50f8a33a5e26d655c628c2
+DIST pandas-0.19.1.tar.gz 8360233 SHA256 2509feaeda72fce03675e2eccd2284bb1cadb6a0737008a5e741fe2431d47421 SHA512 6451990a7fae8c6db8ab0b014a13b4f1828754d3998f13c17b111f891fb9fd23f8e09b907623096dfa55668c42298eee1373210a9fddb95f56dd7d552b964e6f WHIRLPOOL 700c0d819ab62134baf56430b7fa8840636ea377d00397341d33ec5f13474d9eeefea245aede80a80f7c16348ef811788947e5fe0020c9770005c74dd1288ef3

diff --git a/dev-python/pandas/files/pandas-0.19.1-gapi.patch b/dev-python/pandas/files/pandas-0.19.1-gapi.patch
new file mode 100644
index 00000000..7a0456f
--- /dev/null
+++ b/dev-python/pandas/files/pandas-0.19.1-gapi.patch
@@ -0,0 +1,27 @@
+From 1d6dbb41b26a39121ec8c4f19f5da78bb0ab4af7 Mon Sep 17 00:00:00 2001
+From: Jeff Reback <jeff@reback.net>
+Date: Sat, 12 Nov 2016 12:44:06 -0500
+Subject: [PATCH] TST: skip test_gbq.test_upload_data_if_table_exists_replace
+ for now
+
+---
+ pandas/io/tests/test_gbq.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/pandas/io/tests/test_gbq.py b/pandas/io/tests/test_gbq.py
+index cca1580b8..f6ff35a6d 100644
+--- a/pandas/io/tests/test_gbq.py
++++ b/pandas/io/tests/test_gbq.py
+@@ -824,6 +824,9 @@ class TestToGBQIntegration(tm.TestCase):
+                        private_key=_get_private_key_path())
+ 
+     def test_upload_data_if_table_exists_replace(self):
++
++        raise nose.SkipTest("buggy test")
++
+         destination_table = DESTINATION_TABLE + "4"
+ 
+         test_size = 10
+-- 
+2.11.0
+

diff --git a/dev-python/pandas/files/pandas-0.19.1-seqf.patch b/dev-python/pandas/files/pandas-0.19.1-seqf.patch
new file mode 100644
index 00000000..c82c14f
--- /dev/null
+++ b/dev-python/pandas/files/pandas-0.19.1-seqf.patch
@@ -0,0 +1,357 @@
+From f8bd08e9c2fc6365980f41b846bbae4b40f08b83 Mon Sep 17 00:00:00 2001
+From: Jeff Reback <jeff@reback.net>
+Date: Sat, 12 Nov 2016 10:58:54 -0500
+Subject: [PATCH] BUG: segfault manifesting with dateutil=2.6 w.r.t. replace
+ when timezones are present
+
+closes #14621
+
+Author: Jeff Reback <jeff@reback.net>
+
+Closes #14631 from jreback/replace and squashes the following commits:
+
+3f95042 [Jeff Reback] BUG: segfault manifesting with dateutil=2.6 w.r.t. replace when timezones are present
+---
+ ci/requirements-3.5_OSX.pip            |  2 +-
+ doc/source/whatsnew/v0.19.2.txt        |  3 ++
+ pandas/tseries/offsets.py              |  1 +
+ pandas/tseries/tests/test_offsets.py   | 20 ++++---
+ pandas/tseries/tests/test_timezones.py | 89 +++++++++++++++++++++++++++++--
+ pandas/tseries/tests/test_tslib.py     |  5 +-
+ pandas/tslib.pyx                       | 95 ++++++++++++++++++++++++++++------
+ 7 files changed, 188 insertions(+), 27 deletions(-)
+
+diff --git a/pandas/tseries/offsets.py b/pandas/tseries/offsets.py
+index 051cc8aa4..2e3852a7e 100644
+--- a/pandas/tseries/offsets.py
++++ b/pandas/tseries/offsets.py
+@@ -68,6 +68,7 @@ def apply_wraps(func):
+                 other = other.tz_localize(None)
+ 
+             result = func(self, other)
++
+             if self._adjust_dst:
+                 result = tslib._localize_pydatetime(result, tz)
+ 
+diff --git a/pandas/tseries/tests/test_offsets.py b/pandas/tseries/tests/test_offsets.py
+index 1735ac4e2..768e9212e 100644
+--- a/pandas/tseries/tests/test_offsets.py
++++ b/pandas/tseries/tests/test_offsets.py
+@@ -1,4 +1,5 @@
+ import os
++from distutils.version import LooseVersion
+ from datetime import date, datetime, timedelta
+ from dateutil.relativedelta import relativedelta
+ from pandas.compat import range, iteritems
+@@ -4851,6 +4852,7 @@ class TestDST(tm.TestCase):
+ 
+     def _test_offset(self, offset_name, offset_n, tstart, expected_utc_offset):
+         offset = DateOffset(**{offset_name: offset_n})
++
+         t = tstart + offset
+         if expected_utc_offset is not None:
+             self.assertTrue(get_utc_offset_hours(t) == expected_utc_offset)
+@@ -4890,17 +4892,23 @@ class TestDST(tm.TestCase):
+         return Timestamp(string + offset_string).tz_convert(tz)
+ 
+     def test_fallback_plural(self):
+-        """test moving from daylight savings to standard time"""
++        # test moving from daylight savings to standard time
++        import dateutil
+         for tz, utc_offsets in self.timezone_utc_offsets.items():
+             hrs_pre = utc_offsets['utc_offset_daylight']
+             hrs_post = utc_offsets['utc_offset_standard']
+-            self._test_all_offsets(
+-                n=3, tstart=self._make_timestamp(self.ts_pre_fallback,
+-                                                 hrs_pre, tz),
+-                expected_utc_offset=hrs_post)
++
++            if dateutil.__version__ != LooseVersion('2.6.0'):
++                # buggy ambiguous behavior in 2.6.0
++                # GH 14621
++                # https://github.com/dateutil/dateutil/issues/321
++                self._test_all_offsets(
++                    n=3, tstart=self._make_timestamp(self.ts_pre_fallback,
++                                                     hrs_pre, tz),
++                    expected_utc_offset=hrs_post)
+ 
+     def test_springforward_plural(self):
+-        """test moving from standard to daylight savings"""
++        # test moving from standard to daylight savings
+         for tz, utc_offsets in self.timezone_utc_offsets.items():
+             hrs_pre = utc_offsets['utc_offset_standard']
+             hrs_post = utc_offsets['utc_offset_daylight']
+diff --git a/pandas/tseries/tests/test_timezones.py b/pandas/tseries/tests/test_timezones.py
+index 00e8ee631..db8cda5c7 100644
+--- a/pandas/tseries/tests/test_timezones.py
++++ b/pandas/tseries/tests/test_timezones.py
+@@ -4,7 +4,7 @@ import nose
+ 
+ import numpy as np
+ import pytz
+-
++from distutils.version import LooseVersion
+ from pandas.types.dtypes import DatetimeTZDtype
+ from pandas import (Index, Series, DataFrame, isnull, Timestamp)
+ 
+@@ -518,8 +518,12 @@ class TestTimeZoneSupportPytz(tm.TestCase):
+ 
+         times = date_range("2013-10-26 23:00", "2013-10-27 01:00", freq="H",
+                            tz=tz, ambiguous='infer')
+-        self.assertEqual(times[0], Timestamp('2013-10-26 23:00', tz=tz))
+-        self.assertEqual(times[-1], Timestamp('2013-10-27 01:00', tz=tz))
++        self.assertEqual(times[0], Timestamp('2013-10-26 23:00', tz=tz,
++                                             freq="H"))
++        if dateutil.__version__ != LooseVersion('2.6.0'):
++            # GH 14621
++            self.assertEqual(times[-1], Timestamp('2013-10-27 01:00', tz=tz,
++                                                  freq="H"))
+ 
+     def test_ambiguous_nat(self):
+         tz = self.tz('US/Eastern')
+@@ -1163,6 +1167,85 @@ class TestTimeZones(tm.TestCase):
+     def setUp(self):
+         tm._skip_if_no_pytz()
+ 
++    def test_replace(self):
++        # GH 14621
++        # GH 7825
++        # replacing datetime components with and w/o presence of a timezone
++        dt = Timestamp('2016-01-01 09:00:00')
++        result = dt.replace(hour=0)
++        expected = Timestamp('2016-01-01 00:00:00')
++        self.assertEqual(result, expected)
++
++        for tz in self.timezones:
++            dt = Timestamp('2016-01-01 09:00:00', tz=tz)
++            result = dt.replace(hour=0)
++            expected = Timestamp('2016-01-01 00:00:00', tz=tz)
++            self.assertEqual(result, expected)
++
++        # we preserve nanoseconds
++        dt = Timestamp('2016-01-01 09:00:00.000000123', tz=tz)
++        result = dt.replace(hour=0)
++        expected = Timestamp('2016-01-01 00:00:00.000000123', tz=tz)
++        self.assertEqual(result, expected)
++
++        # test all
++        dt = Timestamp('2016-01-01 09:00:00.000000123', tz=tz)
++        result = dt.replace(year=2015, month=2, day=2, hour=0, minute=5,
++                            second=5, microsecond=5, nanosecond=5)
++        expected = Timestamp('2015-02-02 00:05:05.000005005', tz=tz)
++        self.assertEqual(result, expected)
++
++        # error
++        def f():
++            dt.replace(foo=5)
++        self.assertRaises(ValueError, f)
++
++        def f():
++            dt.replace(hour=0.1)
++        self.assertRaises(ValueError, f)
++
++        # assert conversion to naive is the same as replacing tzinfo with None
++        dt = Timestamp('2013-11-03 01:59:59.999999-0400', tz='US/Eastern')
++        self.assertEqual(dt.tz_localize(None), dt.replace(tzinfo=None))
++
++    def test_ambiguous_compat(self):
++        # validate that pytz and dateutil are compat for dst
++        # when the transition happens
++        tm._skip_if_no_dateutil()
++        tm._skip_if_no_pytz()
++
++        pytz_zone = 'Europe/London'
++        dateutil_zone = 'dateutil/Europe/London'
++        result_pytz = (Timestamp('2013-10-27 01:00:00')
++                       .tz_localize(pytz_zone, ambiguous=0))
++        result_dateutil = (Timestamp('2013-10-27 01:00:00')
++                           .tz_localize(dateutil_zone, ambiguous=0))
++        self.assertEqual(result_pytz.value, result_dateutil.value)
++        self.assertEqual(result_pytz.value, 1382835600000000000)
++
++        # dateutil 2.6 buggy w.r.t. ambiguous=0
++        if dateutil.__version__ != LooseVersion('2.6.0'):
++            # GH 14621
++            # https://github.com/dateutil/dateutil/issues/321
++            self.assertEqual(result_pytz.to_pydatetime().tzname(),
++                             result_dateutil.to_pydatetime().tzname())
++            self.assertEqual(str(result_pytz), str(result_dateutil))
++
++        # 1 hour difference
++        result_pytz = (Timestamp('2013-10-27 01:00:00')
++                       .tz_localize(pytz_zone, ambiguous=1))
++        result_dateutil = (Timestamp('2013-10-27 01:00:00')
++                           .tz_localize(dateutil_zone, ambiguous=1))
++        self.assertEqual(result_pytz.value, result_dateutil.value)
++        self.assertEqual(result_pytz.value, 1382832000000000000)
++
++        # dateutil < 2.6 is buggy w.r.t. ambiguous timezones
++        if dateutil.__version__ > LooseVersion('2.5.3'):
++            # GH 14621
++            self.assertEqual(str(result_pytz), str(result_dateutil))
++            self.assertEqual(result_pytz.to_pydatetime().tzname(),
++                             result_dateutil.to_pydatetime().tzname())
++
+     def test_index_equals_with_tz(self):
+         left = date_range('1/1/2011', periods=100, freq='H', tz='utc')
+         right = date_range('1/1/2011', periods=100, freq='H', tz='US/Eastern')
+diff --git a/pandas/tseries/tests/test_tslib.py b/pandas/tseries/tests/test_tslib.py
+index 21cfe84f1..b45f867be 100644
+--- a/pandas/tseries/tests/test_tslib.py
++++ b/pandas/tseries/tests/test_tslib.py
+@@ -327,8 +327,9 @@ class TestTimestamp(tm.TestCase):
+ 
+         # dateutil zone change (only matters for repr)
+         import dateutil
+-        if dateutil.__version__ >= LooseVersion(
+-                '2.3') and dateutil.__version__ <= LooseVersion('2.4.0'):
++        if (dateutil.__version__ >= LooseVersion('2.3') and
++            (dateutil.__version__ <= LooseVersion('2.4.0') or
++             dateutil.__version__ >= LooseVersion('2.6.0'))):
+             timezones = ['UTC', 'Asia/Tokyo', 'US/Eastern',
+                          'dateutil/US/Pacific']
+         else:
+diff --git a/pandas/tslib.pyx b/pandas/tslib.pyx
+index d4eaaa0b5..685de214c 100644
+--- a/pandas/tslib.pyx
++++ b/pandas/tslib.pyx
+@@ -98,6 +98,7 @@ except NameError: # py3
+ cdef inline object create_timestamp_from_ts(
+         int64_t value, pandas_datetimestruct dts,
+         object tz, object freq):
++    """ convenience routine to construct a Timestamp from its parts """
+     cdef _Timestamp ts_base
+     ts_base = _Timestamp.__new__(Timestamp, dts.year, dts.month,
+                                  dts.day, dts.hour, dts.min,
+@@ -112,6 +113,7 @@ cdef inline object create_timestamp_from_ts(
+ cdef inline object create_datetime_from_ts(
+         int64_t value, pandas_datetimestruct dts,
+         object tz, object freq):
++    """ convenience routine to construct a datetime.datetime from its parts """
+     return datetime(dts.year, dts.month, dts.day, dts.hour,
+                     dts.min, dts.sec, dts.us, tz)
+ 
+@@ -378,7 +380,6 @@ class Timestamp(_Timestamp):
+         # Mixing pydatetime positional and keyword arguments is forbidden!
+ 
+         cdef _TSObject ts
+-        cdef _Timestamp ts_base
+ 
+         if offset is not None:
+             # deprecate offset kwd in 0.19.0, GH13593
+@@ -412,17 +413,7 @@ class Timestamp(_Timestamp):
+             from pandas.tseries.frequencies import to_offset
+             freq = to_offset(freq)
+ 
+-        # make datetime happy
+-        ts_base = _Timestamp.__new__(cls, ts.dts.year, ts.dts.month,
+-                                     ts.dts.day, ts.dts.hour, ts.dts.min,
+-                                     ts.dts.sec, ts.dts.us, ts.tzinfo)
+-
+-        # fill out rest of data
+-        ts_base.value = ts.value
+-        ts_base.freq = freq
+-        ts_base.nanosecond = ts.dts.ps / 1000
+-
+-        return ts_base
++        return create_timestamp_from_ts(ts.value, ts.dts, ts.tzinfo, freq)
+ 
+     def _round(self, freq, rounder):
+ 
+@@ -660,8 +651,80 @@ class Timestamp(_Timestamp):
+     astimezone = tz_convert
+ 
+     def replace(self, **kwds):
+-        return Timestamp(datetime.replace(self, **kwds),
+-                         freq=self.freq)
++        """
++        implements datetime.replace, handles nanoseconds
++
++        Parameters
++        ----------
++        kwargs: key-value dict
++
++        accepted keywords are:
++        year, month, day, hour, minute, second, microsecond, nanosecond, tzinfo
++
++        values must be integer, or for tzinfo, a tz-convertible
++
++        Returns
++        -------
++        Timestamp with fields replaced
++        """
++
++        cdef:
++            pandas_datetimestruct dts
++            int64_t value
++            object tzinfo, result, k, v
++            _TSObject ts
++
++        # set to naive if needed
++        tzinfo = self.tzinfo
++        value = self.value
++        if tzinfo is not None:
++            value = tz_convert_single(value, 'UTC', tzinfo)
++
++        # setup components
++        pandas_datetime_to_datetimestruct(value, PANDAS_FR_ns, &dts)
++        dts.ps = self.nanosecond * 1000
++
++        # replace
++        def validate(k, v):
++            """ validate integers """
++            if not isinstance(v, int):
++                raise ValueError("value must be an integer, received {v} for {k}".format(v=type(v), k=k))
++            return v
++
++        for k, v in kwds.items():
++            if k == 'year':
++                dts.year = validate(k, v)
++            elif k == 'month':
++                dts.month = validate(k, v)
++            elif k == 'day':
++                dts.day = validate(k, v)
++            elif k == 'hour':
++                dts.hour = validate(k, v)
++            elif k == 'minute':
++                dts.min = validate(k, v)
++            elif k == 'second':
++                dts.sec = validate(k, v)
++            elif k == 'microsecond':
++                dts.us = validate(k, v)
++            elif k == 'nanosecond':
++                dts.ps = validate(k, v) * 1000
++            elif k == 'tzinfo':
++                tzinfo = v
++            else:
++                raise ValueError("invalid name {} passed".format(k))
++
++        # reconstruct & check bounds
++        value = pandas_datetimestruct_to_datetime(PANDAS_FR_ns, &dts)
++        if value != NPY_NAT:
++            _check_dts_bounds(&dts)
++
++        # set tz if needed
++        if tzinfo is not None:
++            value = tz_convert_single(value, tzinfo, 'UTC')
++
++        result = create_timestamp_from_ts(value, dts, tzinfo, self.freq)
++
++        return result
+ 
+     def isoformat(self, sep='T'):
+         base = super(_Timestamp, self).isoformat(sep=sep)
+@@ -5041,7 +5104,9 @@ cpdef normalize_date(object dt):
+     -------
+     normalized : datetime.datetime or Timestamp
+     """
+-    if PyDateTime_Check(dt):
++    if is_timestamp(dt):
++        return dt.replace(hour=0, minute=0, second=0, microsecond=0, nanosecond=0)
++    elif PyDateTime_Check(dt):
+         return dt.replace(hour=0, minute=0, second=0, microsecond=0)
+     elif PyDate_Check(dt):
+         return datetime(dt.year, dt.month, dt.day)
+-- 
+2.11.0
+

diff --git a/dev-python/pandas/pandas-0.19.1.ebuild b/dev-python/pandas/pandas-0.19.1.ebuild
new file mode 100644
index 00000000..aea548f
--- /dev/null
+++ b/dev-python/pandas/pandas-0.19.1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 eutils flag-o-matic virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="http://pandas.pydata.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc -minimal full-support test X"
+
+MINIMAL_DEPEND="
+	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
+	dev-python/pytz[${PYTHON_USEDEP}]
+	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
+	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
+RECOMMENDED_DEPEND="
+	dev-python/bottleneck[${PYTHON_USEDEP}]
+	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]"
+OPTIONAL_DEPEND="
+	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+	dev-python/blosc[${PYTHON_USEDEP}]
+	dev-python/boto[${PYTHON_USEDEP}]
+	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
+	|| ( dev-python/html5lib[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] )
+	dev-python/httplib2[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/matplotlib[${PYTHON_USEDEP}]
+	|| ( >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] dev-python/xlsxwriter[${PYTHON_USEDEP}] )
+	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
+	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
+	dev-python/rpy[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/statsmodels[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
+	dev-python/xlrd[${PYTHON_USEDEP}]
+	dev-python/xlwt[${PYTHON_USEDEP}]
+	sci-libs/scipy[${PYTHON_USEDEP}]
+	X? (
+		|| (
+			dev-python/PyQt4[${PYTHON_USEDEP}]
+			dev-python/pyside[${PYTHON_USEDEP}]
+			dev-python/pygtk[$(python_gen_usedep python2_7)]
+		)
+		|| (
+			x11-misc/xclip
+			x11-misc/xsel
+		)
+	)
+	"
+
+DEPEND="${MINIMAL_DEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+	doc? (
+		${VIRTUALX_DEPEND}
+		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+		dev-python/html5lib[${PYTHON_USEDEP}]
+		dev-python/ipython[${PYTHON_USEDEP}]
+		dev-python/lxml[${PYTHON_USEDEP}]
+		dev-python/matplotlib[${PYTHON_USEDEP}]
+		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
+		dev-python/pytz[${PYTHON_USEDEP}]
+		dev-python/rpy[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+		dev-python/xlrd[${PYTHON_USEDEP}]
+		dev-python/xlwt[${PYTHON_USEDEP}]
+		sci-libs/scipy[${PYTHON_USEDEP}]
+		x11-misc/xclip
+	)
+	test? (
+		${VIRTUALX_DEPEND}
+		${RECOMMENDED_DEPEND}
+		${OPTIONAL_DEPEND}
+		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+		dev-python/nose[${PYTHON_USEDEP}]
+		dev-python/pymysql[${PYTHON_USEDEP}]
+		dev-python/psycopg:2[${PYTHON_USEDEP}]
+		x11-misc/xclip
+		x11-misc/xsel
+	)"
+# dev-python/statsmodels invokes a circular dep
+#  hence rm from doc? ( ), again
+RDEPEND="
+	${MINIMAL_DEPEND}
+	!minimal? ( ${RECOMMENDED_DEPEND} )
+	full-support? ( ${OPTIONAL_DEPEND} )"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-gapi.patch
+	"${FILESDIR}"/${P}-seqf.patch
+)
+
+python_prepare_all() {
+	# Prevent un-needed download during build
+	sed -e "/^              'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die
+
+	# https://github.com/pydata/pandas/issues/11299
+	sed \
+		-e 's:testOdArray:disable:g' \
+		-i pandas/io/tests/json/test_ujson.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	# To build docs the need be located in $BUILD_DIR,
+	# else PYTHONPATH points to unusable modules.
+	if use doc; then
+		cd "${BUILD_DIR}"/lib || die
+		cp -ar "${S}"/doc . && cd doc || die
+		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html || die
+	fi
+}
+
+python_test() {
+	local test_pandas='not network and not disabled'
+	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
+	pushd  "${BUILD_DIR}"/lib > /dev/null
+	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+	PYTHONPATH=. MPLCONFIGDIR=. \
+		virtx nosetests --verbosity=3 -A "${test_pandas}" pandas
+	popd > /dev/null
+}
+
+python_install_all() {
+	if use doc; then
+		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
+		einfo "An initial build of docs is absent of references to statsmodels"
+		einfo "due to circular dependency. To have them included, emerge"
+		einfo "statsmodels next and re-emerge pandas with USE doc"
+	fi
+
+	distutils-r1_python_install_all
+}
+
+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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
+	optfeature "for msgpack compression using ``blosc``" dev-python/blosc
+	optfeature "necessary for Amazon S3 access" dev-python/boto
+	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags >=dev-python/google-api-python-client-1.2.0
+	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-1.6.1 dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+	optfeature "necessary for HDF5-based storage" >=dev-python/pytables-3.2.1
+	optfeature "R I/O support" dev-python/rpy
+	optfeature "Needed for parts of :mod:`pandas.stats`" dev-python/statsmodels
+	optfeature "SQL database support" >=dev-python/sqlalchemy-0.8.1
+	optfeature "miscellaneous statistical functions" sci-libs/scipy
+	optfeature "necessary to use ~pandas.io.clipboard.read_clipboard support" dev-python/PyQt4 dev-python/pyside dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}

diff --git a/dev-python/pandas/pandas-9999.ebuild b/dev-python/pandas/pandas-9999.ebuild
index f62cf51..02a7a20 100644
--- a/dev-python/pandas/pandas-9999.ebuild
+++ b/dev-python/pandas/pandas-9999.ebuild
@@ -1,12 +1,14 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
 EAPI=5
 
-PYTHON_COMPAT=( python2_7 python3_4 )
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
 PYTHON_REQ_USE="threads(+)"
 
+VIRTUALX_REQUIRED="manual"
+
 inherit distutils-r1 eutils flag-o-matic git-r3 virtualx
 
 DESCRIPTION="Powerful data structures for data analysis and statistics"
@@ -17,68 +19,86 @@ EGIT_REPO_URI="https://github.com/pydata/pandas.git"
 SLOT="0"
 LICENSE="BSD"
 KEYWORDS=""
-IUSE="doc excel html test R"
+IUSE="doc -minimal full-support test X"
 
-EXTRA_DEPEND="
+MINIMAL_DEPEND="
+	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
+	dev-python/pytz[${PYTHON_USEDEP}]
+	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
+	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
+RECOMMENDED_DEPEND="
+	dev-python/bottleneck[${PYTHON_USEDEP}]
+	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]"
+OPTIONAL_DEPEND="
+	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+	dev-python/blosc[${PYTHON_USEDEP}]
+	dev-python/boto[${PYTHON_USEDEP}]
 	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
-	dev-python/openpyxl[${PYTHON_USEDEP}]
-	dev-python/pymysql[${PYTHON_USEDEP}]
+	|| ( dev-python/html5lib[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] )
+	dev-python/httplib2[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/matplotlib[${PYTHON_USEDEP}]
+	|| ( >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] dev-python/xlsxwriter[${PYTHON_USEDEP}] )
+	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
 	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
-	dev-python/psycopg:2[${PYTHON_USEDEP}]
+	dev-python/rpy[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
 	dev-python/statsmodels[${PYTHON_USEDEP}]
-	dev-python/sqlalchemy[${PYTHON_USEDEP}]
-	dev-python/xlsxwriter[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
+	dev-python/xlrd[${PYTHON_USEDEP}]
+	dev-python/xlwt[${PYTHON_USEDEP}]
+	sci-libs/scipy[${PYTHON_USEDEP}]
+	X? (
+		|| (
+			dev-python/PyQt4[${PYTHON_USEDEP}]
+			dev-python/pyside[${PYTHON_USEDEP}]
+			dev-python/pygtk[$(python_gen_usedep python2_7)]
+		)
+		|| (
+			x11-misc/xclip
+			x11-misc/xsel
+		)
+	)
 	"
-CDEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
-DEPEND="${CDEPEND}
+
+DEPEND="${MINIMAL_DEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
 	doc? (
+		${VIRTUALX_DEPEND}
 		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
 		dev-python/html5lib[${PYTHON_USEDEP}]
+		dev-python/ipython[${PYTHON_USEDEP}]
 		dev-python/lxml[${PYTHON_USEDEP}]
 		dev-python/matplotlib[${PYTHON_USEDEP}]
 		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		dev-python/openpyxl[${PYTHON_USEDEP}]
 		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
 		dev-python/pytz[${PYTHON_USEDEP}]
 		dev-python/rpy[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
 		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[$(python_gen_usedep 'python2_7')]
-		dev-python/xlwt[$(python_gen_usedep 'python2_7')]
+		dev-python/xlrd[${PYTHON_USEDEP}]
+		dev-python/xlwt[${PYTHON_USEDEP}]
+		sci-libs/scipy[${PYTHON_USEDEP}]
 		x11-misc/xclip
-		)
+	)
 	test? (
-		${EXTRA_DEPEND}
+		${VIRTUALX_DEPEND}
+		${RECOMMENDED_DEPEND}
+		${OPTIONAL_DEPEND}
 		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
 		dev-python/nose[${PYTHON_USEDEP}]
+		dev-python/pymysql[${PYTHON_USEDEP}]
+		dev-python/psycopg:2[${PYTHON_USEDEP}]
 		x11-misc/xclip
 		x11-misc/xsel
-		)"
+	)"
 # dev-python/statsmodels invokes a circular dep
 #  hence rm from doc? ( ), again
-RDEPEND="${CDEPEND}
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	dev-python/bottleneck[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	dev-python/pytables[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	excel? (
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[$(python_gen_usedep 'python2_7')]
-		dev-python/xlwt[$(python_gen_usedep 'python2_7')]
-	)
-	html? (
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		|| (
-			dev-python/lxml[${PYTHON_USEDEP}]
-			dev-python/html5lib[${PYTHON_USEDEP}] )
-	)
-	R? ( dev-python/rpy[${PYTHON_USEDEP}] )"
+RDEPEND="
+	${MINIMAL_DEPEND}
+	!minimal? ( ${RECOMMENDED_DEPEND} )
+	full-support? ( ${OPTIONAL_DEPEND} )"
 
 python_prepare_all() {
 	# Prevent un-needed download during build
@@ -93,7 +113,7 @@ python_compile_all() {
 	if use doc; then
 		cd "${BUILD_DIR}"/lib || die
 		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. "${EPYTHON}" make.py html || die
+		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html || die
 	fi
 }
 
@@ -101,9 +121,9 @@ python_test() {
 	local test_pandas='not network and not disabled'
 	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
 	pushd  "${BUILD_DIR}"/lib > /dev/null
-	VIRTUALX_COMMAND="nosetests"
-	PYTHONPATH=. MPLCONFIGDIR=. HOME=. \
-		virtualmake --verbosity=3 -A "${test_pandas}" pandas
+	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+	PYTHONPATH=. MPLCONFIGDIR=. \
+		virtx nosetests --verbosity=3 -A "${test_pandas}" pandas.io.tests.json.test_ujson.NumpyJSONTests
 	popd > /dev/null
 }
 
@@ -119,9 +139,19 @@ python_install_all() {
 }
 
 pkg_postinst() {
-	local x
-	elog "Please install"
-	for x in ${EXTRA_DEPEND}; do
-		optfeature "additional functionality" "${x%%[*}"
-	done
+	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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
+	optfeature "for msgpack compression using ``blosc``" dev-python/blosc
+	optfeature "necessary for Amazon S3 access" dev-python/boto
+	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags >=dev-python/google-api-python-client-1.2.0
+	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-1.6.1 dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+	optfeature "necessary for HDF5-based storage" >=dev-python/pytables-3.2.1
+	optfeature "R I/O support" dev-python/rpy
+	optfeature "Needed for parts of :mod:`pandas.stats`" dev-python/statsmodels
+	optfeature "SQL database support" >=dev-python/sqlalchemy-0.8.1
+	optfeature "miscellaneous statistical functions" sci-libs/scipy
+	optfeature "necessary to use ~pandas.io.clipboard.read_clipboard support" dev-python/PyQt4 dev-python/pyside dev-python/pygtk x11-misc/xclip x11-misc/xsel
 }


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2018-05-10 14:10 Andreas Sturmlechner
  0 siblings, 0 replies; 10+ messages in thread
From: Andreas Sturmlechner @ 2018-05-10 14:10 UTC (permalink / raw
  To: gentoo-commits

commit:     5ac896040260eb9b03fdc10512f2e22dee798630
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu May 10 12:01:54 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu May 10 14:10:23 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ac89604

dev-python/pandas: Drop old

Bug: https://bugs.gentoo.org/649104
Package-Manager: Portage-2.3.36, Repoman-2.3.9

 dev-python/pandas/Manifest                         |   5 -
 .../files/pandas-0.17.0-testfix-backport.patch     |  28 ----
 dev-python/pandas/metadata.xml                     |   3 -
 dev-python/pandas/pandas-0.16.2.ebuild             | 128 ----------------
 dev-python/pandas/pandas-0.17.0.ebuild             | 137 -----------------
 dev-python/pandas/pandas-0.17.1.ebuild             | 166 ---------------------
 dev-python/pandas/pandas-0.20.1.ebuild             | 162 --------------------
 dev-python/pandas/pandas-0.20.3.ebuild             | 157 -------------------
 8 files changed, 786 deletions(-)

diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index ca22c715c1c..d1daf66ed35 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,7 +1,2 @@
-DIST pandas-0.16.2.tar.gz 4931751 BLAKE2B 5ffd1df908580d966f782a7b371c7798b65ae7caacda3d8591c8de770e2f9008a3d026d9cb7f80ae857db3c24c41c0d21b8586862c39ec1b20f6e02c28e1a79f SHA512 44874e12a42a01dd7ed88f3f97e954732a534a5e2dc4815ef6203bdb2d88850a607e6631a35ae8fc79f4621a5dfaa34f39bb1c9a0ecfb17da1cf0c10f35ff27b
-DIST pandas-0.17.0.tar.gz 6508621 BLAKE2B 226bf513c4fc7261331114832880da71f7b881e906d6739a81bc7c6bb048f3eeecc9806aa65c7eed246ea4df16c380595bd432ab7c25b9964ca8b879a7f705cf SHA512 bae6964e263c7ff6cac722cdfe23081f23c357d9bc39a670b5627bef4630c236a58aa8c0393eae921721bf7049c8e5266b4dea71dd957da5d89dafc14a04797b
-DIST pandas-0.17.1.tar.gz 6674479 BLAKE2B 0d61f0a603f758aaef6c2eddf6d70307255679b2ef0b599e81b3a4c0e67ebd7584b1f3d436e34d02264b9c17317508f40c5186fd874b4a362efa6edf68eef900 SHA512 9d9f9064585b1f3551625e0c8f4eedaaa1253790c2a5cb28e58e70eb805cc18f9770d793aa748cbd76798488ff60efdd01eb4b21daf5ad8f1dc4d9c050487234
 DIST pandas-0.19.1.tar.gz 8360233 BLAKE2B 82611ca1a3e3169ac2d084f4dcd9c4d4d74e9e9c9913a41acad48ae68a208a884dfd877445a7d658a7ff098ef383cedae7e79a4900baa8d56c032ce9aaad96eb SHA512 6451990a7fae8c6db8ab0b014a13b4f1828754d3998f13c17b111f891fb9fd23f8e09b907623096dfa55668c42298eee1373210a9fddb95f56dd7d552b964e6f
-DIST pandas-0.20.1.tar.gz 10307434 BLAKE2B f8490a4a7f5c165753df274a0dea81552efc90a0cbf78d9e1fbeb6d0bc26e8ffaf3dbdf796a3abfb29d01332004af2adfbd9946c69d905f309cc730613de8123 SHA512 d477a815914c825efd6430f7eb19f3f9115c1c4ab03000ca6d4f64023f7b5f53eff512792fea2d8b33c7febb3667fc3a3de55f11eeb453f285cae40e6b473707
-DIST pandas-0.20.3.tar.gz 10402185 BLAKE2B a2c8d8f0007d481ccb897d2e9be106319cd3b7c0edf397fb99e7c6f43511c218ff5e7a7f099fcf23406f7e3ea691272e75c0f130cce991ccf159df7223d26584 SHA512 891c7e04d075f96fadf3775e903472e279eaeaa4509eb0da81a74261a3ed86ff309de0b5a2c100ee93dd968fed1df6d7e426ca78785b2b36785fe7679218fdc5
 DIST pandas-0.23.0rc2.tar.gz 12542694 BLAKE2B 7c6383d32430fec89b7d5cbb1f8eef0f2201ba85d5865118fa035b6ad4c852b5f4e691f98f0cf3ac5c1283720025f8500c43414d0931af5211972208428537bd SHA512 3df13f74dbcac00baffd39c732751d4e7bd16adf529b60b05b2373651d86e0aba37d6f3a4339df170e9ab3d89ee03fc18827dd3728ff972bcdfe3a0604bff59d

diff --git a/dev-python/pandas/files/pandas-0.17.0-testfix-backport.patch b/dev-python/pandas/files/pandas-0.17.0-testfix-backport.patch
deleted file mode 100644
index c83319256f2..00000000000
--- a/dev-python/pandas/files/pandas-0.17.0-testfix-backport.patch
+++ /dev/null
@@ -1,28 +0,0 @@
- pandas/tests/test_categorical.py | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/pandas/tests/test_categorical.py b/pandas/tests/test_categorical.py
-old mode 100755
-new mode 100644
-index e97010e..1d14323
---- a/pandas/tests/test_categorical.py
-+++ b/pandas/tests/test_categorical.py
-@@ -86,12 +86,14 @@ class TestCategorical(tm.TestCase):
-         factor = Categorical.from_array(arr, ordered=False)
-         self.assertFalse(factor.ordered)
- 
--        # this however will raise as cannot be sorted
--        # but fixed in newer versions of numpy
--        if LooseVersion(np.__version__) < "1.10":
-+        if compat.PY3:
-             self.assertRaises(TypeError, lambda :  Categorical.from_array(arr, ordered=True))
-         else:
--            Categorical.from_array(arr, ordered=True)
-+            # this however will raise as cannot be sorted (on PY3 or older numpies)
-+            if LooseVersion(np.__version__) < "1.10":
-+                self.assertRaises(TypeError, lambda :  Categorical.from_array(arr, ordered=True))
-+            else:
-+                Categorical.from_array(arr, ordered=True)
- 
-     def test_is_equal_dtype(self):
- 

diff --git a/dev-python/pandas/metadata.xml b/dev-python/pandas/metadata.xml
index 2633bf05b9c..2afb9b3d563 100644
--- a/dev-python/pandas/metadata.xml
+++ b/dev-python/pandas/metadata.xml
@@ -14,9 +14,6 @@
 </longdescription>
   <use>
     <flag name="full-support">Pull all packages to give pandas full support</flag>
-    <flag name="excel">Pull a few Python packages for Microsoft Excel i/o</flag>
-    <flag name="html">Enable HTML i/o via <pkg>dev-python/beautifulsoup</pkg></flag>
-    <flag name="R">Enable support for R via <pkg>dev-python/rpy</pkg></flag>
   </use>
   <upstream>
     <remote-id type="pypi">pandas</remote-id>

diff --git a/dev-python/pandas/pandas-0.16.2.ebuild b/dev-python/pandas/pandas-0.16.2.ebuild
deleted file mode 100644
index 7b2da170695..00000000000
--- a/dev-python/pandas/pandas-0.16.2.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="http://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc excel html test R"
-
-EXTRA_DEPEND="
-	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
-	dev-python/openpyxl[${PYTHON_USEDEP}]
-	dev-python/pymysql[${PYTHON_USEDEP}]
-	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
-	dev-python/psycopg:2[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	dev-python/sqlalchemy[${PYTHON_USEDEP}]
-	"
-CDEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
-DEPEND="${CDEPEND}
-	>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
-	doc? (
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		dev-python/openpyxl[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[$(python_gen_usedep 'python2_7')]
-		dev-python/xlwt[$(python_gen_usedep 'python2_7')]
-		x11-misc/xclip
-		)
-	test? (
-		${EXTRA_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-		)"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="${CDEPEND}
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	dev-python/bottleneck[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	dev-python/pytables[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	excel? (
-		dev-python/xlrd[$(python_gen_usedep 'python2_7')]
-		dev-python/xlwt[$(python_gen_usedep 'python2_7')]
-		|| (
-			dev-python/xlsxwriter[${PYTHON_USEDEP}]
-			>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		)
-	)
-	html? (
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		|| (
-			dev-python/lxml[${PYTHON_USEDEP}]
-			dev-python/html5lib[${PYTHON_USEDEP}] )
-	)
-	R? ( dev-python/rpy[${PYTHON_USEDEP}] )"
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. "${EPYTHON}" make.py html || die
-	fi
-}
-
-python_test() {
-	local test_pandas='not network and not disabled'
-	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	VIRTUALX_COMMAND="nosetests"
-	PYTHONPATH=. MPLCONFIGDIR=. HOME=. \
-		virtualmake --verbosity=3 -A "${test_pandas}" pandas
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-pkg_postinst() {
-	local x
-	elog "Please install"
-	for x in ${EXTRA_DEPEND}; do
-		optfeature "additional functionality" "${x%%[*}"
-	done
-}

diff --git a/dev-python/pandas/pandas-0.17.0.ebuild b/dev-python/pandas/pandas-0.17.0.ebuild
deleted file mode 100644
index 22a63f27a32..00000000000
--- a/dev-python/pandas/pandas-0.17.0.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="http://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc excel html test R"
-
-EXTRA_DEPEND="
-	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
-	dev-python/openpyxl[${PYTHON_USEDEP}]
-	dev-python/pymysql[${PYTHON_USEDEP}]
-	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
-	dev-python/psycopg:2[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	dev-python/sqlalchemy[${PYTHON_USEDEP}]
-	"
-CDEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
-DEPEND="${CDEPEND}
-	>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
-	doc? (
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		)
-	test? (
-		${EXTRA_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-		)"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="${CDEPEND}
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	dev-python/bottleneck[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	dev-python/pytables[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	excel? (
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		|| (
-			dev-python/xlsxwriter[${PYTHON_USEDEP}]
-			>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		)
-	)
-	html? (
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		|| (
-			dev-python/lxml[${PYTHON_USEDEP}]
-			dev-python/html5lib[${PYTHON_USEDEP}] )
-	)
-	R? ( dev-python/rpy[${PYTHON_USEDEP}] )"
-
-PATCHES=(
-	"${FILESDIR}"/${P}-testfix-backport.patch
-)
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die
-
-	# https://github.com/pydata/pandas/issues/11299
-	sed \
-		-e 's:testOdArray:disable:g' \
-		-i pandas/io/tests/test_json/test_ujson.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. "${EPYTHON}" make.py html || die
-	fi
-}
-
-python_test() {
-	local test_pandas='not network and not disabled'
-	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	VIRTUALX_COMMAND="nosetests"
-	PYTHONPATH=. MPLCONFIGDIR=. \
-		virtualmake --verbosity=3 -A "${test_pandas}" pandas
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-pkg_postinst() {
-	local x
-	elog "Please install"
-	for x in ${EXTRA_DEPEND}; do
-		optfeature "additional functionality" "${x%%[*}"
-	done
-}

diff --git a/dev-python/pandas/pandas-0.17.1.ebuild b/dev-python/pandas/pandas-0.17.1.ebuild
deleted file mode 100644
index 8ddf16d1d5b..00000000000
--- a/dev-python/pandas/pandas-0.17.1.ebuild
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="http://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc -minimal full-support test X"
-
-MINIMAL_DEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
-RECOMMENDED_DEPEND="
-	dev-python/bottleneck[${PYTHON_USEDEP}]
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]"
-OPTIONAL_DEPEND="
-	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-	dev-python/blosc[${PYTHON_USEDEP}]
-	dev-python/boto[${PYTHON_USEDEP}]
-	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
-	|| ( dev-python/html5lib[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] )
-	dev-python/httplib2[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	|| ( >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] dev-python/xlsxwriter[${PYTHON_USEDEP}] )
-	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
-	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
-	dev-python/rpy[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
-	dev-python/xlrd[${PYTHON_USEDEP}]
-	dev-python/xlwt[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	X? (
-		|| (
-			dev-python/PyQt4[${PYTHON_USEDEP}]
-			dev-python/pyside[${PYTHON_USEDEP}]
-			dev-python/pygtk[$(python_gen_usedep python2_7)]
-		)
-		|| (
-			x11-misc/xclip
-			x11-misc/xsel
-		)
-	)
-	"
-
-DEPEND="${MINIMAL_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
-	doc? (
-		${VIRTUALX_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		x11-misc/xclip
-	)
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pymysql[${PYTHON_USEDEP}]
-		dev-python/psycopg:2[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-	)"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="
-	${MINIMAL_DEPEND}
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )"
-
-_PATCHES=(
-	"${FILESDIR}"/${P}-testfix-backport.patch
-)
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die
-
-	# https://github.com/pydata/pandas/issues/11299
-	sed \
-		-e 's:testOdArray:disable:g' \
-		-i pandas/io/tests/test_json/test_ujson.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		VIRTUALX_COMMAND="${EPYTHON}"
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. virtualmake make.py html || die
-	fi
-}
-
-python_test() {
-	local test_pandas='not network and not disabled'
-	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	VIRTUALX_COMMAND="nosetests"
-	PYTHONPATH=. MPLCONFIGDIR=. \
-		virtualmake --verbosity=3 -A "${test_pandas}" pandas
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
-	optfeature "for msgpack compression using blosc" dev-python/blosc
-	optfeature "necessary for Amazon S3 access" dev-python/boto
-	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags ">=dev-python/google-api-python-client-1.2.0"
-	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
-	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
-	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-0.8.1"
-	optfeature "miscellaneous statistical functions" sci-libs/scipy
-	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt4 dev-python/pyside dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}

diff --git a/dev-python/pandas/pandas-0.20.1.ebuild b/dev-python/pandas/pandas-0.20.1.ebuild
deleted file mode 100644
index 9e3b7f8bd65..00000000000
--- a/dev-python/pandas/pandas-0.20.1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="http://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc -minimal full-support test X"
-
-MINIMAL_DEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
-RECOMMENDED_DEPEND="
-	dev-python/bottleneck[${PYTHON_USEDEP}]
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]"
-OPTIONAL_DEPEND="
-	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-	dev-python/blosc[${PYTHON_USEDEP}]
-	dev-python/boto[${PYTHON_USEDEP}]
-	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
-	|| ( dev-python/html5lib[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] )
-	dev-python/httplib2[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	|| ( >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] dev-python/xlsxwriter[${PYTHON_USEDEP}] )
-	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
-	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
-	dev-python/rpy[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
-	dev-python/xlrd[${PYTHON_USEDEP}]
-	dev-python/xlwt[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	X? (
-		|| (
-			dev-python/PyQt4[${PYTHON_USEDEP}]
-			dev-python/pyside[${PYTHON_USEDEP}]
-			dev-python/pygtk[$(python_gen_usedep python2_7)]
-		)
-		|| (
-			x11-misc/xclip
-			x11-misc/xsel
-		)
-	)
-	"
-
-DEPEND="${MINIMAL_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/cython-0.23[${PYTHON_USEDEP}]
-	doc? (
-		${VIRTUALX_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		x11-misc/xclip
-	)
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pymysql[${PYTHON_USEDEP}]
-		dev-python/psycopg:2[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-	)"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="
-	${MINIMAL_DEPEND}
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )"
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed \
-		-e "/^              'sphinx.ext.intersphinx',/d" \
-		-i doc/source/conf.py || die
-
-	# https://github.com/pydata/pandas/issues/11299
-	sed \
-		-e 's:testOdArray:disable:g' \
-		-i pandas/tests/io/json/test_ujson.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html || die
-	fi
-}
-
-python_test() {
-	local test_pandas='not network and not disabled'
-	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	PYTHONPATH=. MPLCONFIGDIR=. \
-		virtx nosetests --verbosity=3 -A "${test_pandas}" pandas
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
-	optfeature "for msgpack compression using blosc" dev-python/blosc
-	optfeature "necessary for Amazon S3 access" dev-python/boto
-	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags ">=dev-python/google-api-python-client-1.2.0"
-	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
-	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
-	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-0.8.1"
-	optfeature "miscellaneous statistical functions" sci-libs/scipy
-	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt4 dev-python/pyside dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}

diff --git a/dev-python/pandas/pandas-0.20.3.ebuild b/dev-python/pandas/pandas-0.20.3.ebuild
deleted file mode 100644
index a28647857c1..00000000000
--- a/dev-python/pandas/pandas-0.20.3.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="http://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc -minimal full-support test X"
-
-MINIMAL_DEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
-RECOMMENDED_DEPEND="
-	dev-python/bottleneck[${PYTHON_USEDEP}]
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]"
-OPTIONAL_DEPEND="
-	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-	dev-python/blosc[${PYTHON_USEDEP}]
-	dev-python/boto[${PYTHON_USEDEP}]
-	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
-	|| ( dev-python/html5lib[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] )
-	dev-python/httplib2[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	|| ( >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] dev-python/xlsxwriter[${PYTHON_USEDEP}] )
-	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
-	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
-	dev-python/rpy[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
-	dev-python/xarray[${PYTHON_USEDEP}]
-	dev-python/xlrd[${PYTHON_USEDEP}]
-	dev-python/xlwt[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	X? (
-		|| (
-			dev-python/PyQt4[${PYTHON_USEDEP}]
-			dev-python/pyside[${PYTHON_USEDEP}]
-			dev-python/pygtk[$(python_gen_usedep python2_7)]
-		)
-		|| (
-			x11-misc/xclip
-			x11-misc/xsel
-		)
-	)
-	"
-
-DEPEND="${MINIMAL_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/cython-0.23[${PYTHON_USEDEP}]
-	doc? (
-		${VIRTUALX_DEPEND}
-		app-text/pandoc
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		x11-misc/xclip
-	)
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pymysql[${PYTHON_USEDEP}]
-		dev-python/psycopg:2[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-	)"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="
-	${MINIMAL_DEPEND}
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )"
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" \
-		-i doc/source/conf.py || die
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html || die
-	fi
-}
-
-python_test() {
-	local test_pandas='not network and not disabled'
-	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	PYTHONPATH=. MPLCONFIGDIR=. \
-		virtx nosetests --verbosity=3 -A "${test_pandas}" pandas
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
-	optfeature "for msgpack compression using blosc" dev-python/blosc
-	optfeature "necessary for Amazon S3 access" dev-python/boto
-	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags ">=dev-python/google-api-python-client-1.2.0"
-	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
-	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
-	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-0.8.1"
-	optfeature "miscellaneous statistical functions" sci-libs/scipy
-	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt4 dev-python/pyside dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2018-08-23 18:44 Virgil Dupras
  0 siblings, 0 replies; 10+ messages in thread
From: Virgil Dupras @ 2018-08-23 18:44 UTC (permalink / raw
  To: gentoo-commits

commit:     cc8ad060fa2302154dc6ad938df1ac2f47e4ad69
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 23 18:06:13 2018 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Thu Aug 23 18:06:13 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc8ad060

dev-python/pandas: bump to 0.23.4

Also, make tests pass. Tests around the pandas ecosystem are rather
fragile and depend heavily on dependency versions. Dependency
constraints in the ebuild are tighter than upstream's, but it's
necessary to make tests pass.

Package-Manager: Portage-2.3.47, Repoman-2.3.10

 dev-python/pandas/Manifest                         |   1 +
 .../files/pandas-0.23.4-skip-broken-test.patch     |  24 +++
 dev-python/pandas/pandas-0.23.4.ebuild             | 171 +++++++++++++++++++++
 3 files changed, 196 insertions(+)

diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index 1b61c339db9..a786c571827 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,2 +1,3 @@
 DIST pandas-0.19.1.tar.gz 8360233 BLAKE2B 82611ca1a3e3169ac2d084f4dcd9c4d4d74e9e9c9913a41acad48ae68a208a884dfd877445a7d658a7ff098ef383cedae7e79a4900baa8d56c032ce9aaad96eb SHA512 6451990a7fae8c6db8ab0b014a13b4f1828754d3998f13c17b111f891fb9fd23f8e09b907623096dfa55668c42298eee1373210a9fddb95f56dd7d552b964e6f
 DIST pandas-0.23.0.tar.gz 13092442 BLAKE2B e11ae088c9a4be481f516d83797b1b1d5e9c82f7d9fa98f1ea65e3405e33c99e1e1cf7a35f56a21d9dc922c1d0828b4947d9c6189a5f76ad5c1b28618293f9da SHA512 c9dc7bf843e3392b8b1b4d46c6aa6dd12435aa974abc875574a7a8794abe6ea531fa92d8a635153839fd3fef9059d96a4512831b86b1fb6fb69588c8b29a95d6
+DIST pandas-0.23.4.tar.gz 10490077 BLAKE2B 28a78860e0aa5de8def7bb529fc98b9121a516b7fd7620e31e000ae14217165e6677ce26b56da0b9c603930ab1304725c644426a135d8f9b2a84921b88f3d23d SHA512 0c89db820a49e0cfb9764e64589ff9af819f9a53c01bd0254cd1b6dbd1e9fd452b2ff7c7330ede7623c7576589113e831a19a57c735562b55f90506df15805b9

diff --git a/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch b/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch
new file mode 100644
index 00000000000..aa98b80c2c7
--- /dev/null
+++ b/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch
@@ -0,0 +1,24 @@
+diff --git a/pandas/tests/io/formats/test_format.py b/pandas/tests/io/formats/test_format.py
+index 191e3f37f..8a1d89197 100644
+--- a/pandas/tests/io/formats/test_format.py
++++ b/pandas/tests/io/formats/test_format.py
+@@ -1585,6 +1585,7 @@ c  10  11  12  13  14\
+         with option_context('display.max_rows', 60, 'display.max_columns', 20):
+             assert '...' in df._repr_html_()
+ 
++    @pytest.mark.skip("Fails in Gentoo")
+     def test_info_repr(self):
+         max_rows = 60
+         max_cols = 20
+diff --git a/pandas/tests/io/json/test_ujson.py b/pandas/tests/io/json/test_ujson.py
+index 89acbfdc9..9c4b5c291 100644
+--- a/pandas/tests/io/json/test_ujson.py
++++ b/pandas/tests/io/json/test_ujson.py
+@@ -1097,6 +1097,7 @@ class TestNumpyJSONTests(object):
+         outp = ujson.decode(ujson.encode(arr), numpy=True, dtype=np.float32)
+         tm.assert_almost_equal(arr, outp)
+ 
++    @pytest.mark.skip("Fails on Gentoo")
+     def test_OdArray(self):
+         def will_raise():
+             ujson.encode(np.array(1))

diff --git a/dev-python/pandas/pandas-0.23.4.ebuild b/dev-python/pandas/pandas-0.23.4.ebuild
new file mode 100644
index 00000000000..b9c5ce203a1
--- /dev/null
+++ b/dev-python/pandas/pandas-0.23.4.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 eutils flag-o-matic virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="http://pandas.pydata.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/_/}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc full-support minimal test X"
+
+RECOMMENDED_DEPEND="
+	>=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}]
+	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
+"
+OPTIONAL_DEPEND="
+	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+	dev-python/blosc[${PYTHON_USEDEP}]
+	dev-python/boto[${PYTHON_USEDEP}]
+	>=dev-python/google-api-python-client-1.2.0[$(python_gen_usedep python2_7 pypy)]
+	|| (
+		dev-python/html5lib[${PYTHON_USEDEP}]
+		dev-python/lxml[${PYTHON_USEDEP}]
+	)
+	dev-python/httplib2[${PYTHON_USEDEP}]
+	dev-python/jinja[${PYTHON_USEDEP}]
+	dev-python/matplotlib[${PYTHON_USEDEP}]
+	|| (
+		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+		dev-python/xlsxwriter[${PYTHON_USEDEP}]
+	)
+	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
+	dev-python/python-gflags[$(python_gen_usedep python2_7 pypy)]
+	dev-python/rpy[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	dev-python/statsmodels[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
+	>=dev-python/xarray-0.10.8[${PYTHON_USEDEP}]
+	dev-python/xlrd[${PYTHON_USEDEP}]
+	dev-python/xlwt[${PYTHON_USEDEP}]
+	sci-libs/scipy[${PYTHON_USEDEP}]
+	X? (
+		|| (
+			dev-python/PyQt5[${PYTHON_USEDEP}]
+			dev-python/pygtk[$(python_gen_usedep python2_7)]
+		)
+		|| (
+			x11-misc/xclip
+			x11-misc/xsel
+		)
+	)
+"
+COMMON_DEPEND="
+	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
+	dev-python/pytz[${PYTHON_USEDEP}]
+"
+DEPEND="${COMMON_DEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=dev-python/cython-0.23[${PYTHON_USEDEP}]
+	doc? (
+		${VIRTUALX_DEPEND}
+		app-text/pandoc
+		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+		dev-python/html5lib[${PYTHON_USEDEP}]
+		dev-python/ipython[${PYTHON_USEDEP}]
+		dev-python/lxml[${PYTHON_USEDEP}]
+		dev-python/matplotlib[${PYTHON_USEDEP}]
+		dev-python/nbsphinx[${PYTHON_USEDEP}]
+		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
+		dev-python/pytz[${PYTHON_USEDEP}]
+		dev-python/rpy[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
+		dev-python/xlrd[${PYTHON_USEDEP}]
+		dev-python/xlwt[${PYTHON_USEDEP}]
+		sci-libs/scipy[${PYTHON_USEDEP}]
+		x11-misc/xclip
+	)
+	test? (
+		${VIRTUALX_DEPEND}
+		${RECOMMENDED_DEPEND}
+		${OPTIONAL_DEPEND}
+		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+		dev-python/nose[${PYTHON_USEDEP}]
+		dev-python/pymysql[${PYTHON_USEDEP}]
+		dev-python/pytest[${PYTHON_USEDEP}]
+		dev-python/psycopg:2[${PYTHON_USEDEP}]
+		x11-misc/xclip
+		x11-misc/xsel
+	)
+"
+# dev-python/statsmodels invokes a circular dep
+#  hence rm from doc? ( ), again
+RDEPEND="${COMMON_DEPEND}
+	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
+	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]
+	!minimal? ( ${RECOMMENDED_DEPEND} )
+	full-support? ( ${OPTIONAL_DEPEND} )
+"
+
+S="${WORKDIR}/${P/_/}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-0.23.4-skip-broken-test.patch"
+)
+
+python_prepare_all() {
+	# Prevent un-needed download during build
+	sed -e "/^              'sphinx.ext.intersphinx',/d" \
+		-i doc/source/conf.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	# To build docs the need be located in $BUILD_DIR,
+	# else PYTHONPATH points to unusable modules.
+	if use doc; then
+		cd "${BUILD_DIR}"/lib || die
+		cp -ar "${S}"/doc . && cd doc || die
+		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html || die
+	fi
+}
+
+python_test() {
+	pushd  "${BUILD_DIR}"/lib > /dev/null
+	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+	PYTHONPATH=. virtx pytest pandas -v --skip-slow --skip-network \
+		-m "not single"
+	popd > /dev/null
+}
+
+python_install_all() {
+	if use doc; then
+		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
+		einfo "An initial build of docs is absent of references to statsmodels"
+		einfo "due to circular dependency. To have them included, emerge"
+		einfo "statsmodels next and re-emerge pandas with USE doc"
+	fi
+
+	distutils-r1_python_install_all
+}
+
+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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
+	optfeature "for msgpack compression using blosc" dev-python/blosc
+	optfeature "necessary for Amazon S3 access" dev-python/boto
+	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags ">=dev-python/google-api-python-client-1.2.0"
+	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
+	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-0.8.1"
+	optfeature "miscellaneous statistical functions" sci-libs/scipy
+	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2020-01-19 19:54 Pacho Ramos
  0 siblings, 0 replies; 10+ messages in thread
From: Pacho Ramos @ 2020-01-19 19:54 UTC (permalink / raw
  To: gentoo-commits

commit:     b4aec8ba0d4cce0ec3f22c735ba4d0c2d0f42087
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 19 19:48:27 2020 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Jan 19 19:54:11 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4aec8ba

(cat_pn): Drop old

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 dev-python/pandas/Manifest                         |   2 -
 dev-python/pandas/files/pandas-0.19.1-gapi.patch   |  27 --
 dev-python/pandas/files/pandas-0.19.1-seqf.patch   | 357 ---------------------
 .../files/pandas-0.23.4-skip-broken-test.patch     |  24 --
 dev-python/pandas/pandas-0.19.1.ebuild             | 159 ---------
 dev-python/pandas/pandas-0.23.4.ebuild             | 169 ----------
 6 files changed, 738 deletions(-)

diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index c5268587c92..979d04182ba 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,3 +1 @@
-DIST pandas-0.19.1.tar.gz 8360233 BLAKE2B 82611ca1a3e3169ac2d084f4dcd9c4d4d74e9e9c9913a41acad48ae68a208a884dfd877445a7d658a7ff098ef383cedae7e79a4900baa8d56c032ce9aaad96eb SHA512 6451990a7fae8c6db8ab0b014a13b4f1828754d3998f13c17b111f891fb9fd23f8e09b907623096dfa55668c42298eee1373210a9fddb95f56dd7d552b964e6f
-DIST pandas-0.23.4.tar.gz 10490077 BLAKE2B 28a78860e0aa5de8def7bb529fc98b9121a516b7fd7620e31e000ae14217165e6677ce26b56da0b9c603930ab1304725c644426a135d8f9b2a84921b88f3d23d SHA512 0c89db820a49e0cfb9764e64589ff9af819f9a53c01bd0254cd1b6dbd1e9fd452b2ff7c7330ede7623c7576589113e831a19a57c735562b55f90506df15805b9
 DIST pandas-0.24.2.tar.gz 11837693 BLAKE2B 3762e94554a3ae3c803c9a412c5c551c15a9fbf15cb05633f7d1b0ccbfddc646f68f0306666e688a83a4495b0537cea2fec671157f5a63aaa5f9cad6b791261e SHA512 0795c6bb8a47a511853558ea59d371b4540ec175f213cfba4ad2361d6481fea5d3f7074bb4961c32f2f0080a72d7436a9b3706f5cc692074f98d83bfc587fd15

diff --git a/dev-python/pandas/files/pandas-0.19.1-gapi.patch b/dev-python/pandas/files/pandas-0.19.1-gapi.patch
deleted file mode 100644
index 7a0456fdacf..00000000000
--- a/dev-python/pandas/files/pandas-0.19.1-gapi.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 1d6dbb41b26a39121ec8c4f19f5da78bb0ab4af7 Mon Sep 17 00:00:00 2001
-From: Jeff Reback <jeff@reback.net>
-Date: Sat, 12 Nov 2016 12:44:06 -0500
-Subject: [PATCH] TST: skip test_gbq.test_upload_data_if_table_exists_replace
- for now
-
----
- pandas/io/tests/test_gbq.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/pandas/io/tests/test_gbq.py b/pandas/io/tests/test_gbq.py
-index cca1580b8..f6ff35a6d 100644
---- a/pandas/io/tests/test_gbq.py
-+++ b/pandas/io/tests/test_gbq.py
-@@ -824,6 +824,9 @@ class TestToGBQIntegration(tm.TestCase):
-                        private_key=_get_private_key_path())
- 
-     def test_upload_data_if_table_exists_replace(self):
-+
-+        raise nose.SkipTest("buggy test")
-+
-         destination_table = DESTINATION_TABLE + "4"
- 
-         test_size = 10
--- 
-2.11.0
-

diff --git a/dev-python/pandas/files/pandas-0.19.1-seqf.patch b/dev-python/pandas/files/pandas-0.19.1-seqf.patch
deleted file mode 100644
index c82c14ff8fd..00000000000
--- a/dev-python/pandas/files/pandas-0.19.1-seqf.patch
+++ /dev/null
@@ -1,357 +0,0 @@
-From f8bd08e9c2fc6365980f41b846bbae4b40f08b83 Mon Sep 17 00:00:00 2001
-From: Jeff Reback <jeff@reback.net>
-Date: Sat, 12 Nov 2016 10:58:54 -0500
-Subject: [PATCH] BUG: segfault manifesting with dateutil=2.6 w.r.t. replace
- when timezones are present
-
-closes #14621
-
-Author: Jeff Reback <jeff@reback.net>
-
-Closes #14631 from jreback/replace and squashes the following commits:
-
-3f95042 [Jeff Reback] BUG: segfault manifesting with dateutil=2.6 w.r.t. replace when timezones are present
----
- ci/requirements-3.5_OSX.pip            |  2 +-
- doc/source/whatsnew/v0.19.2.txt        |  3 ++
- pandas/tseries/offsets.py              |  1 +
- pandas/tseries/tests/test_offsets.py   | 20 ++++---
- pandas/tseries/tests/test_timezones.py | 89 +++++++++++++++++++++++++++++--
- pandas/tseries/tests/test_tslib.py     |  5 +-
- pandas/tslib.pyx                       | 95 ++++++++++++++++++++++++++++------
- 7 files changed, 188 insertions(+), 27 deletions(-)
-
-diff --git a/pandas/tseries/offsets.py b/pandas/tseries/offsets.py
-index 051cc8aa4..2e3852a7e 100644
---- a/pandas/tseries/offsets.py
-+++ b/pandas/tseries/offsets.py
-@@ -68,6 +68,7 @@ def apply_wraps(func):
-                 other = other.tz_localize(None)
- 
-             result = func(self, other)
-+
-             if self._adjust_dst:
-                 result = tslib._localize_pydatetime(result, tz)
- 
-diff --git a/pandas/tseries/tests/test_offsets.py b/pandas/tseries/tests/test_offsets.py
-index 1735ac4e2..768e9212e 100644
---- a/pandas/tseries/tests/test_offsets.py
-+++ b/pandas/tseries/tests/test_offsets.py
-@@ -1,4 +1,5 @@
- import os
-+from distutils.version import LooseVersion
- from datetime import date, datetime, timedelta
- from dateutil.relativedelta import relativedelta
- from pandas.compat import range, iteritems
-@@ -4851,6 +4852,7 @@ class TestDST(tm.TestCase):
- 
-     def _test_offset(self, offset_name, offset_n, tstart, expected_utc_offset):
-         offset = DateOffset(**{offset_name: offset_n})
-+
-         t = tstart + offset
-         if expected_utc_offset is not None:
-             self.assertTrue(get_utc_offset_hours(t) == expected_utc_offset)
-@@ -4890,17 +4892,23 @@ class TestDST(tm.TestCase):
-         return Timestamp(string + offset_string).tz_convert(tz)
- 
-     def test_fallback_plural(self):
--        """test moving from daylight savings to standard time"""
-+        # test moving from daylight savings to standard time
-+        import dateutil
-         for tz, utc_offsets in self.timezone_utc_offsets.items():
-             hrs_pre = utc_offsets['utc_offset_daylight']
-             hrs_post = utc_offsets['utc_offset_standard']
--            self._test_all_offsets(
--                n=3, tstart=self._make_timestamp(self.ts_pre_fallback,
--                                                 hrs_pre, tz),
--                expected_utc_offset=hrs_post)
-+
-+            if dateutil.__version__ != LooseVersion('2.6.0'):
-+                # buggy ambiguous behavior in 2.6.0
-+                # GH 14621
-+                # https://github.com/dateutil/dateutil/issues/321
-+                self._test_all_offsets(
-+                    n=3, tstart=self._make_timestamp(self.ts_pre_fallback,
-+                                                     hrs_pre, tz),
-+                    expected_utc_offset=hrs_post)
- 
-     def test_springforward_plural(self):
--        """test moving from standard to daylight savings"""
-+        # test moving from standard to daylight savings
-         for tz, utc_offsets in self.timezone_utc_offsets.items():
-             hrs_pre = utc_offsets['utc_offset_standard']
-             hrs_post = utc_offsets['utc_offset_daylight']
-diff --git a/pandas/tseries/tests/test_timezones.py b/pandas/tseries/tests/test_timezones.py
-index 00e8ee631..db8cda5c7 100644
---- a/pandas/tseries/tests/test_timezones.py
-+++ b/pandas/tseries/tests/test_timezones.py
-@@ -4,7 +4,7 @@ import nose
- 
- import numpy as np
- import pytz
--
-+from distutils.version import LooseVersion
- from pandas.types.dtypes import DatetimeTZDtype
- from pandas import (Index, Series, DataFrame, isnull, Timestamp)
- 
-@@ -518,8 +518,12 @@ class TestTimeZoneSupportPytz(tm.TestCase):
- 
-         times = date_range("2013-10-26 23:00", "2013-10-27 01:00", freq="H",
-                            tz=tz, ambiguous='infer')
--        self.assertEqual(times[0], Timestamp('2013-10-26 23:00', tz=tz))
--        self.assertEqual(times[-1], Timestamp('2013-10-27 01:00', tz=tz))
-+        self.assertEqual(times[0], Timestamp('2013-10-26 23:00', tz=tz,
-+                                             freq="H"))
-+        if dateutil.__version__ != LooseVersion('2.6.0'):
-+            # GH 14621
-+            self.assertEqual(times[-1], Timestamp('2013-10-27 01:00', tz=tz,
-+                                                  freq="H"))
- 
-     def test_ambiguous_nat(self):
-         tz = self.tz('US/Eastern')
-@@ -1163,6 +1167,85 @@ class TestTimeZones(tm.TestCase):
-     def setUp(self):
-         tm._skip_if_no_pytz()
- 
-+    def test_replace(self):
-+        # GH 14621
-+        # GH 7825
-+        # replacing datetime components with and w/o presence of a timezone
-+        dt = Timestamp('2016-01-01 09:00:00')
-+        result = dt.replace(hour=0)
-+        expected = Timestamp('2016-01-01 00:00:00')
-+        self.assertEqual(result, expected)
-+
-+        for tz in self.timezones:
-+            dt = Timestamp('2016-01-01 09:00:00', tz=tz)
-+            result = dt.replace(hour=0)
-+            expected = Timestamp('2016-01-01 00:00:00', tz=tz)
-+            self.assertEqual(result, expected)
-+
-+        # we preserve nanoseconds
-+        dt = Timestamp('2016-01-01 09:00:00.000000123', tz=tz)
-+        result = dt.replace(hour=0)
-+        expected = Timestamp('2016-01-01 00:00:00.000000123', tz=tz)
-+        self.assertEqual(result, expected)
-+
-+        # test all
-+        dt = Timestamp('2016-01-01 09:00:00.000000123', tz=tz)
-+        result = dt.replace(year=2015, month=2, day=2, hour=0, minute=5,
-+                            second=5, microsecond=5, nanosecond=5)
-+        expected = Timestamp('2015-02-02 00:05:05.000005005', tz=tz)
-+        self.assertEqual(result, expected)
-+
-+        # error
-+        def f():
-+            dt.replace(foo=5)
-+        self.assertRaises(ValueError, f)
-+
-+        def f():
-+            dt.replace(hour=0.1)
-+        self.assertRaises(ValueError, f)
-+
-+        # assert conversion to naive is the same as replacing tzinfo with None
-+        dt = Timestamp('2013-11-03 01:59:59.999999-0400', tz='US/Eastern')
-+        self.assertEqual(dt.tz_localize(None), dt.replace(tzinfo=None))
-+
-+    def test_ambiguous_compat(self):
-+        # validate that pytz and dateutil are compat for dst
-+        # when the transition happens
-+        tm._skip_if_no_dateutil()
-+        tm._skip_if_no_pytz()
-+
-+        pytz_zone = 'Europe/London'
-+        dateutil_zone = 'dateutil/Europe/London'
-+        result_pytz = (Timestamp('2013-10-27 01:00:00')
-+                       .tz_localize(pytz_zone, ambiguous=0))
-+        result_dateutil = (Timestamp('2013-10-27 01:00:00')
-+                           .tz_localize(dateutil_zone, ambiguous=0))
-+        self.assertEqual(result_pytz.value, result_dateutil.value)
-+        self.assertEqual(result_pytz.value, 1382835600000000000)
-+
-+        # dateutil 2.6 buggy w.r.t. ambiguous=0
-+        if dateutil.__version__ != LooseVersion('2.6.0'):
-+            # GH 14621
-+            # https://github.com/dateutil/dateutil/issues/321
-+            self.assertEqual(result_pytz.to_pydatetime().tzname(),
-+                             result_dateutil.to_pydatetime().tzname())
-+            self.assertEqual(str(result_pytz), str(result_dateutil))
-+
-+        # 1 hour difference
-+        result_pytz = (Timestamp('2013-10-27 01:00:00')
-+                       .tz_localize(pytz_zone, ambiguous=1))
-+        result_dateutil = (Timestamp('2013-10-27 01:00:00')
-+                           .tz_localize(dateutil_zone, ambiguous=1))
-+        self.assertEqual(result_pytz.value, result_dateutil.value)
-+        self.assertEqual(result_pytz.value, 1382832000000000000)
-+
-+        # dateutil < 2.6 is buggy w.r.t. ambiguous timezones
-+        if dateutil.__version__ > LooseVersion('2.5.3'):
-+            # GH 14621
-+            self.assertEqual(str(result_pytz), str(result_dateutil))
-+            self.assertEqual(result_pytz.to_pydatetime().tzname(),
-+                             result_dateutil.to_pydatetime().tzname())
-+
-     def test_index_equals_with_tz(self):
-         left = date_range('1/1/2011', periods=100, freq='H', tz='utc')
-         right = date_range('1/1/2011', periods=100, freq='H', tz='US/Eastern')
-diff --git a/pandas/tseries/tests/test_tslib.py b/pandas/tseries/tests/test_tslib.py
-index 21cfe84f1..b45f867be 100644
---- a/pandas/tseries/tests/test_tslib.py
-+++ b/pandas/tseries/tests/test_tslib.py
-@@ -327,8 +327,9 @@ class TestTimestamp(tm.TestCase):
- 
-         # dateutil zone change (only matters for repr)
-         import dateutil
--        if dateutil.__version__ >= LooseVersion(
--                '2.3') and dateutil.__version__ <= LooseVersion('2.4.0'):
-+        if (dateutil.__version__ >= LooseVersion('2.3') and
-+            (dateutil.__version__ <= LooseVersion('2.4.0') or
-+             dateutil.__version__ >= LooseVersion('2.6.0'))):
-             timezones = ['UTC', 'Asia/Tokyo', 'US/Eastern',
-                          'dateutil/US/Pacific']
-         else:
-diff --git a/pandas/tslib.pyx b/pandas/tslib.pyx
-index d4eaaa0b5..685de214c 100644
---- a/pandas/tslib.pyx
-+++ b/pandas/tslib.pyx
-@@ -98,6 +98,7 @@ except NameError: # py3
- cdef inline object create_timestamp_from_ts(
-         int64_t value, pandas_datetimestruct dts,
-         object tz, object freq):
-+    """ convenience routine to construct a Timestamp from its parts """
-     cdef _Timestamp ts_base
-     ts_base = _Timestamp.__new__(Timestamp, dts.year, dts.month,
-                                  dts.day, dts.hour, dts.min,
-@@ -112,6 +113,7 @@ cdef inline object create_timestamp_from_ts(
- cdef inline object create_datetime_from_ts(
-         int64_t value, pandas_datetimestruct dts,
-         object tz, object freq):
-+    """ convenience routine to construct a datetime.datetime from its parts """
-     return datetime(dts.year, dts.month, dts.day, dts.hour,
-                     dts.min, dts.sec, dts.us, tz)
- 
-@@ -378,7 +380,6 @@ class Timestamp(_Timestamp):
-         # Mixing pydatetime positional and keyword arguments is forbidden!
- 
-         cdef _TSObject ts
--        cdef _Timestamp ts_base
- 
-         if offset is not None:
-             # deprecate offset kwd in 0.19.0, GH13593
-@@ -412,17 +413,7 @@ class Timestamp(_Timestamp):
-             from pandas.tseries.frequencies import to_offset
-             freq = to_offset(freq)
- 
--        # make datetime happy
--        ts_base = _Timestamp.__new__(cls, ts.dts.year, ts.dts.month,
--                                     ts.dts.day, ts.dts.hour, ts.dts.min,
--                                     ts.dts.sec, ts.dts.us, ts.tzinfo)
--
--        # fill out rest of data
--        ts_base.value = ts.value
--        ts_base.freq = freq
--        ts_base.nanosecond = ts.dts.ps / 1000
--
--        return ts_base
-+        return create_timestamp_from_ts(ts.value, ts.dts, ts.tzinfo, freq)
- 
-     def _round(self, freq, rounder):
- 
-@@ -660,8 +651,80 @@ class Timestamp(_Timestamp):
-     astimezone = tz_convert
- 
-     def replace(self, **kwds):
--        return Timestamp(datetime.replace(self, **kwds),
--                         freq=self.freq)
-+        """
-+        implements datetime.replace, handles nanoseconds
-+
-+        Parameters
-+        ----------
-+        kwargs: key-value dict
-+
-+        accepted keywords are:
-+        year, month, day, hour, minute, second, microsecond, nanosecond, tzinfo
-+
-+        values must be integer, or for tzinfo, a tz-convertible
-+
-+        Returns
-+        -------
-+        Timestamp with fields replaced
-+        """
-+
-+        cdef:
-+            pandas_datetimestruct dts
-+            int64_t value
-+            object tzinfo, result, k, v
-+            _TSObject ts
-+
-+        # set to naive if needed
-+        tzinfo = self.tzinfo
-+        value = self.value
-+        if tzinfo is not None:
-+            value = tz_convert_single(value, 'UTC', tzinfo)
-+
-+        # setup components
-+        pandas_datetime_to_datetimestruct(value, PANDAS_FR_ns, &dts)
-+        dts.ps = self.nanosecond * 1000
-+
-+        # replace
-+        def validate(k, v):
-+            """ validate integers """
-+            if not isinstance(v, int):
-+                raise ValueError("value must be an integer, received {v} for {k}".format(v=type(v), k=k))
-+            return v
-+
-+        for k, v in kwds.items():
-+            if k == 'year':
-+                dts.year = validate(k, v)
-+            elif k == 'month':
-+                dts.month = validate(k, v)
-+            elif k == 'day':
-+                dts.day = validate(k, v)
-+            elif k == 'hour':
-+                dts.hour = validate(k, v)
-+            elif k == 'minute':
-+                dts.min = validate(k, v)
-+            elif k == 'second':
-+                dts.sec = validate(k, v)
-+            elif k == 'microsecond':
-+                dts.us = validate(k, v)
-+            elif k == 'nanosecond':
-+                dts.ps = validate(k, v) * 1000
-+            elif k == 'tzinfo':
-+                tzinfo = v
-+            else:
-+                raise ValueError("invalid name {} passed".format(k))
-+
-+        # reconstruct & check bounds
-+        value = pandas_datetimestruct_to_datetime(PANDAS_FR_ns, &dts)
-+        if value != NPY_NAT:
-+            _check_dts_bounds(&dts)
-+
-+        # set tz if needed
-+        if tzinfo is not None:
-+            value = tz_convert_single(value, tzinfo, 'UTC')
-+
-+        result = create_timestamp_from_ts(value, dts, tzinfo, self.freq)
-+
-+        return result
- 
-     def isoformat(self, sep='T'):
-         base = super(_Timestamp, self).isoformat(sep=sep)
-@@ -5041,7 +5104,9 @@ cpdef normalize_date(object dt):
-     -------
-     normalized : datetime.datetime or Timestamp
-     """
--    if PyDateTime_Check(dt):
-+    if is_timestamp(dt):
-+        return dt.replace(hour=0, minute=0, second=0, microsecond=0, nanosecond=0)
-+    elif PyDateTime_Check(dt):
-         return dt.replace(hour=0, minute=0, second=0, microsecond=0)
-     elif PyDate_Check(dt):
-         return datetime(dt.year, dt.month, dt.day)
--- 
-2.11.0
-

diff --git a/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch b/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch
deleted file mode 100644
index aa98b80c2c7..00000000000
--- a/dev-python/pandas/files/pandas-0.23.4-skip-broken-test.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/pandas/tests/io/formats/test_format.py b/pandas/tests/io/formats/test_format.py
-index 191e3f37f..8a1d89197 100644
---- a/pandas/tests/io/formats/test_format.py
-+++ b/pandas/tests/io/formats/test_format.py
-@@ -1585,6 +1585,7 @@ c  10  11  12  13  14\
-         with option_context('display.max_rows', 60, 'display.max_columns', 20):
-             assert '...' in df._repr_html_()
- 
-+    @pytest.mark.skip("Fails in Gentoo")
-     def test_info_repr(self):
-         max_rows = 60
-         max_cols = 20
-diff --git a/pandas/tests/io/json/test_ujson.py b/pandas/tests/io/json/test_ujson.py
-index 89acbfdc9..9c4b5c291 100644
---- a/pandas/tests/io/json/test_ujson.py
-+++ b/pandas/tests/io/json/test_ujson.py
-@@ -1097,6 +1097,7 @@ class TestNumpyJSONTests(object):
-         outp = ujson.decode(ujson.encode(arr), numpy=True, dtype=np.float32)
-         tm.assert_almost_equal(arr, outp)
- 
-+    @pytest.mark.skip("Fails on Gentoo")
-     def test_OdArray(self):
-         def will_raise():
-             ujson.encode(np.array(1))

diff --git a/dev-python/pandas/pandas-0.19.1.ebuild b/dev-python/pandas/pandas-0.19.1.ebuild
deleted file mode 100644
index c4c2ef5163e..00000000000
--- a/dev-python/pandas/pandas-0.19.1.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python3_6 )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="https://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc -minimal full-support test X"
-RESTRICT="!test? ( test )"
-
-MINIMAL_DEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]"
-RECOMMENDED_DEPEND="
-	dev-python/bottleneck[${PYTHON_USEDEP}]
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]"
-OPTIONAL_DEPEND="
-	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-	dev-python/blosc[${PYTHON_USEDEP}]
-	dev-python/boto[${PYTHON_USEDEP}]
-	|| ( dev-python/html5lib[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] )
-	dev-python/httplib2[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	|| ( >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}] dev-python/xlsxwriter[${PYTHON_USEDEP}] )
-	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
-	dev-python/rpy[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
-	dev-python/xlrd[${PYTHON_USEDEP}]
-	dev-python/xlwt[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	X? (
-		|| (
-			x11-misc/xclip
-			x11-misc/xsel
-		)
-	)
-	"
-
-DEPEND="${MINIMAL_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
-	doc? (
-		${VIRTUALX_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		x11-misc/xclip
-	)
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pymysql[${PYTHON_USEDEP}]
-		dev-python/psycopg:2[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-	)"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="
-	${MINIMAL_DEPEND}
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )"
-
-PATCHES=(
-	"${FILESDIR}"/${P}-gapi.patch
-	"${FILESDIR}"/${P}-seqf.patch
-)
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" -i doc/source/conf.py || die
-
-	# https://github.com/pydata/pandas/issues/11299
-	sed \
-		-e 's:testOdArray:disable:g' \
-		-i pandas/io/tests/json/test_ujson.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
-	fi
-}
-
-python_test() {
-	local test_pandas='not network and not disabled'
-	[[ -n "${FAST_PANDAS}" ]] && test_pandas+=' and not slow'
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	PYTHONPATH=. MPLCONFIGDIR=. \
-		virtx nosetests --verbosity=3 -A "${test_pandas}" pandas
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
-	optfeature "for msgpack compression using blosc" dev-python/blosc
-	optfeature "necessary for Amazon S3 access" dev-python/boto
-	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags ">=dev-python/google-api-python-client-1.2.0"
-	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
-	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
-	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-0.8.1"
-	optfeature "miscellaneous statistical functions" sci-libs/scipy
-	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}

diff --git a/dev-python/pandas/pandas-0.23.4.ebuild b/dev-python/pandas/pandas-0.23.4.ebuild
deleted file mode 100644
index d8ac3018bf4..00000000000
--- a/dev-python/pandas/pandas-0.23.4.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="https://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/_/}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
-	>=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}]
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-"
-OPTIONAL_DEPEND="
-	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-	dev-python/blosc[${PYTHON_USEDEP}]
-	dev-python/boto[${PYTHON_USEDEP}]
-	|| (
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-	)
-	dev-python/httplib2[${PYTHON_USEDEP}]
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	|| (
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		dev-python/xlsxwriter[${PYTHON_USEDEP}]
-	)
-	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
-	dev-python/rpy[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
-	>=dev-python/xarray-0.10.8[${PYTHON_USEDEP}]
-	dev-python/xlrd[${PYTHON_USEDEP}]
-	dev-python/xlwt[${PYTHON_USEDEP}]
-	sci-libs/scipy[${PYTHON_USEDEP}]
-	X? (
-		|| (
-			dev-python/PyQt5[${PYTHON_USEDEP}]
-		)
-		|| (
-			x11-misc/xclip
-			x11-misc/xsel
-		)
-	)
-"
-COMMON_DEPEND="
-	>dev-python/numpy-1.7[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.0[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-"
-DEPEND="${COMMON_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/cython-0.23[${PYTHON_USEDEP}]
-	doc? (
-		${VIRTUALX_DEPEND}
-		app-text/pandoc
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		dev-python/nbsphinx[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.2.1[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		x11-misc/xclip
-	)
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pymysql[${PYTHON_USEDEP}]
-		dev-python/pytest[${PYTHON_USEDEP}]
-		dev-python/psycopg:2[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-	)
-"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="${COMMON_DEPEND}
-	!<dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-	!~dev-python/openpyxl-1.9.0[${PYTHON_USEDEP}]
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-S="${WORKDIR}/${P/_/}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-0.23.4-skip-broken-test.patch"
-)
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" \
-		-i doc/source/conf.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
-	fi
-}
-
-python_test() {
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	PYTHONPATH=. virtx pytest pandas -v --skip-slow --skip-network \
-		-m "not single"
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
-	optfeature "for msgpack compression using blosc" dev-python/blosc
-	optfeature "necessary for Amazon S3 access" dev-python/boto
-	optfeature "needed for pandas.io.gbq" dev-python/httplib2 dev-python/setuptools dev-python/python-gflags ">=dev-python/google-api-python-client-1.2.0"
-	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
-	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
-	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-0.8.1"
-	optfeature "miscellaneous statistical functions" sci-libs/scipy
-	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2020-08-07 19:56 Michał Górny
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Górny @ 2020-08-07 19:56 UTC (permalink / raw
  To: gentoo-commits

commit:     ce536c2855117bfdf2a072e49ba1a5627941e481
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  7 19:47:38 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug  7 19:56:20 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce536c28

dev-python/pandas: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pandas/Manifest                         |   2 -
 .../files/pandas-0.24.2-skip-broken-test.patch     |  15 --
 dev-python/pandas/pandas-0.24.2.ebuild             | 166 -------------------
 dev-python/pandas/pandas-1.0.4.ebuild              | 175 ---------------------
 4 files changed, 358 deletions(-)

diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index 61155686962..8a40c3370c6 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,4 +1,2 @@
-DIST pandas-0.24.2.tar.gz 11837693 BLAKE2B 3762e94554a3ae3c803c9a412c5c551c15a9fbf15cb05633f7d1b0ccbfddc646f68f0306666e688a83a4495b0537cea2fec671157f5a63aaa5f9cad6b791261e SHA512 0795c6bb8a47a511853558ea59d371b4540ec175f213cfba4ad2361d6481fea5d3f7074bb4961c32f2f0080a72d7436a9b3706f5cc692074f98d83bfc587fd15
-DIST pandas-1.0.4.tar.gz 5040267 BLAKE2B 2855b1708e1ae4c56b6118613ec644d010a3af7db474bb30aec3cf84e497371af03b63a2168f6daf0fc42da07274f8724734117c6aaea34f49eeafbf6ac73b9f SHA512 01ef73cab3db067ca4a29992d71aa637425b8d70473fde6ccfb359dfedc9546315c6d37d74f3825c924cab789c2536ec69db071a303cfc5e1a7897b253dd9467
 DIST pandas-1.0.5.tar.gz 5007108 BLAKE2B 6aff9602f8b1642af1dca70c7c596f2978bfef8ca9bc782d55aeeab85d3768289849ccd0150291c33cab3442d38cedada91fb846abaade1b3905098edb06c06e SHA512 bb9e3ed9988f7b878ac6f9d7c6c054b119acfc4b960ae42ea92436979ef2098289123cac32b176753942a1edb3b6bd35c4eaf05112a25fbf8a89078fd76a2646
 DIST pandas-1.1.0.tar.gz 5211071 BLAKE2B 538e7579384dceb29f1761e00181fda4f07556ee15723a127966e47c317babead19b364943808d11f03007d5a48da3b28bf8fd9e5c1f40bb3285604307bff267 SHA512 496344967e6061ed451edfe2057d0b63d7277cdce0e12e2e2ce558aef2c23fa5d85daae239fcf88820196add3a928734f31af2734866da7b0385f363607e2885

diff --git a/dev-python/pandas/files/pandas-0.24.2-skip-broken-test.patch b/dev-python/pandas/files/pandas-0.24.2-skip-broken-test.patch
deleted file mode 100644
index dcc61dc0cfd..00000000000
--- a/dev-python/pandas/files/pandas-0.24.2-skip-broken-test.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pandas/tests/io/json/test_ujson.py b/pandas/tests/io/json/test_ujson.py
-index 63ba9bc0f..854afecab 100644
---- a/pandas/tests/io/json/test_ujson.py
-+++ b/pandas/tests/io/json/test_ujson.py
-@@ -841,7 +841,9 @@ class TestNumpyJSONTests(object):
-         arr_out = ujson.decode(ujson.encode(arr), numpy=True, dtype=dtype)
-         tm.assert_almost_equal(arr, arr_out)
- 
--    def test_0d_array(self):
-+    # Segfaulting on gentoo, not sure why. TODO: find why.
-+    # Clue: https://github.com/pandas-dev/pandas/issues/22718
-+    def xtest_0d_array(self):
-         with pytest.raises(TypeError):
-             ujson.encode(np.array(1))
- 

diff --git a/dev-python/pandas/pandas-0.24.2.ebuild b/dev-python/pandas/pandas-0.24.2.ebuild
deleted file mode 100644
index fd193a5c024..00000000000
--- a/dev-python/pandas/pandas-0.24.2.ebuild
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="https://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/_/}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
-	>=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}]
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-OPTIONAL_DEPEND="
-	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-	dev-python/blosc[${PYTHON_USEDEP}]
-	|| (
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-	)
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	|| (
-		dev-python/openpyxl[${PYTHON_USEDEP}]
-		dev-python/xlsxwriter[${PYTHON_USEDEP}]
-	)
-	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
-	dev-python/s3fs[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
-	>=dev-python/xarray-0.10.8[${PYTHON_USEDEP}]
-	>=dev-python/xlrd-1.0.0[${PYTHON_USEDEP}]
-	dev-python/xlwt[${PYTHON_USEDEP}]
-	>=sci-libs/scipy-1.1[${PYTHON_USEDEP}]
-	X? (
-		|| (
-			dev-python/PyQt5[${PYTHON_USEDEP}]
-			x11-misc/xclip
-			x11-misc/xsel
-		)
-	)
-"
-COMMON_DEPEND="
-	>dev-python/numpy-1.13.1[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-"
-DEPEND="${COMMON_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	dev-python/cython[${PYTHON_USEDEP}]
-	doc? (
-		${VIRTUALX_DEPEND}
-		app-text/pandoc
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		dev-python/nbsphinx[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.1[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		dev-python/sphinx[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		x11-misc/xclip
-	)
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/hypothesis[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pymysql[${PYTHON_USEDEP}]
-		dev-python/pytest[${PYTHON_USEDEP}]
-		dev-python/pytest-mock[${PYTHON_USEDEP}]
-		dev-python/psycopg:2[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-	)
-"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="${COMMON_DEPEND}
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-S="${WORKDIR}/${P/_/}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-0.24.2-skip-broken-test.patch"
-)
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" \
-		-i doc/source/conf.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
-	fi
-}
-
-python_test() {
-	pushd  "${BUILD_DIR}"/lib > /dev/null
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	PYTHONPATH=. virtx pytest pandas -v --skip-slow --skip-network \
-		-m "not single"
-	popd > /dev/null
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
-	optfeature "for msgpack compression using blosc" dev-python/blosc
-	optfeature "necessary for Amazon S3 access" dev-python/s3fs
-	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
-	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
-	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-0.8.1"
-	optfeature "miscellaneous statistical functions" sci-libs/scipy
-	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}

diff --git a/dev-python/pandas/pandas-1.0.4.ebuild b/dev-python/pandas/pandas-1.0.4.ebuild
deleted file mode 100644
index 3fb89871d2a..00000000000
--- a/dev-python/pandas/pandas-1.0.4.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1 eutils flag-o-matic virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="https://pandas.pydata.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/_/}.tar.gz"
-S="${WORKDIR}/${P/_/}"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 ~x86"
-IUSE="doc full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
-	>=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}]
-	>=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-OPTIONAL_DEPEND="
-	dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-	dev-python/blosc[${PYTHON_USEDEP}]
-	|| (
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-	)
-	dev-python/jinja[${PYTHON_USEDEP}]
-	dev-python/matplotlib[${PYTHON_USEDEP}]
-	|| (
-		dev-python/openpyxl[${PYTHON_USEDEP}]
-		dev-python/xlsxwriter[${PYTHON_USEDEP}]
-	)
-	>=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
-	dev-python/s3fs[${PYTHON_USEDEP}]
-	dev-python/statsmodels[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		>=dev-python/xarray-0.10.8[${PYTHON_USEDEP}]
-	' python3_{6,7})
-	>=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
-	>=dev-python/xlrd-1.0.0[${PYTHON_USEDEP}]
-	dev-python/xlwt[${PYTHON_USEDEP}]
-	>=sci-libs/scipy-1.1[${PYTHON_USEDEP}]
-	X? (
-		|| (
-			dev-python/PyQt5[${PYTHON_USEDEP}]
-			x11-misc/xclip
-			x11-misc/xsel
-		)
-	)
-"
-COMMON_DEPEND="
-	>dev-python/numpy-1.13.1[${PYTHON_USEDEP}]
-	dev-python/python-dateutil[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-"
-DEPEND="${COMMON_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/cython-0.29.20-r1[${PYTHON_USEDEP}]
-	doc? (
-		${VIRTUALX_DEPEND}
-		app-text/pandoc
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/html5lib[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/lxml[${PYTHON_USEDEP}]
-		dev-python/matplotlib[${PYTHON_USEDEP}]
-		dev-python/nbsphinx[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.1[${PYTHON_USEDEP}]
-		>=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
-		>=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
-		dev-python/pytz[${PYTHON_USEDEP}]
-		dev-python/rpy[${PYTHON_USEDEP}]
-		dev-python/sphinx[${PYTHON_USEDEP}]
-		dev-python/xlrd[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		sci-libs/scipy[${PYTHON_USEDEP}]
-		x11-misc/xclip
-	)
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
-		dev-python/hypothesis[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pymysql[${PYTHON_USEDEP}]
-		dev-python/pytest[${PYTHON_USEDEP}]
-		dev-python/pytest-mock[${PYTHON_USEDEP}]
-		dev-python/psycopg:2[${PYTHON_USEDEP}]
-		x11-misc/xclip
-		x11-misc/xsel
-	)
-"
-# dev-python/statsmodels invokes a circular dep
-#  hence rm from doc? ( ), again
-RDEPEND="${COMMON_DEPEND}
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-python_prepare_all() {
-	# Prevent un-needed download during build
-	sed -e "/^              'sphinx.ext.intersphinx',/d" \
-		-i doc/source/conf.py || die
-
-	# requires package installed
-	sed -e 's:test_register_entrypoint:_&:' \
-		-i pandas/tests/plotting/test_backend.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	# To build docs the need be located in $BUILD_DIR,
-	# else PYTHONPATH points to unusable modules.
-	if use doc; then
-		cd "${BUILD_DIR}"/lib || die
-		cp -ar "${S}"/doc . && cd doc || die
-		LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
-	fi
-}
-
-src_test() {
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	local -x LC_ALL=C.UTF-8
-	pushd  "${BUILD_DIR}"/lib > /dev/null || die
-	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	PYTHONPATH=. pytest pandas -v --skip-slow --skip-network \
-		-m "not single" || die "Tests failed with ${EPYTHON}"
-	find . '(' -name .pytest_cache -o -name .hypothesis ')' \
-		-exec rm -r {} + || die
-	popd > /dev/null || die
-}
-
-python_install_all() {
-	if use doc; then
-		dodoc -r "${BUILD_DIR}"/lib/doc/build/html
-		einfo "An initial build of docs is absent of references to statsmodels"
-		einfo "due to circular dependency. To have them included, emerge"
-		einfo "statsmodels next and re-emerge pandas with USE doc"
-	fi
-
-	distutils-r1_python_install_all
-}
-
-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/beautifulsoup:4 dev-python/html5lib dev-python/lxml
-	optfeature "for msgpack compression using blosc" dev-python/blosc
-	optfeature "necessary for Amazon S3 access" dev-python/s3fs
-	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-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
-	optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
-	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-0.8.1"
-	optfeature "miscellaneous statistical functions" sci-libs/scipy
-	optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2021-10-29 16:59 Sam James
  0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2021-10-29 16:59 UTC (permalink / raw
  To: gentoo-commits

commit:     45d65df5773c2bcaf1241e5c0881c7308d9c6740
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 29 16:59:28 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 29 16:59:28 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45d65df5

dev-python/pandas: fix detecting 32-bit arm (for skipping some tests)

Bug: https://bugs.gentoo.org/818964
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pandas/files/pandas-1.3.4-arm-tests.patch       | 21 +++++++++++++++++++++
 dev-python/pandas/pandas-1.3.4.ebuild               |  5 +++++
 2 files changed, 26 insertions(+)

diff --git a/dev-python/pandas/files/pandas-1.3.4-arm-tests.patch b/dev-python/pandas/files/pandas-1.3.4-arm-tests.patch
new file mode 100644
index 00000000000..c30d10460b6
--- /dev/null
+++ b/dev-python/pandas/files/pandas-1.3.4-arm-tests.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/818964
+https://github.com/pandas-dev/pandas/commit/b0992ee2f4653c7d70ddbad6f2d172a4ef0bda32
+
+From: Sam James <sam@cmpct.info>
+Date: Fri, 29 Oct 2021 17:24:01 +0100
+Subject: [PATCH] Update is_platform_arm() to detect 32-bit arm and other
+ variants (#44225)
+
+--- a/pandas/compat/__init__.py
++++ b/pandas/compat/__init__.py
+@@ -99,7 +99,9 @@ def is_platform_arm() -> bool:
+     bool
+         True if the running platform uses ARM architecture.
+     """
+-    return platform.machine() in ("arm64", "aarch64")
++    return platform.machine() in ("arm64", "aarch64") or platform.machine().startswith(
++        "armv"
++    )
+ 
+ 
+ def import_lzma():

diff --git a/dev-python/pandas/pandas-1.3.4.ebuild b/dev-python/pandas/pandas-1.3.4.ebuild
index 4c3b594f00c..4d866a1cf62 100644
--- a/dev-python/pandas/pandas-1.3.4.ebuild
+++ b/dev-python/pandas/pandas-1.3.4.ebuild
@@ -106,6 +106,11 @@ RDEPEND="${COMMON_DEPEND}
 	full-support? ( ${OPTIONAL_DEPEND} )
 "
 
+PATCHES=(
+	# Upstream patch to fix 32-bit ARM test detection
+	"${FILESDIR}"/${P}-arm-tests.patch
+)
+
 python_prepare_all() {
 	# Prevent un-needed download during build
 	sed -e "/^              'sphinx.ext.intersphinx',/d" \


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2023-08-31 20:21 Michał Górny
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Górny @ 2023-08-31 20:21 UTC (permalink / raw
  To: gentoo-commits

commit:     5bbaf661cb9f4ea915197376e204f29fab736684
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 31 19:29:46 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 31 20:21:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bbaf661

dev-python/pandas: Fix build & tests

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../pandas/files/pandas-2.1.0-build-system.patch   | 53 ++++++++++++
 dev-python/pandas/pandas-2.1.0.ebuild              | 94 +++++++++++++++++++---
 2 files changed, 134 insertions(+), 13 deletions(-)

diff --git a/dev-python/pandas/files/pandas-2.1.0-build-system.patch b/dev-python/pandas/files/pandas-2.1.0-build-system.patch
new file mode 100644
index 000000000000..3f858647f919
--- /dev/null
+++ b/dev-python/pandas/files/pandas-2.1.0-build-system.patch
@@ -0,0 +1,53 @@
+From 2e8e37e495b85856bb440e67db9a6a72a37cfedd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 31 Aug 2023 18:21:26 +0200
+Subject: [PATCH] Fix build system problems
+
+Fix missing dependency for interval library, and workaround duplicate
+__init__.py files.
+
+https://github.com/pandas-dev/pandas/issues/54888
+https://github.com/pandas-dev/pandas/issues/54889
+---
+ pandas/_libs/meson.build        | 7 ++-----
+ pandas/_libs/tslibs/meson.build | 4 ----
+ 2 files changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/pandas/_libs/meson.build b/pandas/_libs/meson.build
+index f302c64..07d2d8a 100644
+--- a/pandas/_libs/meson.build
++++ b/pandas/_libs/meson.build
+@@ -69,7 +69,8 @@ libs_sources = {
+     'index': {'sources': ['index.pyx', _index_class_helper]},
+     'indexing': {'sources': ['indexing.pyx']},
+     'internals': {'sources': ['internals.pyx']},
+-    'interval': {'sources': ['interval.pyx', _intervaltree_helper]},
++    'interval': {'sources': ['interval.pyx', _intervaltree_helper],
++                 'deps': _khash_primitive_helper_dep},
+     'join': {'sources': ['join.pyx', _khash_primitive_helper],
+              'deps': _khash_primitive_helper_dep},
+     'lib': {'sources': ['lib.pyx', 'src/parser/tokenizer.c']},
+@@ -113,8 +114,4 @@ foreach ext_name, ext_dict : libs_sources
+     )
+ endforeach
+ 
+-py.install_sources('__init__.py',
+-                    pure: false,
+-                    subdir: 'pandas/_libs')
+-
+ subdir('window')
+diff --git a/pandas/_libs/tslibs/meson.build b/pandas/_libs/tslibs/meson.build
+index 14d2eef..a862345 100644
+--- a/pandas/_libs/tslibs/meson.build
++++ b/pandas/_libs/tslibs/meson.build
+@@ -30,7 +30,3 @@ foreach ext_name, ext_dict : tslibs_sources
+         install: true
+     )
+ endforeach
+-
+-py.install_sources('__init__.py',
+-                    pure: false,
+-                    subdir: 'pandas/_libs/tslibs')
+-- 
+2.42.0
+

diff --git a/dev-python/pandas/pandas-2.1.0.ebuild b/dev-python/pandas/pandas-2.1.0.ebuild
index 9de1179c87be..327bd80ea823 100644
--- a/dev-python/pandas/pandas-2.1.0.ebuild
+++ b/dev-python/pandas/pandas-2.1.0.ebuild
@@ -10,7 +10,7 @@ PYTHON_REQ_USE="threads(+)"
 
 VIRTUALX_REQUIRED="manual"
 
-inherit distutils-r1 multiprocessing optfeature virtualx
+inherit distutils-r1 multiprocessing optfeature pypi virtualx
 
 DESCRIPTION="Powerful data structures for data analysis and statistics"
 HOMEPAGE="
@@ -18,19 +18,10 @@ HOMEPAGE="
 	https://github.com/pandas-dev/pandas/
 	https://pypi.org/project/pandas/
 "
-SRC_URI="
-	https://github.com/pandas-dev/pandas/releases/download/v${PV}/${P}.tar.gz
-"
-S=${WORKDIR}/${P/_/}
 
 SLOT="0"
 LICENSE="BSD"
-# new meson build that:
-# 1) sometimes fails on .pxi.in → .pyx ordering
-#    https://github.com/pandas-dev/pandas/issues/54889
-# 2) creates a broken wheel with two pandas/_libs/__init__.py files
-#    https://github.com/pandas-dev/pandas/issues/54888
-KEYWORDS=""
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
 IUSE="full-support minimal test X"
 RESTRICT="!test? ( test )"
 
@@ -97,6 +88,7 @@ BDEPEND="
 		>=dev-python/pytest-xdist-2.2.0[${PYTHON_USEDEP}]
 		>=dev-python/psycopg-2.9.3:2[${PYTHON_USEDEP}]
 		>=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+		sys-apps/which
 		x11-misc/xclip
 		x11-misc/xsel
 	)
@@ -108,16 +100,92 @@ RDEPEND="
 	full-support? ( ${OPTIONAL_DEPEND} )
 "
 
+PATCHES=(
+	"${FILESDIR}/${P}-build-system.patch"
+)
+
 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/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
+
+		# 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]'
+
+		# alignment issues: bug #911660 (fixed upstream but not yet in a release)
+		# https://github.com/pandas-dev/issues/54391
+		tests/io/sas/test_byteswap.py::test_float_byteswap
+
+		# hdf / pytables have alignment problems: bug #911660
+		# https://github.com/pandas-dev/issues/54396
+		tests/io/pytables/test_append.py::test_append_frame_column_oriented
+		tests/io/pytables/test_store.py::test_select_filter_corner
+	)
+
 	local -x LC_ALL=C.UTF-8
 	cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
 	"${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
-	epytest pandas --skip-slow --skip-network -m "not single" \
-		-n "$(makeopts_jobs)" || die "Tests failed with ${EPYTHON}"
+	# --no-strict-data-files is necessary since upstream prevents data
+	# files from even being included in GitHub archives, sigh
+	epytest pandas/tests \
+		--no-strict-data-files \
+		--maxfail=32 \
+		-m "not single and not slow and not network" \
+		-n "$(makeopts_jobs)" --dist=worksteal ||
+		die "Tests failed with ${EPYTHON}"
+	rm test-data.xml || die
 }
 
 pkg_postinst() {


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2023-12-09 10:32 Michał Górny
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Górny @ 2023-12-09 10:32 UTC (permalink / raw
  To: gentoo-commits

commit:     b8d37c066bce331a3225cd3908895641737a7da6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  9 05:38:30 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec  9 10:31:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8d37c06

dev-python/pandas: Bump to 2.1.4

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pandas/Manifest                         |   1 +
 .../pandas/files/pandas-2.1.4-khash-dep.patch      |  45 +++++
 dev-python/pandas/pandas-2.1.4.ebuild              | 221 +++++++++++++++++++++
 3 files changed, 267 insertions(+)

diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index 408349fbf7e5..eafa0a1db645 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -2,3 +2,4 @@ DIST pandas-1.5.3.tar.gz 5203060 BLAKE2B 846a6caa8ead6a2556303494f92e2091582d8fc
 DIST pandas-2.1.1.tar.gz 4266250 BLAKE2B 9d8256300db65b606e34b16d7f3884b602794fe3c14d66115056db4a4658603fbe7a7a3082dfc781760517d643d6e21a6d4d43441131ec6aed5965b6fa8a0e9c SHA512 346e13e06805948c569712028c9b8d756c67ca2fab040999a51a4e759206d50d8ee25be38ac3c7cb3d2e692a02d85c1ec198841311fe43cb04b64f2741627a4e
 DIST pandas-2.1.2.tar.gz 4271419 BLAKE2B 2f22035c9b7d6a0403b28ebe506550328e096f0ed87984dba28d2f49950393ed8a5a3c0c71c5391385d9f5361319431d5de3736f7381eb7670045415b05137a7 SHA512 dad04f1fcc5a59485c34ebfed0698fd47ad9eeffafaddf91642c084f4ffde8a55ce543f9dadb6e7a5066b1809489961d34fe3fe8860f64f9bd2d90b445d92063
 DIST pandas-2.1.3.tar.gz 4272855 BLAKE2B 73717926bb0af44acb9a2d12964df7bf70affd61ca19468b3af4376f9c8084d3612895a9ac5117be97658fd5b7ff0275cd7b2c6f1b9b0e00afb951fd50a1f103 SHA512 71012b47b76444e19507e444c8ef88497e3b286856690216886cbb67ad70786c2f5014a7cf6c89f8378769560109fb5593a8c82c21a034a1059769e15c843b92
+DIST pandas-2.1.4.tar.gz 4274800 BLAKE2B 71cd374964d5e751a9ea0b29cb341d7de521de8de3bbe0963fc821eb6fa2babf2a5cb87c0f49fab88fd451bd331d83fd216f199c75876d7c1ea367ba53c20178 SHA512 de02944829ea4df6a3913788c2ae30683504d70a1cef5789c927245dab8700981edd50de18af3619d30ac97f4658fce67f6c7637acf496bd464ad3a4109bfd1c

diff --git a/dev-python/pandas/files/pandas-2.1.4-khash-dep.patch b/dev-python/pandas/files/pandas-2.1.4-khash-dep.patch
new file mode 100644
index 000000000000..f8bbff5fed37
--- /dev/null
+++ b/dev-python/pandas/files/pandas-2.1.4-khash-dep.patch
@@ -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],

diff --git a/dev-python/pandas/pandas-2.1.4.ebuild b/dev-python/pandas/pandas-2.1.4.ebuild
new file mode 100644
index 000000000000..f4a73c081111
--- /dev/null
+++ b/dev-python/pandas/pandas-2.1.4.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2023 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_{10..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 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~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}]
+	!hppa? (
+		$(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-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-util/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/psycopg-2.9.3: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
+}


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/
@ 2024-11-13  6:55 Michał Górny
  0 siblings, 0 replies; 10+ messages in thread
From: Michał Górny @ 2024-11-13  6:55 UTC (permalink / raw
  To: gentoo-commits

commit:     cac5b594c9aa6dd1dc770d849fc7504e453b5da9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 13 06:07:48 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 13 06:55:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cac5b594

dev-python/pandas: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pandas/Manifest                       |   1 -
 dev-python/pandas/files/pandas-2.2.2-py313.patch | 117 -----------
 dev-python/pandas/pandas-2.2.2-r1.ebuild         | 235 -----------------------
 dev-python/pandas/pandas-2.2.2.ebuild            | 219 ---------------------
 4 files changed, 572 deletions(-)

diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index b075253407d1..326ecb2a171b 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,2 +1 @@
-DIST pandas-2.2.2.tar.gz 4398391 BLAKE2B 6b723d85c500abaca4d833e4fb329d9a495e3e8ae51c74632111b139ed38ca9e26087ba43ecc40d68f66613352dc140bb2f1b0cbb92915bb027548886072fc79 SHA512 85b006f96bd6400aeea2ec29df3557ea6c4bfee0a7aebb172547a43171dc0e7682d15f798081846a4f464559ab83f579cfe06d66d4b5c0cb0fb2975c2ef98f9c
 DIST pandas-2.2.3.tar.gz 4399213 BLAKE2B eca6d31b21f6385c606b3c6f8f4eedc5871719ad5e039e99c01cc16e335a493c2159d208c2d88b573b661adbeaf1172ea1296d13d51b60602966cbc344dc367b SHA512 9bbff5cf51d7fe5e53b207b3593ba92560dabb15294d6509c5be55e0c2a737fad156ca46e56a7e0bfba7d791edfbcbdf885d6f82e2e1a48b2d5e0fc0ef5e56f5

diff --git a/dev-python/pandas/files/pandas-2.2.2-py313.patch b/dev-python/pandas/files/pandas-2.2.2-py313.patch
deleted file mode 100644
index 3fe6f7d89367..000000000000
--- a/dev-python/pandas/files/pandas-2.2.2-py313.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From ad0ef9233f4e6366faf9512d512ec5248ade6d5e Mon Sep 17 00:00:00 2001
-From: Lysandros Nikolaou <lisandrosnik@gmail.com>
-Date: Tue, 25 Jun 2024 03:40:22 +0200
-Subject: [PATCH] ENH: Fix Python 3.13 test failures & enable CI (#59065)
-
-* ENH: Fix Python 3.13 test failures & enable CI
-
-x-ref #58734
-
-Co-authored-by: Thomas Li <47963215+lithomas1@users.noreply.github.com>
-
-* Cast npy_intp to int to fix Windows CI
-
----------
-
-Co-authored-by: Thomas Li <47963215+lithomas1@users.noreply.github.com>
----
- .github/workflows/unit-tests.yml                   |  4 ++--
- pandas/_libs/src/vendored/ujson/python/objToJSON.c | 12 ++++++------
- pandas/_libs/tslibs/offsets.pyx                    |  7 ++++++-
- pandas/tests/groupby/test_groupby.py               |  4 +++-
- pandas/tests/io/parser/test_dialect.py             |  2 +-
- pandas/tests/io/test_common.py                     |  5 ++++-
- pandas/tests/io/xml/test_xml.py                    |  2 +-
- pandas/tests/scalar/timedelta/test_arithmetic.py   |  1 +
- 8 files changed, 24 insertions(+), 13 deletions(-)
-
-diff --git a/pandas/_libs/tslibs/offsets.pyx b/pandas/_libs/tslibs/offsets.pyx
-index c37a4b285d..5dacd7dd55 100644
---- a/pandas/_libs/tslibs/offsets.pyx
-+++ b/pandas/_libs/tslibs/offsets.pyx
-@@ -4960,7 +4960,12 @@ cpdef to_offset(freq, bint is_period=False):
-     if result is None:
-         raise ValueError(INVALID_FREQ_ERR_MSG.format(freq))
- 
--    if is_period and not hasattr(result, "_period_dtype_code"):
-+    try:
-+        has_period_dtype_code = hasattr(result, "_period_dtype_code")
-+    except ValueError:
-+        has_period_dtype_code = False
-+
-+    if is_period and not has_period_dtype_code:
-         if isinstance(freq, str):
-             raise ValueError(f"{result.name} is not supported as period frequency")
-         else:
-diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py
-index ed9acdd0c9..44d6340e55 100644
---- a/pandas/tests/groupby/test_groupby.py
-+++ b/pandas/tests/groupby/test_groupby.py
-@@ -2816,7 +2816,9 @@ def test_rolling_wrong_param_min_period():
-     test_df = DataFrame([name_l, val_l]).T
-     test_df.columns = ["name", "val"]
- 
--    result_error_msg = r"__init__\(\) got an unexpected keyword argument 'min_period'"
-+    result_error_msg = (
-+        r"^[a-zA-Z._]*\(\) got an unexpected keyword argument 'min_period'"
-+    )
-     with pytest.raises(TypeError, match=result_error_msg):
-         test_df.groupby("name")["val"].rolling(window=2, min_period=1).sum()
- 
-diff --git a/pandas/tests/io/parser/test_dialect.py b/pandas/tests/io/parser/test_dialect.py
-index 7a72e66996..803114723b 100644
---- a/pandas/tests/io/parser/test_dialect.py
-+++ b/pandas/tests/io/parser/test_dialect.py
-@@ -26,7 +26,7 @@ def custom_dialect():
-         "escapechar": "~",
-         "delimiter": ":",
-         "skipinitialspace": False,
--        "quotechar": "~",
-+        "quotechar": "`",
-         "quoting": 3,
-     }
-     return dialect_name, dialect_kwargs
-diff --git a/pandas/tests/io/test_common.py b/pandas/tests/io/test_common.py
-index 0740338686..e51f865630 100644
---- a/pandas/tests/io/test_common.py
-+++ b/pandas/tests/io/test_common.py
-@@ -485,7 +485,10 @@ class TestMMapWrapper:
-                 df.to_csv(path, compression=compression_, encoding=encoding)
- 
-             # reading should fail (otherwise we wouldn't need the warning)
--            msg = r"UTF-\d+ stream does not start with BOM"
-+            msg = (
-+                r"UTF-\d+ stream does not start with BOM|"
-+                r"'utf-\d+' codec can't decode byte"
-+            )
-             with pytest.raises(UnicodeError, match=msg):
-                 pd.read_csv(path, compression=compression_, encoding=encoding)
- 
-diff --git a/pandas/tests/io/xml/test_xml.py b/pandas/tests/io/xml/test_xml.py
-index 6f429c1ecb..900734e9f0 100644
---- a/pandas/tests/io/xml/test_xml.py
-+++ b/pandas/tests/io/xml/test_xml.py
-@@ -1044,7 +1044,7 @@ def test_utf16_encoding(xml_baby_names, parser):
-         UnicodeError,
-         match=(
-             "UTF-16 stream does not start with BOM|"
--            "'utf-16-le' codec can't decode byte"
-+            "'utf-16(-le)?' codec can't decode byte"
-         ),
-     ):
-         read_xml(xml_baby_names, encoding="UTF-16", parser=parser)
-diff --git a/pandas/tests/scalar/timedelta/test_arithmetic.py b/pandas/tests/scalar/timedelta/test_arithmetic.py
-index d2fa0f722c..33ac121076 100644
---- a/pandas/tests/scalar/timedelta/test_arithmetic.py
-+++ b/pandas/tests/scalar/timedelta/test_arithmetic.py
-@@ -622,6 +622,7 @@ class TestTimedeltaMultiplicationDivision:
-             [
-                 r"Invalid dtype datetime64\[D\] for __floordiv__",
-                 "'dtype' is an invalid keyword argument for this function",
-+                "this function got an unexpected keyword argument 'dtype'",
-                 r"ufunc '?floor_divide'? cannot use operands with types",
-             ]
-         )
--- 
-2.45.2
-

diff --git a/dev-python/pandas/pandas-2.2.2-r1.ebuild b/dev-python/pandas/pandas-2.2.2-r1.ebuild
deleted file mode 100644
index 7dcc2aa767aa..000000000000
--- a/dev-python/pandas/pandas-2.2.2-r1.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# 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_{10..13} )
-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/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~loong ~riscv ~x86"
-IUSE="big-endian 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/jinja2-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/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? (
-		>=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
-		dev-python/statsmodels[${PYTHON_USEDEP}]
-	) ) ) )
-	!big-endian? (
-		>=dev-python/tables-3.7.0[${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-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-3.0.5[${PYTHON_USEDEP}]
-	>=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
-	test? (
-		${VIRTUALX_DEPEND}
-		${RECOMMENDED_DEPEND}
-		${OPTIONAL_DEPEND}
-		dev-libs/apache-arrow[brotli,parquet,snappy]
-		>=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/pyarrow-10.0.1[parquet,${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} )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
-	# https://github.com/pandas-dev/pandas/pull/59065
-	"${FILESDIR}/${P}-py313.patch"
-)
-
-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}\]
-
-		# requires -Werror
-		tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
-		tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
-
-		# assumes that it will fail due to -mfpmath=387 on 32-bit arches,
-		# so it XPASS-es in every other scenario
-		tests/tools/test_to_timedelta.py::TestTimedeltas::test_to_timedelta_float
-
-		# newer matplotlib?
-		tests/plotting/frame/test_frame.py::TestDataFramePlots::test_group_subplot_invalid_column_name
-	)
-
-	if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
-		EPYTEST_DESELECT+=(
-			tests/plotting/test_misc.py::test_savefig
-		)
-	fi
-
-	if has_version ">=dev-python/numexpr-2.10[${PYTHON_USEDEP}]"; then
-		EPYTEST_DESELECT+=(
-			'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-python-left_right0-float64-/]'
-			'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-python-left_right1-float64-/]'
-			'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-pandas-left_right0-float64-/]'
-			'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-pandas-left_right1-float64-/]'
-			'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-python]'
-			'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-pandas]'
-		)
-	fi
-
-	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 -o xfail_strict=false \
-		-m "not single_cpu and not slow and not network and not db" ||
-		die "Tests failed with ${EPYTHON}"
-	rm test-data.xml test_stata.dta || 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/jinja2
-	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
-}

diff --git a/dev-python/pandas/pandas-2.2.2.ebuild b/dev-python/pandas/pandas-2.2.2.ebuild
deleted file mode 100644
index f63a26eb7ea7..000000000000
--- a/dev-python/pandas/pandas-2.2.2.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# 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_{10..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/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong ~riscv x86"
-IUSE="big-endian 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/jinja2-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/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? (
-		>=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
-		dev-python/statsmodels[${PYTHON_USEDEP}]
-	) ) ) )
-	!big-endian? (
-		>=dev-python/tables-3.7.0[${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-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-3.0.5[${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
-		!!dev-python/pyarrow
-	)
-"
-RDEPEND="
-	${COMMON_DEPEND}
-	dev-python/tzdata[${PYTHON_USEDEP}]
-	!minimal? ( ${RECOMMENDED_DEPEND} )
-	full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-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}\]
-
-		# requires -Werror
-		tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
-		tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
-
-		# requires pyarrow
-		tests/io/formats/style/test_bar.py::test_style_bar_with_pyarrow_NA_values
-		tests/series/test_api.py::TestSeriesMisc::test_inspect_getmembers
-
-		# assumes that it will fail due to -mfpmath=387 on 32-bit arches,
-		# so it XPASS-es in every other scenario
-		tests/tools/test_to_timedelta.py::TestTimedeltas::test_to_timedelta_float
-	)
-
-	if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
-		EPYTEST_DESELECT+=(
-			tests/plotting/test_misc.py::test_savefig
-		)
-	fi
-
-	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_cpu and not slow and not network and not db" ||
-		die "Tests failed with ${EPYTHON}"
-	rm test-data.xml test_stata.dta || 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/jinja2
-	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
-}


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-11-13  6:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-16 11:12 [gentoo-commits] repo/gentoo:master commit in: dev-python/pandas/files/, dev-python/pandas/ Justin Lecher
  -- strict thread matches above, loose matches on Subject: below --
2016-12-03 13:45 Justin Lecher
2018-05-10 14:10 Andreas Sturmlechner
2018-08-23 18:44 Virgil Dupras
2020-01-19 19:54 Pacho Ramos
2020-08-07 19:56 Michał Górny
2021-10-29 16:59 Sam James
2023-08-31 20:21 Michał Górny
2023-12-09 10:32 Michał Górny
2024-11-13  6:55 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox