diff --git a/pandas/_libs/src/util.pxd b/pandas/_libs/src/util.pxd index 076bc1cd56003..de642b7d8741e 100644 --- a/pandas/_libs/src/util.pxd +++ b/pandas/_libs/src/util.pxd @@ -2,6 +2,8 @@ from numpy cimport ndarray cimport numpy as cnp cimport cpython +from cpython cimport PyString_Check, PyUnicode_Check + cdef extern from "numpy_helper.h": inline void set_array_owndata(ndarray ao) inline void set_array_not_contiguous(ndarray ao) @@ -10,7 +12,6 @@ cdef extern from "numpy_helper.h": inline int is_float_object(object) inline int is_complex_object(object) inline int is_bool_object(object) - inline int is_string_object(object) inline int is_datetime64_object(object) inline int is_timedelta64_object(object) inline int assign_value_1d(ndarray, Py_ssize_t, object) except -1 @@ -126,3 +127,6 @@ cdef inline bint _checknan(object val): cdef inline bint is_period_object(object val): return getattr(val, '_typ', '_typ') == 'period' + +cdef inline bint is_string_object(object obj): + return PyString_Check(obj) or PyUnicode_Check(obj) diff --git a/setup.py b/setup.py index 664478cc35845..94c0861c3e5e7 100755 --- a/setup.py +++ b/setup.py @@ -429,7 +429,7 @@ def get_tag(self): cmdclass['build_src'] = DummyBuildSrc cmdclass['build_ext'] = CheckingBuildExt -lib_depends = ['reduce', 'inference', 'properties'] +lib_depends = [] def srcpath(name=None, suffix='.pyx', subdir='src'): @@ -454,59 +454,41 @@ def pxd(name): else: extra_compile_args=['-Wno-unused-function'] -lib_depends = lib_depends + ['pandas/_libs/src/numpy_helper.h', - 'pandas/_libs/src/parse_helper.h', - 'pandas/_libs/src/compat_helper.h'] - - -tseries_depends = ['pandas/_libs/src/datetime/np_datetime.h', - 'pandas/_libs/src/datetime/np_datetime_strings.h', - 'pandas/_libs/src/datetime.pxd'] +tseries_depends = [] # some linux distros require it libraries = ['m'] if not is_platform_windows() else [] ext_data = { - '_libs.lib': {'pyxfile': '_libs/lib', - 'depends': lib_depends + tseries_depends}, + '_libs.lib': {'pyxfile': '_libs/lib'}, '_libs.hashtable': {'pyxfile': '_libs/hashtable', - 'depends': (['pandas/_libs/src/klib/khash_python.h'] - + _pxi_dep['hashtable'])}, + 'depends': _pxi_dep['hashtable']}, '_libs.tslib': {'pyxfile': '_libs/tslib', - 'pxdfiles': ['_libs/src/util'], - 'depends': tseries_depends, 'sources': ['pandas/_libs/src/datetime/np_datetime.c', 'pandas/_libs/src/datetime/np_datetime_strings.c']}, '_libs.tslibs.timezones': {'pyxfile': '_libs/tslibs/timezones'}, '_libs.period': {'pyxfile': '_libs/period', - 'depends': (tseries_depends + - ['pandas/_libs/src/period_helper.h']), + 'depends': ['pandas/_libs/src/period_helper.h'], 'sources': ['pandas/_libs/src/datetime/np_datetime.c', 'pandas/_libs/src/datetime/np_datetime_strings.c', 'pandas/_libs/src/period_helper.c']}, - '_libs.tslibs.frequencies': {'pyxfile': '_libs/tslibs/frequencies', - 'pxdfiles': ['_libs/src/util']}, + '_libs.tslibs.frequencies': {'pyxfile': '_libs/tslibs/frequencies'}, '_libs.index': {'pyxfile': '_libs/index', 'sources': ['pandas/_libs/src/datetime/np_datetime.c', 'pandas/_libs/src/datetime/np_datetime_strings.c'], - 'pxdfiles': ['_libs/src/util'], 'depends': _pxi_dep['index']}, '_libs.algos': {'pyxfile': '_libs/algos', - 'pxdfiles': ['_libs/src/util'], 'depends': _pxi_dep['algos']}, '_libs.groupby': {'pyxfile': '_libs/groupby', - 'pxdfiles': ['_libs/src/util'], 'depends': _pxi_dep['groupby']}, '_libs.join': {'pyxfile': '_libs/join', - 'pxdfiles': ['_libs/src/util'], 'depends': _pxi_dep['join']}, '_libs.reshape': {'pyxfile': '_libs/reshape', 'depends': _pxi_dep['reshape']}, '_libs.interval': {'pyxfile': '_libs/interval', 'depends': _pxi_dep['interval']}, '_libs.window': {'pyxfile': '_libs/window', - 'pxdfiles': ['_libs/src/skiplist', '_libs/src/util'], 'depends': ['pandas/_libs/src/skiplist.pyx', 'pandas/_libs/src/skiplist.h']}, '_libs.parsers': {'pyxfile': '_libs/parsers',