summaryrefslogtreecommitdiff
path: root/dev-python/pandas
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:57:42 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:57:42 +0100
commit1798c4aeca70ac8d0a243684d6a798fbc65735f8 (patch)
treee48e19cb6fa03de18e1c63e1a93371b7ebc4eb56 /dev-python/pandas
parentd87262dd706fec50cd150aab3e93883b6337466d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-python/pandas')
-rw-r--r--dev-python/pandas/Manifest8
-rw-r--r--dev-python/pandas/files/pandas-0.19.1-gapi.patch27
-rw-r--r--dev-python/pandas/files/pandas-0.19.1-seqf.patch357
-rw-r--r--dev-python/pandas/metadata.xml22
-rw-r--r--dev-python/pandas/pandas-0.19.1.ebuild165
-rw-r--r--dev-python/pandas/pandas-0.23.0.ebuild172
-rw-r--r--dev-python/pandas/pandas-9999.ebuild171
7 files changed, 0 insertions, 922 deletions
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
deleted file mode 100644
index 95f829519364..000000000000
--- a/dev-python/pandas/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-AUX pandas-0.19.1-gapi.patch 799 BLAKE2B 801d356d51de63091c6167677957349c3334105786a220252a6fad50e0242a67106fdb321f402e7d99b65c0ab8a0c5d312b98757100bef7cc02f7f43bc50fab9 SHA512 b1a4e7c5f480efadfaf70caaa3293cb3f16ebf36c4705597a22ecc06de7e5b2379ddb4061279d669d2c66d3ef149a74f300ec1127bd441ad1b9288cb9233c781
-AUX pandas-0.19.1-seqf.patch 14381 BLAKE2B 8acb677579d429a7d82712477f8e8202561198938f56cc08c38dc3766a695a69fd3d25a25c4fa165c3f3d02a16a46acea092194e3e71f23ec22a8b2aca5f1e13 SHA512 b5675c89e087d47b94cfb036047b396d5a94b74bc03e95c92d5152bfc5598feddba88a781b6a11e533c46ba638aa50f0814d383c20d95f4e091deaee480b6d3e
-DIST pandas-0.19.1.tar.gz 8360233 BLAKE2B 82611ca1a3e3169ac2d084f4dcd9c4d4d74e9e9c9913a41acad48ae68a208a884dfd877445a7d658a7ff098ef383cedae7e79a4900baa8d56c032ce9aaad96eb SHA512 6451990a7fae8c6db8ab0b014a13b4f1828754d3998f13c17b111f891fb9fd23f8e09b907623096dfa55668c42298eee1373210a9fddb95f56dd7d552b964e6f
-DIST pandas-0.23.0.tar.gz 13092442 BLAKE2B e11ae088c9a4be481f516d83797b1b1d5e9c82f7d9fa98f1ea65e3405e33c99e1e1cf7a35f56a21d9dc922c1d0828b4947d9c6189a5f76ad5c1b28618293f9da SHA512 c9dc7bf843e3392b8b1b4d46c6aa6dd12435aa974abc875574a7a8794abe6ea531fa92d8a635153839fd3fef9059d96a4512831b86b1fb6fb69588c8b29a95d6
-EBUILD pandas-0.19.1.ebuild 5913 BLAKE2B 994e9ea3397d2dacb0a01ad17c8285cae39a898c5615b42598f0a85745a74b4c01a2968da343a969160f18658fdae8cc6e6f0288f7254189d6233a4e16b21923 SHA512 6e88582440d02ad3adf338692082ff671c0c4f93f56adb029abfa5dea7210de30308371f990e4b2bbcdfbd510040e40c18a373123a862099d779993f81dda714
-EBUILD pandas-0.23.0.ebuild 5907 BLAKE2B 552a809a85a1ec3842c5e3ef7da41c32b07818f11a00121eed4fe4ff3131d8e90a3f56dba4f2f546fa226e23f29da8d3827bb17f676caf654b7c1293de294226 SHA512 e1b4cce520baea14cfaf7c46e7f4ac881b6871133b13c50828ed946482b4d4f3fca688db4508007a108fd7f94997f384f6ca14eb53667e9f28e697e8d8aba94e
-EBUILD pandas-9999.ebuild 5864 BLAKE2B 23df5dc740f518ce7c82cda5d351b248f8d8e0983b937be43200f2a2f5bc6d48ea71234203fc6776f94a9460dc6e6340dbfa0248b64205eb2792a7b633ee58a3 SHA512 80c4d885b9dc3872b3da9a9daa9f18e2e1b226d249b23eb2d8b3b3161458648ebd77a2c3b17d25e58d2f278d9a9fc2372a62b946acf24bdc441da882067fee67
-MISC metadata.xml 834 BLAKE2B b075b9c90c4f1be265117df2c47ace4c86dad3fec9945b5a483a11048211348ee10e433f378610de4a9b599031914b32992b9fad693b832cf0266b0f171b3e38 SHA512 85ad67a653f4ced5fb9331b778fb2906c253874cf8e522f1b67547ef8e2f49e084e84d9e055aee7e2a57c6e6e4e7f7791a4ce299fac7c74dd6448a94977e8f5e
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 7a0456fdacfc..000000000000
--- 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 c82c14ff8fdd..000000000000
--- 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/metadata.xml b/dev-python/pandas/metadata.xml
deleted file mode 100644
index 2afb9b3d5636..000000000000
--- a/dev-python/pandas/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription lang="en">
- Pandas is a Python package providing fast, flexible, and expressive
- data structures designed to make working with "relational" or
- "labeled" data both easy and intuitive. It aims to be the
- fundamental high-level building block for doing practical, real
- world data analysis in Python.
-</longdescription>
- <use>
- <flag name="full-support">Pull all packages to give pandas full support</flag>
- </use>
- <upstream>
- <remote-id type="pypi">pandas</remote-id>
- <remote-id type="github">pandas-dev/pandas</remote-id>
- </upstream>
-</pkgmetadata>
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 4ed143486987..000000000000
--- a/dev-python/pandas/pandas-0.19.1.ebuild
+++ /dev/null
@@ -1,165 +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}-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 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.23.0.ebuild b/dev-python/pandas/pandas-0.23.0.ebuild
deleted file mode 100644
index 3664e9b78fea..000000000000
--- a/dev-python/pandas/pandas-0.23.0.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# 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[${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/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/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/_/}"
-
-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/PyQt5 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
deleted file mode 100644
index 469385a6a855..000000000000
--- a/dev-python/pandas/pandas-9999.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# 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 git-r3 virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="http://pandas.pydata.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/pydata/pandas.git"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS=""
-IUSE="doc full-support minimal test X"
-
-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/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/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} )
-"
-
-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/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}