Skip to content

Commit 8e51fd3

Browse files
jbrockmendeljreback
authored andcommitted
update tslibs imports (#21816)
1 parent 5380fcd commit 8e51fd3

40 files changed

+124
-137
lines changed

pandas/_libs/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
22
# flake8: noqa
33

4-
from .tslib import iNaT, NaT, Timestamp, Timedelta, OutOfBoundsDatetime
4+
from .tslibs import iNaT, NaT, Timestamp, Timedelta, OutOfBoundsDatetime
55

66
# TODO
77
# period is directly dependent on tslib and imports python

pandas/_libs/index.pyx

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ from tslibs.conversion cimport maybe_datetimelike_to_i8
2525
from hashtable cimport HashTable
2626

2727
from pandas._libs import algos, hashtable as _hash
28-
from pandas._libs.tslibs import period as periodlib
29-
from pandas._libs.tslib import Timestamp, Timedelta
28+
from pandas._libs.tslibs import Timestamp, Timedelta, period as periodlib
3029
from pandas._libs.missing import checknull
3130

3231
cdef int64_t iNaT = util.get_nat()

pandas/_libs/interval.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ cimport util
55
cimport cython
66
import cython
77
from numpy cimport ndarray
8-
from tslib import Timestamp
8+
from tslibs import Timestamp
99
from tslibs.timezones cimport tz_compare
1010

1111
from cpython.object cimport (Py_EQ, Py_NE, Py_GT, Py_LT, Py_GE, Py_LE,

pandas/_libs/lib.pyx

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1+
# -*- coding: utf-8 -*-
12
# cython: profile=False
2-
import operator
3-
43
cimport cython
54
from cython cimport Py_ssize_t
65

pandas/_libs/missing.pyx

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ cimport util
1515

1616
from tslibs.np_datetime cimport get_timedelta64_value, get_datetime64_value
1717
from tslibs.nattype import NaT
18-
from tslibs.nattype cimport is_null_datetimelike
1918

2019
cdef double INF = <double> np.inf
2120
cdef double NEGINF = -INF

pandas/_libs/reshape.pyx

-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@ cimport cython
44
from cython cimport Py_ssize_t
55

66
import numpy as np
7-
cimport numpy as cnp
87
from numpy cimport (ndarray,
98
int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t,
109
uint32_t, uint64_t, float32_t, float64_t)
11-
cnp.import_array()
1210

1311

1412
cdef double NaN = <double> np.NaN

pandas/_libs/src/util.pxd

+4
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ cdef extern from "headers/stdint.h":
100100
enum: INT64_MAX
101101
enum: INT64_MIN
102102

103+
103104
cdef inline object get_value_at(ndarray arr, object loc):
104105
cdef:
105106
Py_ssize_t i, sz
@@ -119,6 +120,7 @@ cdef inline object get_value_at(ndarray arr, object loc):
119120

120121
return get_value_1d(arr, i)
121122

123+
122124
cdef inline set_value_at_unsafe(ndarray arr, object loc, object value):
123125
"""Sets a value into the array without checking the writeable flag.
124126
@@ -153,12 +155,14 @@ cdef inline set_value_at(ndarray arr, object loc, object value):
153155
cdef inline is_array(object o):
154156
return cnp.PyArray_Check(o)
155157

158+
156159
cdef inline bint _checknull(object val):
157160
try:
158161
return val is None or (cpython.PyFloat_Check(val) and val != val)
159162
except ValueError:
160163
return False
161164

165+
162166
cdef inline bint is_period_object(object val):
163167
return getattr(val, '_typ', '_typ') == 'period'
164168

pandas/_libs/tslib.pyx

-2
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,12 @@ import pytz
3838

3939

4040
from tslibs.timedeltas cimport cast_from_unit
41-
from tslibs.timedeltas import Timedelta, ints_to_pytimedelta # noqa:F841
4241
from tslibs.timezones cimport (is_utc, is_tzlocal, is_fixed_offset,
4342
treat_tz_as_pytz, get_dst_info)
4443
from tslibs.conversion cimport (tz_convert_single, _TSObject,
4544
convert_datetime_to_tsobject,
4645
get_datetime64_nanos,
4746
tz_convert_utc_to_tzlocal)
48-
from tslibs.conversion import tz_convert_single, normalize_date # noqa:F841
4947

5048
from tslibs.nattype import NaT, nat_strings, iNaT
5149
from tslibs.nattype cimport checknull_with_nat, NPY_NAT

pandas/_libs/tslibs/frequencies.pyx

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import re
55
cimport cython
66

77
cimport numpy as cnp
8-
from numpy cimport int64_t
98
cnp.import_array()
109

1110
from util cimport is_integer_object, is_string_object

pandas/_libs/tslibs/offsets.pyx

-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ from cpython.datetime cimport (PyDateTime_IMPORT, PyDateTime_CheckExact,
1111
PyDateTime_IMPORT
1212

1313
from dateutil.relativedelta import relativedelta
14-
from pytz import UTC
1514

1615
import numpy as np
1716
cimport numpy as cnp
@@ -24,7 +23,6 @@ from util cimport is_string_object, is_integer_object
2423
from ccalendar import MONTHS, DAYS
2524
from ccalendar cimport get_days_in_month, dayofweek
2625
from conversion cimport tz_convert_single, pydt_to_i8, localize_pydatetime
27-
from frequencies cimport get_freq_code
2826
from nattype cimport NPY_NAT
2927
from np_datetime cimport (pandas_datetimestruct,
3028
dtstruct_to_dt64, dt64_to_dtstruct)

pandas/_libs/tslibs/parsing.pyx

-5
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ Parsing functions for datetime and datetime-like strings.
66
import sys
77
import re
88

9-
from cpython cimport PyString_Check, PyUnicode_Check
10-
11-
from libc.stdlib cimport free
12-
139
cimport cython
1410
from cython cimport Py_ssize_t
1511

@@ -34,7 +30,6 @@ else:
3430
# dateutil compat
3531
from dateutil.tz import (tzoffset,
3632
tzlocal as _dateutil_tzlocal,
37-
tzfile as _dateutil_tzfile,
3833
tzutc as _dateutil_tzutc,
3934
tzstr as _dateutil_tzstr)
4035
from dateutil.relativedelta import relativedelta

pandas/_libs/tslibs/period.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- coding: utf-8 -*-
22
# cython: profile=False
3-
from datetime import datetime, date, timedelta
3+
from datetime import datetime, date
44

55
from cpython cimport (
66
PyUnicode_Check,
@@ -37,7 +37,7 @@ cimport util
3737
from util cimport is_period_object, is_string_object, INT32_MIN
3838

3939
from timestamps import Timestamp
40-
from timezones cimport is_utc, is_tzlocal, get_utcoffset, get_dst_info
40+
from timezones cimport is_utc, is_tzlocal, get_dst_info
4141
from timedeltas cimport delta_to_nanoseconds
4242

4343
cimport ccalendar

pandas/_libs/tslibs/resolution.pyx

+1-3
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ from pandas._libs.khash cimport (khiter_t,
1515
kh_init_int64, kh_int64_t,
1616
kh_resize_int64, kh_get_int64)
1717

18-
from cpython.datetime cimport datetime
19-
2018
from np_datetime cimport pandas_datetimestruct, dt64_to_dtstruct
2119
from frequencies cimport get_freq_code
2220
from timezones cimport (is_utc, is_tzlocal,
23-
maybe_get_tz, get_dst_info, get_utcoffset)
21+
maybe_get_tz, get_dst_info)
2422
from fields import build_field_sarray
2523
from conversion import tz_convert
2624
from conversion cimport tz_convert_utc_to_tzlocal

pandas/_libs/tslibs/strptime.pyx

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import numpy as np
3131
from numpy cimport ndarray, int64_t
3232

3333
from datetime import date as datetime_date
34-
from cpython.datetime cimport datetime
3534

3635
from np_datetime cimport (check_dts_bounds,
3736
dtstruct_to_dt64, pandas_datetimestruct)

pandas/_libs/window.pyx

+1-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ cdef extern from "../src/headers/cmath" namespace "std":
2020
cimport util
2121
from util cimport numeric
2222

23-
from skiplist cimport (IndexableSkiplist,
24-
node_t, skiplist_t,
23+
from skiplist cimport (skiplist_t,
2524
skiplist_init, skiplist_destroy,
2625
skiplist_get, skiplist_insert, skiplist_remove)
2726

pandas/core/arrays/timedelta.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
import numpy as np
55

6-
from pandas._libs import tslib
7-
from pandas._libs.tslib import Timedelta, NaT
6+
from pandas._libs import tslibs
7+
from pandas._libs.tslibs import Timedelta, NaT
88
from pandas._libs.tslibs.fields import get_timedelta_field
99
from pandas._libs.tslibs.timedeltas import array_to_timedelta64
1010

@@ -148,7 +148,7 @@ def to_pytimedelta(self):
148148
-------
149149
datetimes : ndarray
150150
"""
151-
return tslib.ints_to_pytimedelta(self.asi8)
151+
return tslibs.ints_to_pytimedelta(self.asi8)
152152

153153
days = _field_accessor("days", "days",
154154
" Number of days for each element. ")

pandas/core/common.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import collections
99

1010
import numpy as np
11-
from pandas._libs import lib, tslib
11+
from pandas._libs import lib, tslibs
1212

1313
from pandas import compat
1414
from pandas.compat import long, zip, iteritems, PY36, OrderedDict
@@ -87,9 +87,9 @@ def _maybe_box_datetimelike(value):
8787
# turn a datetime like into a Timestamp/timedelta as needed
8888

8989
if isinstance(value, (np.datetime64, datetime)):
90-
value = tslib.Timestamp(value)
90+
value = tslibs.Timestamp(value)
9191
elif isinstance(value, (np.timedelta64, timedelta)):
92-
value = tslib.Timedelta(value)
92+
value = tslibs.Timedelta(value)
9393

9494
return value
9595

pandas/core/dtypes/cast.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import numpy as np
66
import warnings
77

8-
from pandas._libs import tslib, lib
9-
from pandas._libs.tslib import iNaT
8+
from pandas._libs import tslib, lib, tslibs
9+
from pandas._libs.tslibs import iNaT
1010
from pandas.compat import string_types, text_type, PY3
1111
from .common import (_ensure_object, is_bool, is_integer, is_float,
1212
is_complex, is_datetimetz, is_categorical_dtype,
@@ -278,14 +278,14 @@ def maybe_promote(dtype, fill_value=np.nan):
278278
else:
279279
if issubclass(dtype.type, np.datetime64):
280280
try:
281-
fill_value = tslib.Timestamp(fill_value).value
281+
fill_value = tslibs.Timestamp(fill_value).value
282282
except Exception:
283283
# the proper thing to do here would probably be to upcast
284284
# to object (but numpy 1.6.1 doesn't do this properly)
285285
fill_value = iNaT
286286
elif issubclass(dtype.type, np.timedelta64):
287287
try:
288-
fill_value = tslib.Timedelta(fill_value).value
288+
fill_value = tslibs.Timedelta(fill_value).value
289289
except Exception:
290290
# as for datetimes, cannot upcast to object
291291
fill_value = iNaT
@@ -393,8 +393,8 @@ def infer_dtype_from_scalar(val, pandas_dtype=False):
393393
dtype = np.object_
394394

395395
elif isinstance(val, (np.datetime64, datetime)):
396-
val = tslib.Timestamp(val)
397-
if val is tslib.NaT or val.tz is None:
396+
val = tslibs.Timestamp(val)
397+
if val is tslibs.NaT or val.tz is None:
398398
dtype = np.dtype('M8[ns]')
399399
else:
400400
if pandas_dtype:
@@ -405,7 +405,7 @@ def infer_dtype_from_scalar(val, pandas_dtype=False):
405405
val = val.value
406406

407407
elif isinstance(val, (np.timedelta64, timedelta)):
408-
val = tslib.Timedelta(val).value
408+
val = tslibs.Timedelta(val).value
409409
dtype = np.dtype('m8[ns]')
410410

411411
elif is_bool(val):
@@ -625,7 +625,7 @@ def conv(r, dtype):
625625
if isna(r):
626626
pass
627627
elif dtype == _NS_DTYPE:
628-
r = tslib.Timestamp(r)
628+
r = tslibs.Timestamp(r)
629629
elif dtype == _TD_DTYPE:
630630
r = _coerce_scalar_to_timedelta_type(r)
631631
elif dtype == np.bool_:
@@ -679,7 +679,7 @@ def astype_nansafe(arr, dtype, copy=True):
679679

680680
elif is_timedelta64_dtype(arr):
681681
if is_object_dtype(dtype):
682-
return tslib.ints_to_pytimedelta(arr.view(np.int64))
682+
return tslibs.ints_to_pytimedelta(arr.view(np.int64))
683683
elif dtype == np.int64:
684684
return arr.view(dtype)
685685

pandas/core/dtypes/concat.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44

55
import numpy as np
6-
import pandas._libs.tslib as tslib
6+
from pandas._libs import tslib, tslibs
77
from pandas import compat
88
from pandas.core.dtypes.common import (
99
is_categorical_dtype,
@@ -486,7 +486,7 @@ def _convert_datetimelike_to_object(x):
486486

487487
elif x.dtype == _TD_DTYPE:
488488
shape = x.shape
489-
x = tslib.ints_to_pytimedelta(x.view(np.int64).ravel(), box=True)
489+
x = tslibs.ints_to_pytimedelta(x.view(np.int64).ravel(), box=True)
490490
x = x.reshape(shape)
491491

492492
return x

pandas/core/dtypes/missing.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44
import numpy as np
55
from pandas._libs import lib, missing as libmissing
6-
from pandas._libs.tslib import NaT, iNaT
6+
from pandas._libs.tslibs import NaT, iNaT
77
from .generic import (ABCMultiIndex, ABCSeries,
88
ABCIndexClass, ABCGeneric,
99
ABCExtensionArray)

pandas/core/indexes/api.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
from pandas.core.indexes.datetimes import DatetimeIndex
1818

1919
import pandas.core.common as com
20-
from pandas._libs import lib
21-
from pandas._libs.tslib import NaT
20+
from pandas._libs import lib, NaT
2221

2322
_sort_msg = textwrap.dedent("""\
2423
Sorting because non-concatenation axis is not aligned. A future version

pandas/core/indexes/base.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from textwrap import dedent
55

66
import numpy as np
7-
from pandas._libs import (lib, index as libindex, tslib as libts,
7+
from pandas._libs import (lib, index as libindex, tslibs,
88
algos as libalgos, join as libjoin,
99
Timedelta)
1010
from pandas._libs.lib import is_datetime_array
@@ -407,7 +407,7 @@ def __new__(cls, data=None, dtype=None, copy=False, name=None,
407407
try:
408408
return DatetimeIndex(subarr, copy=copy,
409409
name=name, **kwargs)
410-
except libts.OutOfBoundsDatetime:
410+
except tslibs.OutOfBoundsDatetime:
411411
pass
412412

413413
elif inferred.startswith('timedelta'):

0 commit comments

Comments
 (0)