Skip to content

update tslibs imports #21816

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 9, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pandas/_libs/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# flake8: noqa

from .tslib import iNaT, NaT, Timestamp, Timedelta, OutOfBoundsDatetime
from .tslibs import iNaT, NaT, Timestamp, Timedelta, OutOfBoundsDatetime

# TODO
# period is directly dependent on tslib and imports python
Expand Down
3 changes: 1 addition & 2 deletions pandas/_libs/index.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ from tslibs.conversion cimport maybe_datetimelike_to_i8
from hashtable cimport HashTable

from pandas._libs import algos, hashtable as _hash
from pandas._libs.tslibs import period as periodlib
from pandas._libs.tslib import Timestamp, Timedelta
from pandas._libs.tslibs import Timestamp, Timedelta, period as periodlib
from pandas._libs.missing import checknull

cdef int64_t iNaT = util.get_nat()
Expand Down
2 changes: 1 addition & 1 deletion pandas/_libs/interval.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cimport util
cimport cython
import cython
from numpy cimport ndarray
from tslib import Timestamp
from tslibs import Timestamp
from tslibs.timezones cimport tz_compare

from cpython.object cimport (Py_EQ, Py_NE, Py_GT, Py_LT, Py_GE, Py_LE,
Expand Down
3 changes: 1 addition & 2 deletions pandas/_libs/lib.pyx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# cython: profile=False
import operator

cimport cython
from cython cimport Py_ssize_t

Expand Down
1 change: 0 additions & 1 deletion pandas/_libs/missing.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ cimport util

from tslibs.np_datetime cimport get_timedelta64_value, get_datetime64_value
from tslibs.nattype import NaT
from tslibs.nattype cimport is_null_datetimelike

cdef double INF = <double> np.inf
cdef double NEGINF = -INF
Expand Down
2 changes: 0 additions & 2 deletions pandas/_libs/reshape.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ cimport cython
from cython cimport Py_ssize_t

import numpy as np
cimport numpy as cnp
from numpy cimport (ndarray,
int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t,
uint32_t, uint64_t, float32_t, float64_t)
cnp.import_array()


cdef double NaN = <double> np.NaN
Expand Down
4 changes: 4 additions & 0 deletions pandas/_libs/src/util.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ cdef extern from "headers/stdint.h":
enum: INT64_MAX
enum: INT64_MIN


cdef inline object get_value_at(ndarray arr, object loc):
cdef:
Py_ssize_t i, sz
Expand All @@ -119,6 +120,7 @@ cdef inline object get_value_at(ndarray arr, object loc):

return get_value_1d(arr, i)


cdef inline set_value_at_unsafe(ndarray arr, object loc, object value):
"""Sets a value into the array without checking the writeable flag.

Expand Down Expand Up @@ -153,12 +155,14 @@ cdef inline set_value_at(ndarray arr, object loc, object value):
cdef inline is_array(object o):
return cnp.PyArray_Check(o)


cdef inline bint _checknull(object val):
try:
return val is None or (cpython.PyFloat_Check(val) and val != val)
except ValueError:
return False


cdef inline bint is_period_object(object val):
return getattr(val, '_typ', '_typ') == 'period'

Expand Down
2 changes: 0 additions & 2 deletions pandas/_libs/tslib.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,12 @@ import pytz


from tslibs.timedeltas cimport cast_from_unit
from tslibs.timedeltas import Timedelta, ints_to_pytimedelta # noqa:F841
from tslibs.timezones cimport (is_utc, is_tzlocal, is_fixed_offset,
treat_tz_as_pytz, get_dst_info)
from tslibs.conversion cimport (tz_convert_single, _TSObject,
convert_datetime_to_tsobject,
get_datetime64_nanos,
tz_convert_utc_to_tzlocal)
from tslibs.conversion import tz_convert_single, normalize_date # noqa:F841

from tslibs.nattype import NaT, nat_strings, iNaT
from tslibs.nattype cimport checknull_with_nat, NPY_NAT
Expand Down
1 change: 0 additions & 1 deletion pandas/_libs/tslibs/frequencies.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import re
cimport cython

cimport numpy as cnp
from numpy cimport int64_t
cnp.import_array()

from util cimport is_integer_object, is_string_object
Expand Down
2 changes: 0 additions & 2 deletions pandas/_libs/tslibs/offsets.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ from cpython.datetime cimport (PyDateTime_IMPORT, PyDateTime_CheckExact,
PyDateTime_IMPORT

from dateutil.relativedelta import relativedelta
from pytz import UTC

import numpy as np
cimport numpy as cnp
Expand All @@ -24,7 +23,6 @@ from util cimport is_string_object, is_integer_object
from ccalendar import MONTHS, DAYS
from ccalendar cimport get_days_in_month, dayofweek
from conversion cimport tz_convert_single, pydt_to_i8, localize_pydatetime
from frequencies cimport get_freq_code
from nattype cimport NPY_NAT
from np_datetime cimport (pandas_datetimestruct,
dtstruct_to_dt64, dt64_to_dtstruct)
Expand Down
5 changes: 0 additions & 5 deletions pandas/_libs/tslibs/parsing.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ Parsing functions for datetime and datetime-like strings.
import sys
import re

from cpython cimport PyString_Check, PyUnicode_Check

from libc.stdlib cimport free

cimport cython
from cython cimport Py_ssize_t

Expand All @@ -34,7 +30,6 @@ else:
# dateutil compat
from dateutil.tz import (tzoffset,
tzlocal as _dateutil_tzlocal,
tzfile as _dateutil_tzfile,
tzutc as _dateutil_tzutc,
tzstr as _dateutil_tzstr)
from dateutil.relativedelta import relativedelta
Expand Down
4 changes: 2 additions & 2 deletions pandas/_libs/tslibs/period.pyx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# cython: profile=False
from datetime import datetime, date, timedelta
from datetime import datetime, date

from cpython cimport (
PyUnicode_Check,
Expand Down Expand Up @@ -37,7 +37,7 @@ cimport util
from util cimport is_period_object, is_string_object, INT32_MIN

from timestamps import Timestamp
from timezones cimport is_utc, is_tzlocal, get_utcoffset, get_dst_info
from timezones cimport is_utc, is_tzlocal, get_dst_info
from timedeltas cimport delta_to_nanoseconds

cimport ccalendar
Expand Down
4 changes: 1 addition & 3 deletions pandas/_libs/tslibs/resolution.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@ from pandas._libs.khash cimport (khiter_t,
kh_init_int64, kh_int64_t,
kh_resize_int64, kh_get_int64)

from cpython.datetime cimport datetime

from np_datetime cimport pandas_datetimestruct, dt64_to_dtstruct
from frequencies cimport get_freq_code
from timezones cimport (is_utc, is_tzlocal,
maybe_get_tz, get_dst_info, get_utcoffset)
maybe_get_tz, get_dst_info)
from fields import build_field_sarray
from conversion import tz_convert
from conversion cimport tz_convert_utc_to_tzlocal
Expand Down
1 change: 0 additions & 1 deletion pandas/_libs/tslibs/strptime.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import numpy as np
from numpy cimport ndarray, int64_t

from datetime import date as datetime_date
from cpython.datetime cimport datetime

from np_datetime cimport (check_dts_bounds,
dtstruct_to_dt64, pandas_datetimestruct)
Expand Down
3 changes: 1 addition & 2 deletions pandas/_libs/window.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ cdef extern from "../src/headers/cmath" namespace "std":
cimport util
from util cimport numeric

from skiplist cimport (IndexableSkiplist,
node_t, skiplist_t,
from skiplist cimport (skiplist_t,
skiplist_init, skiplist_destroy,
skiplist_get, skiplist_insert, skiplist_remove)

Expand Down
6 changes: 3 additions & 3 deletions pandas/core/arrays/timedelta.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

import numpy as np

from pandas._libs import tslib
from pandas._libs.tslib import Timedelta, NaT
from pandas._libs import tslibs
from pandas._libs.tslibs import Timedelta, NaT
from pandas._libs.tslibs.fields import get_timedelta_field
from pandas._libs.tslibs.timedeltas import array_to_timedelta64

Expand Down Expand Up @@ -148,7 +148,7 @@ def to_pytimedelta(self):
-------
datetimes : ndarray
"""
return tslib.ints_to_pytimedelta(self.asi8)
return tslibs.ints_to_pytimedelta(self.asi8)

days = _field_accessor("days", "days",
" Number of days for each element. ")
Expand Down
6 changes: 3 additions & 3 deletions pandas/core/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import collections

import numpy as np
from pandas._libs import lib, tslib
from pandas._libs import lib, tslibs

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

if isinstance(value, (np.datetime64, datetime)):
value = tslib.Timestamp(value)
value = tslibs.Timestamp(value)
elif isinstance(value, (np.timedelta64, timedelta)):
value = tslib.Timedelta(value)
value = tslibs.Timedelta(value)

return value

Expand Down
18 changes: 9 additions & 9 deletions pandas/core/dtypes/cast.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import numpy as np
import warnings

from pandas._libs import tslib, lib
from pandas._libs.tslib import iNaT
from pandas._libs import tslib, lib, tslibs
from pandas._libs.tslibs import iNaT
from pandas.compat import string_types, text_type, PY3
from .common import (_ensure_object, is_bool, is_integer, is_float,
is_complex, is_datetimetz, is_categorical_dtype,
Expand Down Expand Up @@ -278,14 +278,14 @@ def maybe_promote(dtype, fill_value=np.nan):
else:
if issubclass(dtype.type, np.datetime64):
try:
fill_value = tslib.Timestamp(fill_value).value
fill_value = tslibs.Timestamp(fill_value).value
except Exception:
# the proper thing to do here would probably be to upcast
# to object (but numpy 1.6.1 doesn't do this properly)
fill_value = iNaT
elif issubclass(dtype.type, np.timedelta64):
try:
fill_value = tslib.Timedelta(fill_value).value
fill_value = tslibs.Timedelta(fill_value).value
except Exception:
# as for datetimes, cannot upcast to object
fill_value = iNaT
Expand Down Expand Up @@ -393,8 +393,8 @@ def infer_dtype_from_scalar(val, pandas_dtype=False):
dtype = np.object_

elif isinstance(val, (np.datetime64, datetime)):
val = tslib.Timestamp(val)
if val is tslib.NaT or val.tz is None:
val = tslibs.Timestamp(val)
if val is tslibs.NaT or val.tz is None:
dtype = np.dtype('M8[ns]')
else:
if pandas_dtype:
Expand All @@ -405,7 +405,7 @@ def infer_dtype_from_scalar(val, pandas_dtype=False):
val = val.value

elif isinstance(val, (np.timedelta64, timedelta)):
val = tslib.Timedelta(val).value
val = tslibs.Timedelta(val).value
dtype = np.dtype('m8[ns]')

elif is_bool(val):
Expand Down Expand Up @@ -625,7 +625,7 @@ def conv(r, dtype):
if isna(r):
pass
elif dtype == _NS_DTYPE:
r = tslib.Timestamp(r)
r = tslibs.Timestamp(r)
elif dtype == _TD_DTYPE:
r = _coerce_scalar_to_timedelta_type(r)
elif dtype == np.bool_:
Expand Down Expand Up @@ -679,7 +679,7 @@ def astype_nansafe(arr, dtype, copy=True):

elif is_timedelta64_dtype(arr):
if is_object_dtype(dtype):
return tslib.ints_to_pytimedelta(arr.view(np.int64))
return tslibs.ints_to_pytimedelta(arr.view(np.int64))
elif dtype == np.int64:
return arr.view(dtype)

Expand Down
4 changes: 2 additions & 2 deletions pandas/core/dtypes/concat.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"""

import numpy as np
import pandas._libs.tslib as tslib
from pandas._libs import tslib, tslibs
from pandas import compat
from pandas.core.dtypes.common import (
is_categorical_dtype,
Expand Down Expand Up @@ -486,7 +486,7 @@ def _convert_datetimelike_to_object(x):

elif x.dtype == _TD_DTYPE:
shape = x.shape
x = tslib.ints_to_pytimedelta(x.view(np.int64).ravel(), box=True)
x = tslibs.ints_to_pytimedelta(x.view(np.int64).ravel(), box=True)
x = x.reshape(shape)

return x
Expand Down
2 changes: 1 addition & 1 deletion pandas/core/dtypes/missing.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"""
import numpy as np
from pandas._libs import lib, missing as libmissing
from pandas._libs.tslib import NaT, iNaT
from pandas._libs.tslibs import NaT, iNaT
from .generic import (ABCMultiIndex, ABCSeries,
ABCIndexClass, ABCGeneric,
ABCExtensionArray)
Expand Down
3 changes: 1 addition & 2 deletions pandas/core/indexes/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
from pandas.core.indexes.datetimes import DatetimeIndex

import pandas.core.common as com
from pandas._libs import lib
from pandas._libs.tslib import NaT
from pandas._libs import lib, NaT

_sort_msg = textwrap.dedent("""\
Sorting because non-concatenation axis is not aligned. A future version
Expand Down
4 changes: 2 additions & 2 deletions pandas/core/indexes/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from textwrap import dedent

import numpy as np
from pandas._libs import (lib, index as libindex, tslib as libts,
from pandas._libs import (lib, index as libindex, tslibs,
algos as libalgos, join as libjoin,
Timedelta)
from pandas._libs.lib import is_datetime_array
Expand Down Expand Up @@ -407,7 +407,7 @@ def __new__(cls, data=None, dtype=None, copy=False, name=None,
try:
return DatetimeIndex(subarr, copy=copy,
name=name, **kwargs)
except libts.OutOfBoundsDatetime:
except tslibs.OutOfBoundsDatetime:
pass

elif inferred.startswith('timedelta'):
Expand Down
Loading