Skip to content
Merged
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
59 changes: 26 additions & 33 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -545,12 +545,10 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
return pjoin("pandas", subdir, name + suffix)


common_include = ["pandas/_libs/src/klib", "pandas/_libs/src"]
ts_include = ["pandas/_libs/tslibs/src", "pandas/_libs/tslibs"]


lib_depends = ["pandas/_libs/src/parse_helper.h"]

klib_include = ["pandas/_libs/src/klib"]

np_datetime_headers = [
"pandas/_libs/tslibs/src/datetime/np_datetime.h",
"pandas/_libs/tslibs/src/datetime/np_datetime_strings.h",
Expand All @@ -564,36 +562,42 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):


ext_data = {
"_libs.algos": {"pyxfile": "_libs/algos", "depends": _pxi_dep["algos"]},
"_libs.algos": {
"pyxfile": "_libs/algos",
"include": klib_include,
"depends": _pxi_dep["algos"],
},
"_libs.groupby": {"pyxfile": "_libs/groupby"},
"_libs.hashing": {"pyxfile": "_libs/hashing", "include": [], "depends": []},
"_libs.hashing": {"pyxfile": "_libs/hashing", "depends": []},
"_libs.hashtable": {
"pyxfile": "_libs/hashtable",
"include": klib_include,
"depends": (["pandas/_libs/src/klib/khash_python.h"] + _pxi_dep["hashtable"]),
},
"_libs.index": {
"pyxfile": "_libs/index",
"include": common_include + ts_include,
"include": klib_include,
"depends": _pxi_dep["index"],
"sources": np_datetime_sources,
},
"_libs.indexing": {"pyxfile": "_libs/indexing"},
"_libs.internals": {"pyxfile": "_libs/internals"},
"_libs.interval": {"pyxfile": "_libs/interval", "depends": _pxi_dep["interval"]},
"_libs.join": {"pyxfile": "_libs/join"},
"_libs.interval": {
"pyxfile": "_libs/interval",
"include": klib_include,
"depends": _pxi_dep["interval"],
},
"_libs.join": {"pyxfile": "_libs/join", "include": klib_include},
"_libs.lib": {
"pyxfile": "_libs/lib",
"include": common_include + ts_include,
"depends": lib_depends + tseries_depends,
"include": klib_include, # due to tokenizer import
"sources": ["pandas/_libs/src/parser/tokenizer.c"],
},
"_libs.missing": {
"pyxfile": "_libs/missing",
"include": common_include + ts_include,
"depends": tseries_depends,
},
"_libs.missing": {"pyxfile": "_libs/missing", "depends": tseries_depends},
"_libs.parsers": {
"pyxfile": "_libs/parsers",
"include": klib_include + ["pandas/_libs/src"],
"depends": [
"pandas/_libs/src/parser/tokenizer.h",
"pandas/_libs/src/parser/io.h",
Expand All @@ -605,87 +609,76 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):
},
"_libs.reduction": {"pyxfile": "_libs/reduction"},
"_libs.ops": {"pyxfile": "_libs/ops"},
"_libs.properties": {"pyxfile": "_libs/properties", "include": []},
"_libs.properties": {"pyxfile": "_libs/properties"},
"_libs.reshape": {"pyxfile": "_libs/reshape", "depends": []},
"_libs.sparse": {"pyxfile": "_libs/sparse", "depends": _pxi_dep["sparse"]},
"_libs.tslib": {
"pyxfile": "_libs/tslib",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.c_timestamp": {
"pyxfile": "_libs/tslibs/c_timestamp",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.ccalendar": {"pyxfile": "_libs/tslibs/ccalendar", "include": []},
"_libs.tslibs.ccalendar": {"pyxfile": "_libs/tslibs/ccalendar"},
"_libs.tslibs.conversion": {
"pyxfile": "_libs/tslibs/conversion",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.fields": {
"pyxfile": "_libs/tslibs/fields",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.frequencies": {"pyxfile": "_libs/tslibs/frequencies", "include": []},
"_libs.tslibs.nattype": {"pyxfile": "_libs/tslibs/nattype", "include": []},
"_libs.tslibs.frequencies": {"pyxfile": "_libs/tslibs/frequencies"},
"_libs.tslibs.nattype": {"pyxfile": "_libs/tslibs/nattype"},
"_libs.tslibs.np_datetime": {
"pyxfile": "_libs/tslibs/np_datetime",
"include": ts_include,
"depends": np_datetime_headers,
"sources": np_datetime_sources,
},
"_libs.tslibs.offsets": {
"pyxfile": "_libs/tslibs/offsets",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.parsing": {
"pyxfile": "_libs/tslibs/parsing",
"include": klib_include,
"depends": ["pandas/_libs/src/parser/tokenizer.h"],
"sources": ["pandas/_libs/src/parser/tokenizer.c"],
},
"_libs.tslibs.period": {
"pyxfile": "_libs/tslibs/period",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.resolution": {
"pyxfile": "_libs/tslibs/resolution",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.strptime": {
"pyxfile": "_libs/tslibs/strptime",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.timedeltas": {
"pyxfile": "_libs/tslibs/timedeltas",
"include": ts_include,
"depends": np_datetime_headers,
"sources": np_datetime_sources,
},
"_libs.tslibs.timestamps": {
"pyxfile": "_libs/tslibs/timestamps",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
"_libs.tslibs.timezones": {"pyxfile": "_libs/tslibs/timezones", "include": []},
"_libs.tslibs.timezones": {"pyxfile": "_libs/tslibs/timezones"},
"_libs.tslibs.tzconversion": {
"pyxfile": "_libs/tslibs/tzconversion",
"include": ts_include,
"depends": tseries_depends,
"sources": np_datetime_sources,
},
Expand All @@ -709,7 +702,7 @@ def srcpath(name=None, suffix=".pyx", subdir="src"):

sources.extend(data.get("sources", []))

include = data.get("include", common_include)
include = data.get("include")

obj = Extension(
"pandas.{name}".format(name=name),
Expand Down