-
Notifications
You must be signed in to change notification settings - Fork 8
/
setup.py
123 lines (117 loc) · 2.95 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
"""
tablite
"""
from setuptools import setup
from pathlib import Path
__version__ = None
version_file = Path(__file__).parent / "tablite" / "version.py"
exec(version_file.read_text())
assert isinstance(__version__, str)
readme = Path(__file__).parent / "README.md"
assert isinstance(readme, Path)
assert readme.exists(), readme
with open(str(readme), encoding="utf-8") as f:
long_description = f.read()
keywords = list(
{
"tablite",
"table",
"tables",
"csv",
"txt",
"excel",
"xlsx",
"ods",
"zip",
"log",
"any",
"all",
"filter",
"column",
"columns",
"rows",
"from",
"json",
"to",
"inner join",
"outer join",
"left join",
"groupby",
"pivot",
"pivot table",
"sort",
"is sorted",
"show",
"use disk",
"out-of-memory",
"list on disk",
"stored list",
"min",
"max",
"sum",
"first",
"last",
"count",
"unique",
"average",
"standard deviation",
"median",
"mode",
"in-memory",
"index",
"indexing",
"product",
"replace missing values",
"data imputation",
"imputation",
"date range",
"read csv",
"xround",
"guess",
"remove duplicates",
"replace",
"to_pandas",
"pandas",
"from_pandas",
"transpose",
"dict",
"list",
"numpy",
"tools",
}
)
keywords.sort(key=lambda x: x.lower())
with open("requirements.txt", "r") as fi:
requirements = [v.rstrip("\n") for v in fi.readlines()]
setup(
name="tablite",
version=__version__,
url="https://github.com/root-11/tablite",
license="MIT",
author="https://github.com/root-11",
description="multiprocessing enabled out-of-memory data analysis library for tabular data.",
long_description=long_description,
long_description_content_type="text/markdown",
keywords=keywords,
packages=["tablite", "nimlite"],
package_data={
"tablite": ["**/*.so", "**/*.pyd", "**/*.pyi"], # pack builds
"nimlite": ["**/*.so", "**/*.pyd", "**/*.pyi"], # pack builds
},
python_requires=">=3.8",
include_package_data=True,
data_files=[(".", ["LICENSE", "README.md", "requirements.txt"])],
platforms="any",
install_requires=requirements,
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Natural Language :: English",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12"
],
)