Skip to content

Commit 97aacc0

Browse files
WillAydPingviinituutti
authored andcommitted
CLN: Cython Py2/3 Compatible Imports (pandas-dev#23940)
1 parent a3dc09e commit 97aacc0

33 files changed

+206
-196
lines changed

pandas/_libs/algos.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from util cimport numeric
1+
from pandas._libs.util cimport numeric
22

33

44
cdef inline Py_ssize_t swap(numeric *a, numeric *b) nogil:

pandas/_libs/algos.pyx

+6-7
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@ from numpy cimport (ndarray,
1919
cnp.import_array()
2020

2121

22-
cimport util
23-
from util cimport numeric, get_nat
22+
cimport pandas._libs.util as util
23+
from pandas._libs.util cimport numeric, get_nat
2424

25-
from khash cimport (khiter_t,
26-
kh_destroy_int64, kh_put_int64,
27-
kh_init_int64, kh_int64_t,
28-
kh_resize_int64, kh_get_int64)
25+
from pandas._libs.khash cimport (
26+
khiter_t, kh_destroy_int64, kh_put_int64, kh_init_int64, kh_int64_t,
27+
kh_resize_int64, kh_get_int64)
2928

30-
import missing
29+
import pandas._libs.missing as missing
3130

3231
cdef float64_t FP_ERR = 1e-13
3332

pandas/_libs/groupby.pyx

+6-4
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ from numpy cimport (ndarray,
1313
cnp.import_array()
1414

1515

16-
from util cimport numeric, get_nat
16+
from pandas._libs.util cimport numeric, get_nat
1717

18-
from algos cimport (swap, TiebreakEnumType, TIEBREAK_AVERAGE, TIEBREAK_MIN,
19-
TIEBREAK_MAX, TIEBREAK_FIRST, TIEBREAK_DENSE)
20-
from algos import take_2d_axis1_float64_float64, groupsort_indexer, tiebreakers
18+
from pandas._libs.algos cimport (swap, TiebreakEnumType, TIEBREAK_AVERAGE,
19+
TIEBREAK_MIN, TIEBREAK_MAX, TIEBREAK_FIRST,
20+
TIEBREAK_DENSE)
21+
from pandas._libs.algos import (take_2d_axis1_float64_float64,
22+
groupsort_indexer, tiebreakers)
2123

2224
cdef int64_t NPY_NAT = get_nat()
2325

pandas/_libs/hashing.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import numpy as np
99
from numpy cimport uint8_t, uint32_t, uint64_t, import_array
1010
import_array()
1111

12-
from util cimport is_nan
12+
from pandas._libs.util cimport is_nan
1313

1414
DEF cROUNDS = 2
1515
DEF dROUNDS = 4

pandas/_libs/hashtable.pxd

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
from khash cimport (kh_int64_t, kh_uint64_t, kh_float64_t, kh_pymap_t,
2-
kh_str_t, uint64_t, int64_t, float64_t)
1+
from pandas._libs.khash cimport (
2+
kh_int64_t, kh_uint64_t, kh_float64_t, kh_pymap_t, kh_str_t, uint64_t,
3+
int64_t, float64_t)
34
from numpy cimport ndarray
45

56
# prototypes for sharing

pandas/_libs/hashtable.pyx

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ cdef extern from "numpy/npy_math.h":
1616
float64_t NAN "NPY_NAN"
1717

1818

19-
from khash cimport (
19+
from pandas._libs.khash cimport (
2020
khiter_t,
2121

2222
kh_str_t, kh_init_str, kh_put_str, kh_exist_str,
@@ -37,9 +37,9 @@ from khash cimport (
3737
kh_put_pymap, kh_resize_pymap)
3838

3939

40-
cimport util
40+
cimport pandas._libs.util as util
4141

42-
from missing cimport checknull
42+
from pandas._libs.missing cimport checknull
4343

4444

4545
cdef int64_t NPY_NAT = util.get_nat()

pandas/_libs/index.pyx

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ from numpy cimport (ndarray, intp_t,
1515
cnp.import_array()
1616

1717

18-
cimport util
18+
cimport pandas._libs.util as util
1919

20-
from tslibs.conversion cimport maybe_datetimelike_to_i8
20+
from pandas._libs.tslibs.conversion cimport maybe_datetimelike_to_i8
2121

22-
from hashtable cimport HashTable
22+
from pandas._libs.hashtable cimport HashTable
2323

2424
from pandas._libs import algos, hashtable as _hash
2525
from pandas._libs.tslibs import Timestamp, Timedelta, period as periodlib

pandas/_libs/internals.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ cdef extern from "compat_helper.h":
1818
Py_ssize_t *slicelength) except -1
1919

2020

21-
from algos import ensure_int64
21+
from pandas._libs.algos import ensure_int64
2222

2323

2424
cdef class BlockPlacement:

pandas/_libs/interval.pyx

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ from numpy cimport (
1717
cnp.import_array()
1818

1919

20-
cimport util
20+
cimport pandas._libs.util as util
2121
util.import_array()
2222

23-
from hashtable cimport Int64Vector, Int64VectorData
23+
from pandas._libs.hashtable cimport Int64Vector, Int64VectorData
2424

25-
from tslibs import Timestamp
26-
from tslibs.timezones cimport tz_compare
25+
from pandas._libs.tslibs import Timestamp
26+
from pandas._libs.tslibs.timezones cimport tz_compare
2727

2828

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

pandas/_libs/join.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,7 @@ outer_join_indexer_uint64 = outer_join_indexer["uint64_t"]
656656
# asof_join_by
657657
# ----------------------------------------------------------------------
658658

659-
from hashtable cimport (
659+
from pandas._libs.hashtable cimport (
660660
HashTable, PyObjectHashTable, UInt64HashTable, Int64HashTable)
661661

662662
ctypedef fused asof_t:

pandas/_libs/lib.pyx

+13-12
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,19 @@ cdef extern from "numpy/arrayobject.h":
4949
cdef extern from "src/parse_helper.h":
5050
int floatify(object, float64_t *result, int *maybe_int) except -1
5151

52-
cimport util
53-
from util cimport is_nan, UINT64_MAX, INT64_MAX, INT64_MIN
54-
55-
from tslib import array_to_datetime
56-
from tslibs.nattype cimport NPY_NAT
57-
from tslibs.nattype import NaT
58-
from tslibs.conversion cimport convert_to_tsobject
59-
from tslibs.timedeltas cimport convert_to_timedelta64
60-
from tslibs.timezones cimport get_timezone, tz_compare
61-
62-
from missing cimport (checknull, isnaobj,
63-
is_null_datetime64, is_null_timedelta64, is_null_period)
52+
cimport pandas._libs.util as util
53+
from pandas._libs.util cimport is_nan, UINT64_MAX, INT64_MAX, INT64_MIN
54+
55+
from pandas._libs.tslib import array_to_datetime
56+
from pandas._libs.tslibs.nattype cimport NPY_NAT
57+
from pandas._libs.tslibs.nattype import NaT
58+
from pandas._libs.tslibs.conversion cimport convert_to_tsobject
59+
from pandas._libs.tslibs.timedeltas cimport convert_to_timedelta64
60+
from pandas._libs.tslibs.timezones cimport get_timezone, tz_compare
61+
62+
from pandas._libs.missing cimport (
63+
checknull, isnaobj, is_null_datetime64, is_null_timedelta64, is_null_period
64+
)
6465

6566

6667
# constants that will be compared to potentially arbitrarily large

pandas/_libs/missing.pyx

+5-4
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ cimport numpy as cnp
88
from numpy cimport ndarray, int64_t, uint8_t, float64_t
99
cnp.import_array()
1010

11-
cimport util
11+
cimport pandas._libs.util as util
1212

13-
from tslibs.np_datetime cimport get_timedelta64_value, get_datetime64_value
14-
from tslibs.nattype cimport checknull_with_nat
15-
from tslibs.nattype import NaT
13+
from pandas._libs.tslibs.np_datetime cimport (
14+
get_timedelta64_value, get_datetime64_value)
15+
from pandas._libs.tslibs.nattype cimport checknull_with_nat
16+
from pandas._libs.tslibs.nattype import NaT
1617

1718
cdef float64_t INF = <float64_t>np.inf
1819
cdef float64_t NEGINF = -INF

pandas/_libs/ops.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ from numpy cimport ndarray, uint8_t, import_array
1212
import_array()
1313

1414

15-
from util cimport UINT8_MAX, is_nan
15+
from pandas._libs.util cimport UINT8_MAX, is_nan
1616

17-
from missing cimport checknull
17+
from pandas._libs.missing cimport checknull
1818

1919

2020
@cython.wraparound(False)

pandas/_libs/parsers.pyx

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ cimport numpy as cnp
3232
from numpy cimport ndarray, uint8_t, uint64_t, int64_t, float64_t
3333
cnp.import_array()
3434

35-
from util cimport UINT64_MAX, INT64_MAX, INT64_MIN
36-
import lib
35+
from pandas._libs.util cimport UINT64_MAX, INT64_MAX, INT64_MIN
36+
import pandas._libs.lib as lib
3737

38-
from khash cimport (
38+
from pandas._libs.khash cimport (
3939
khiter_t,
4040
kh_str_t, kh_init_str, kh_put_str, kh_exist_str,
4141
kh_get_str, kh_destroy_str,

pandas/_libs/reduction.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ from numpy cimport (ndarray,
1515
flatiter)
1616
cnp.import_array()
1717

18-
cimport util
19-
from lib import maybe_convert_objects
18+
cimport pandas._libs.util as util
19+
from pandas._libs.lib import maybe_convert_objects
2020

2121

2222
cdef _get_result_array(object obj, Py_ssize_t size, Py_ssize_t cnt):

pandas/_libs/tslib.pyx

+19-22
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,33 @@ cnp.import_array()
1616

1717
import pytz
1818

19-
from util cimport (is_integer_object, is_float_object, is_string_object,
20-
is_datetime64_object)
19+
from pandas._libs.util cimport (
20+
is_integer_object, is_float_object, is_string_object, is_datetime64_object)
2121

2222

23-
from tslibs.np_datetime cimport (check_dts_bounds,
24-
npy_datetimestruct,
25-
_string_to_dts,
26-
dt64_to_dtstruct, dtstruct_to_dt64,
27-
pydatetime_to_dt64, pydate_to_dt64,
28-
get_datetime64_value)
29-
from tslibs.np_datetime import OutOfBoundsDatetime
23+
from pandas._libs.tslibs.np_datetime cimport (
24+
check_dts_bounds, npy_datetimestruct, _string_to_dts, dt64_to_dtstruct,
25+
dtstruct_to_dt64, pydatetime_to_dt64, pydate_to_dt64, get_datetime64_value)
26+
from pandas._libs.tslibs.np_datetime import OutOfBoundsDatetime
3027

31-
from tslibs.parsing import parse_datetime_string
28+
from pandas._libs.tslibs.parsing import parse_datetime_string
3229

33-
from tslibs.timedeltas cimport cast_from_unit
34-
from tslibs.timezones cimport is_utc, is_tzlocal, get_dst_info
35-
from tslibs.timezones import UTC
36-
from tslibs.conversion cimport (tz_convert_single, _TSObject,
37-
convert_datetime_to_tsobject,
38-
get_datetime64_nanos,
39-
tz_convert_utc_to_tzlocal)
30+
from pandas._libs.tslibs.timedeltas cimport cast_from_unit
31+
from pandas._libs.tslibs.timezones cimport is_utc, is_tzlocal, get_dst_info
32+
from pandas._libs.tslibs.timezones import UTC
33+
from pandas._libs.tslibs.conversion cimport (
34+
tz_convert_single, _TSObject, convert_datetime_to_tsobject,
35+
get_datetime64_nanos, tz_convert_utc_to_tzlocal)
4036

4137
# many modules still look for NaT and iNaT here despite them not being needed
42-
from tslibs.nattype import nat_strings, iNaT # noqa:F821
43-
from tslibs.nattype cimport checknull_with_nat, NPY_NAT, c_NaT as NaT
38+
from pandas._libs.tslibs.nattype import nat_strings, iNaT # noqa:F821
39+
from pandas._libs.tslibs.nattype cimport (
40+
checknull_with_nat, NPY_NAT, c_NaT as NaT)
4441

45-
from tslibs.offsets cimport to_offset
42+
from pandas._libs.tslibs.offsets cimport to_offset
4643

47-
from tslibs.timestamps cimport create_timestamp_from_ts
48-
from tslibs.timestamps import Timestamp
44+
from pandas._libs.tslibs.timestamps cimport create_timestamp_from_ts
45+
from pandas._libs.tslibs.timestamps import Timestamp
4946

5047

5148
cdef bint PY2 = str == bytes

pandas/_libs/tslibs/ccalendar.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import cython
99
from numpy cimport int64_t, int32_t
1010

1111
from locale import LC_TIME
12-
from strptime import LocaleTime
12+
from pandas._libs.tslibs.strptime import LocaleTime
1313

1414
# ----------------------------------------------------------------------
1515
# Constants

pandas/_libs/tslibs/conversion.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ from cpython.datetime cimport datetime, tzinfo
44

55
from numpy cimport int64_t, int32_t
66

7-
from np_datetime cimport npy_datetimestruct
7+
from pandas._libs.tslibs.np_datetime cimport npy_datetimestruct
88

99

1010
cdef class _TSObject:

pandas/_libs/tslibs/conversion.pyx

+23-25
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,28 @@ from cpython.datetime cimport (datetime, tzinfo,
1616
PyDateTime_CheckExact, PyDateTime_IMPORT)
1717
PyDateTime_IMPORT
1818

19-
from ccalendar import DAY_SECONDS, HOUR_SECONDS
20-
21-
from np_datetime cimport (check_dts_bounds,
22-
npy_datetimestruct,
23-
pandas_datetime_to_datetimestruct, _string_to_dts,
24-
npy_datetime,
25-
dt64_to_dtstruct, dtstruct_to_dt64,
26-
get_datetime64_unit, get_datetime64_value,
27-
pydatetime_to_dt64, NPY_DATETIMEUNIT, NPY_FR_ns)
28-
from np_datetime import OutOfBoundsDatetime
29-
30-
from util cimport (is_string_object,
31-
is_datetime64_object,
32-
is_integer_object, is_float_object)
33-
34-
from timedeltas cimport cast_from_unit
35-
from timezones cimport (is_utc, is_tzlocal, is_fixed_offset,
36-
get_utcoffset, get_dst_info,
37-
get_timezone, maybe_get_tz, tz_compare)
38-
from timezones import UTC
39-
from parsing import parse_datetime_string
40-
41-
from nattype import nat_strings
42-
from nattype cimport NPY_NAT, checknull_with_nat, c_NaT as NaT
19+
from pandas._libs.tslibs.ccalendar import DAY_SECONDS, HOUR_SECONDS
20+
21+
from pandas._libs.tslibs.np_datetime cimport (
22+
check_dts_bounds, npy_datetimestruct, pandas_datetime_to_datetimestruct,
23+
_string_to_dts, npy_datetime, dt64_to_dtstruct, dtstruct_to_dt64,
24+
get_datetime64_unit, get_datetime64_value, pydatetime_to_dt64,
25+
NPY_DATETIMEUNIT, NPY_FR_ns)
26+
from pandas._libs.tslibs.np_datetime import OutOfBoundsDatetime
27+
28+
from pandas._libs.tslibs.util cimport (
29+
is_string_object, is_datetime64_object, is_integer_object, is_float_object)
30+
31+
from pandas._libs.tslibs.timedeltas cimport cast_from_unit
32+
from pandas._libs.tslibs.timezones cimport (
33+
is_utc, is_tzlocal, is_fixed_offset, get_utcoffset, get_dst_info,
34+
get_timezone, maybe_get_tz, tz_compare)
35+
from pandas._libs.tslibs.timezones import UTC
36+
from pandas._libs.tslibs.parsing import parse_datetime_string
37+
38+
from pandas._libs.tslibs.nattype import nat_strings
39+
from pandas._libs.tslibs.nattype cimport (
40+
NPY_NAT, checknull_with_nat, c_NaT as NaT)
4341

4442
# ----------------------------------------------------------------------
4543
# Constants
@@ -1090,7 +1088,7 @@ cdef inline Py_ssize_t bisect_right_i8(int64_t *data,
10901088

10911089
cdef inline str _render_tstamp(int64_t val):
10921090
""" Helper function to render exception messages"""
1093-
from timestamps import Timestamp
1091+
from pandas._libs.tslibs.timestamps import Timestamp
10941092
return str(Timestamp(val))
10951093

10961094

pandas/_libs/tslibs/fields.pyx

+9-6
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,15 @@ cimport numpy as cnp
1212
from numpy cimport ndarray, int64_t, int32_t, int8_t
1313
cnp.import_array()
1414

15-
from ccalendar import get_locale_names, MONTHS_FULL, DAYS_FULL, DAY_SECONDS
16-
from ccalendar cimport (get_days_in_month, is_leapyear, dayofweek,
17-
get_week_of_year, get_day_of_year)
18-
from np_datetime cimport (npy_datetimestruct, pandas_timedeltastruct,
19-
dt64_to_dtstruct, td64_to_tdstruct)
20-
from nattype cimport NPY_NAT
15+
from pandas._libs.tslibs.ccalendar import (
16+
get_locale_names, MONTHS_FULL, DAYS_FULL, DAY_SECONDS)
17+
from pandas._libs.tslibs.ccalendar cimport (
18+
get_days_in_month, is_leapyear, dayofweek, get_week_of_year,
19+
get_day_of_year)
20+
from pandas._libs.tslibs.np_datetime cimport (
21+
npy_datetimestruct, pandas_timedeltastruct, dt64_to_dtstruct,
22+
td64_to_tdstruct)
23+
from pandas._libs.tslibs.nattype cimport NPY_NAT
2124

2225

2326
def get_time_micros(ndarray[int64_t] dtindex):

pandas/_libs/tslibs/frequencies.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import re
44
cimport numpy as cnp
55
cnp.import_array()
66

7-
from util cimport is_integer_object, is_string_object
7+
from pandas._libs.tslibs.util cimport is_integer_object, is_string_object
88

9-
from ccalendar import MONTH_NUMBERS
9+
from pandas._libs.tslibs.ccalendar import MONTH_NUMBERS
1010

1111
# ----------------------------------------------------------------------
1212
# Constants

0 commit comments

Comments
 (0)