Skip to content

Commit 48e3f9f

Browse files
jbrockmendelPuneethaPai
authored andcommitted
CLN: Remove util.is_offset_object (pandas-dev#34241)
1 parent 0cc4402 commit 48e3f9f

File tree

10 files changed

+25
-41
lines changed

10 files changed

+25
-41
lines changed

pandas/_libs/index.pyx

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ cnp.import_array()
2222
from pandas._libs cimport util
2323

2424
from pandas._libs.tslibs.nattype cimport c_NaT as NaT
25-
from pandas._libs.tslibs.base cimport ABCTimestamp, ABCTimedelta
25+
from pandas._libs.tslibs.base cimport ABCTimedelta
2626
from pandas._libs.tslibs.period cimport is_period_object
27+
from pandas._libs.tslibs.timestamps cimport _Timestamp
2728

2829
from pandas._libs.hashtable cimport HashTable
2930

@@ -378,7 +379,7 @@ cdef class DatetimeEngine(Int64Engine):
378379
cdef int64_t _unbox_scalar(self, scalar) except? -1:
379380
# NB: caller is responsible for ensuring tzawareness compat
380381
# before we get here
381-
if not (isinstance(scalar, ABCTimestamp) or scalar is NaT):
382+
if not (isinstance(scalar, _Timestamp) or scalar is NaT):
382383
raise TypeError(scalar)
383384
return scalar.value
384385

pandas/_libs/interval.pyx

+5-5
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ from pandas._libs.tslibs.util cimport (
4242
is_timedelta64_object,
4343
)
4444

45-
from pandas._libs.tslibs.base cimport ABCTimestamp, ABCTimedelta
45+
from pandas._libs.tslibs.base cimport ABCTimedelta
4646
from pandas._libs.tslibs.timezones cimport tz_compare
47-
47+
from pandas._libs.tslibs.timestamps cimport _Timestamp
4848

4949
_VALID_CLOSED = frozenset(['left', 'right', 'both', 'neither'])
5050

@@ -328,7 +328,7 @@ cdef class Interval(IntervalMixin):
328328
raise ValueError(f"invalid option for 'closed': {closed}")
329329
if not left <= right:
330330
raise ValueError("left side of interval must be <= right side")
331-
if (isinstance(left, ABCTimestamp) and
331+
if (isinstance(left, _Timestamp) and
332332
not tz_compare(left.tzinfo, right.tzinfo)):
333333
# GH 18538
334334
raise ValueError("left and right must have the same time zone, got "
@@ -340,7 +340,7 @@ cdef class Interval(IntervalMixin):
340340
def _validate_endpoint(self, endpoint):
341341
# GH 23013
342342
if not (is_integer_object(endpoint) or is_float_object(endpoint) or
343-
isinstance(endpoint, (ABCTimestamp, ABCTimedelta))):
343+
isinstance(endpoint, (_Timestamp, ABCTimedelta))):
344344
raise ValueError("Only numeric, Timestamp and Timedelta endpoints "
345345
"are allowed when constructing an Interval.")
346346

@@ -370,7 +370,7 @@ cdef class Interval(IntervalMixin):
370370
right = self.right
371371

372372
# TODO: need more general formatting methodology here
373-
if isinstance(left, ABCTimestamp) and isinstance(right, ABCTimestamp):
373+
if isinstance(left, _Timestamp) and isinstance(right, _Timestamp):
374374
left = left._short_repr
375375
right = right._short_repr
376376

pandas/_libs/lib.pyx

+2-1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ from pandas._libs.tslibs.conversion cimport convert_to_tsobject
7575
from pandas._libs.tslibs.timedeltas cimport convert_to_timedelta64
7676
from pandas._libs.tslibs.timezones cimport get_timezone, tz_compare
7777
from pandas._libs.tslibs.period cimport is_period_object
78+
from pandas._libs.tslibs.offsets cimport is_offset_object
7879

7980
from pandas._libs.missing cimport (
8081
checknull,
@@ -187,7 +188,7 @@ def is_scalar(val: object) -> bool:
187188
return (PyNumber_Check(val)
188189
or is_period_object(val)
189190
or is_interval(val)
190-
or util.is_offset_object(val))
191+
or is_offset_object(val))
191192

192193

193194
def is_iterator(obj: object) -> bool:

pandas/_libs/tslib.pyx

+2-4
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ from pandas._libs.util cimport (
2626
is_integer_object,
2727
)
2828

29-
from pandas._libs.tslibs.base cimport ABCTimestamp
30-
3129
from pandas._libs.tslibs.np_datetime cimport (
3230
_string_to_dts,
3331
check_dts_bounds,
@@ -58,7 +56,7 @@ from pandas._libs.tslibs.nattype cimport (
5856

5957
from pandas._libs.tslibs.offsets cimport to_offset
6058

61-
from pandas._libs.tslibs.timestamps cimport create_timestamp_from_ts
59+
from pandas._libs.tslibs.timestamps cimport create_timestamp_from_ts, _Timestamp
6260
from pandas._libs.tslibs.timestamps import Timestamp
6361

6462
from pandas._libs.tslibs.tzconversion cimport (
@@ -622,7 +620,7 @@ cpdef array_to_datetime(
622620
'datetime64 unless utc=True')
623621
else:
624622
iresult[i] = pydatetime_to_dt64(val, &dts)
625-
if isinstance(val, ABCTimestamp):
623+
if isinstance(val, _Timestamp):
626624
iresult[i] += val.nanosecond
627625
check_dts_bounds(&dts)
628626

pandas/_libs/tslibs/frequencies.pyx

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ import re
33
cimport numpy as cnp
44
cnp.import_array()
55

6-
from pandas._libs.tslibs.util cimport is_integer_object, is_offset_object
6+
from pandas._libs.tslibs.util cimport is_integer_object
77

88
from pandas._libs.tslibs.ccalendar cimport c_MONTH_NUMBERS
9+
from pandas._libs.tslibs.offsets cimport is_offset_object
910

1011
# ----------------------------------------------------------------------
1112
# Constants

pandas/_libs/tslibs/nattype.pyx

+2-6
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,6 @@ cdef class _NaT(datetime):
145145
return c_NaT
146146
elif util.is_datetime64_object(other) or util.is_timedelta64_object(other):
147147
return c_NaT
148-
elif util.is_offset_object(other):
149-
return c_NaT
150148

151149
elif util.is_integer_object(other):
152150
# For Period compat
@@ -162,7 +160,7 @@ cdef class _NaT(datetime):
162160
return result
163161
raise TypeError(f"Cannot add NaT to ndarray with dtype {other.dtype}")
164162

165-
# Includes Period going through here
163+
# Includes Period, DateOffset going through here
166164
return NotImplemented
167165

168166
def __sub__(self, other):
@@ -182,8 +180,6 @@ cdef class _NaT(datetime):
182180
return c_NaT
183181
elif util.is_datetime64_object(other) or util.is_timedelta64_object(other):
184182
return c_NaT
185-
elif util.is_offset_object(other):
186-
return c_NaT
187183

188184
elif util.is_integer_object(other):
189185
# For Period compat
@@ -216,7 +212,7 @@ cdef class _NaT(datetime):
216212
f"Cannot subtract NaT from ndarray with dtype {other.dtype}"
217213
)
218214

219-
# Includes Period going through here
215+
# Includes Period, DateOffset going through here
220216
return NotImplemented
221217

222218
def __pos__(self):

pandas/_libs/tslibs/parsing.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ from pandas._libs.tslibs.nattype cimport (
3939
)
4040
from pandas._libs.tslibs.util cimport (
4141
is_array,
42-
is_offset_object,
4342
get_c_string_buf_and_size,
4443
)
4544
from pandas._libs.tslibs.frequencies cimport get_rule_month
45+
from pandas._libs.tslibs.offsets cimport is_offset_object
4646

4747
cdef extern from "../src/headers/portable.h":
4848
int getdigit_ascii(char c, int default) nogil

pandas/_libs/tslibs/period.pyx

+6-4
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ from pandas._libs.tslibs.nattype cimport (
6565
c_NaT as NaT,
6666
c_nat_strings as nat_strings,
6767
)
68-
from pandas._libs.tslibs.offsets cimport to_offset, is_tick_object
68+
from pandas._libs.tslibs.offsets cimport (
69+
to_offset, is_tick_object, is_offset_object,
70+
)
6971
from pandas._libs.tslibs.tzconversion cimport tz_convert_utc_to_tzlocal
7072

7173

@@ -1598,7 +1600,7 @@ cdef class _Period:
15981600
return Period(ordinal=ordinal, freq=self.freq)
15991601
raise IncompatibleFrequency("Input cannot be converted to "
16001602
f"Period(freq={self.freqstr})")
1601-
elif util.is_offset_object(other):
1603+
elif is_offset_object(other):
16021604
if other.base == self.freq.base:
16031605
ordinal = self.ordinal + other.n
16041606
return Period(ordinal=ordinal, freq=self.freq)
@@ -1617,7 +1619,7 @@ cdef class _Period:
16171619
return other.__add__(self)
16181620

16191621
if (PyDelta_Check(other) or util.is_timedelta64_object(other) or
1620-
util.is_offset_object(other)):
1622+
is_offset_object(other)):
16211623
return self._add_delta(other)
16221624
elif other is NaT:
16231625
return NaT
@@ -1643,7 +1645,7 @@ cdef class _Period:
16431645
return NotImplemented
16441646

16451647
elif (PyDelta_Check(other) or util.is_timedelta64_object(other) or
1646-
util.is_offset_object(other)):
1648+
is_offset_object(other)):
16471649
neg_other = -other
16481650
return self + neg_other
16491651
elif util.is_integer_object(other):

pandas/_libs/tslibs/timestamps.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ from cpython.datetime cimport (datetime, time, PyDateTime_Check, PyDelta_Check,
2121
PyDateTime_IMPORT
2222

2323
from pandas._libs.tslibs.util cimport (
24-
is_datetime64_object, is_float_object, is_integer_object, is_offset_object,
24+
is_datetime64_object, is_float_object, is_integer_object,
2525
is_timedelta64_object, is_array,
2626
)
2727

@@ -40,7 +40,7 @@ from pandas._libs.tslibs.np_datetime cimport (
4040
cmp_scalar,
4141
)
4242
from pandas._libs.tslibs.np_datetime import OutOfBoundsDatetime
43-
from pandas._libs.tslibs.offsets cimport to_offset, is_tick_object
43+
from pandas._libs.tslibs.offsets cimport to_offset, is_tick_object, is_offset_object
4444
from pandas._libs.tslibs.timedeltas import Timedelta
4545
from pandas._libs.tslibs.timezones cimport (
4646
is_utc, maybe_get_tz, treat_tz_as_pytz, utc_pytz as UTC,

pandas/_libs/tslibs/util.pxd

-15
Original file line numberDiff line numberDiff line change
@@ -168,21 +168,6 @@ cdef inline bint is_array(object val):
168168
return PyArray_Check(val)
169169

170170

171-
cdef inline bint is_offset_object(object val):
172-
"""
173-
Check if an object is a DateOffset object.
174-
175-
Parameters
176-
----------
177-
val : object
178-
179-
Returns
180-
-------
181-
is_date_offset : bool
182-
"""
183-
return getattr(val, '_typ', None) == "dateoffset"
184-
185-
186171
cdef inline bint is_nan(object val):
187172
"""
188173
Check if val is a Not-A-Number float or complex, including

0 commit comments

Comments
 (0)