-
Notifications
You must be signed in to change notification settings - Fork 94
/
setup.py
114 lines (106 loc) · 3.56 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
import os
from setuptools import find_packages, setup
from fugue_version import __version__
SQL_DEPENDENCIES = [
"qpd>=0.4.4",
"fugue-sql-antlr>=0.2.0",
"sqlglot",
"jinja2",
]
with open("README.md") as f:
_text = ["# Fugue"] + f.read().splitlines()[1:]
LONG_DESCRIPTION = "\n".join(_text)
def get_version() -> str:
tag = os.environ.get("RELEASE_TAG", "")
if "dev" in tag.split(".")[-1]:
return tag
if tag != "":
assert tag == __version__, "release tag and version mismatch"
return __version__
setup(
name="fugue",
version=get_version(),
packages=find_packages(include=["fugue*"]),
description="An abstraction layer for distributed computation",
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",
license="Apache-2.0",
author="The Fugue Development Team",
author_email="[email protected]",
keywords="distributed spark dask ray sql dsl domain specific language",
url="https://github.com/fugue-project/fugue",
install_requires=[
"triad>=0.9.7",
"adagio>=0.2.6",
],
extras_require={
"sql": SQL_DEPENDENCIES,
"cpp_sql_parser": ["fugue-sql-antlr[cpp]>=0.2.0"],
"spark": ["pyspark>=3.1.1"],
"dask": [
"dask[distributed,dataframe]>=2023.5.0",
"dask[distributed,dataframe]>=2024.4.0;python_version>='3.11.9'",
"pyarrow>=7.0.0",
"pandas>=2.0.2",
],
"ray": [
"ray[data]>=2.5.0",
"duckdb>=0.5.0",
"pyarrow>=7.0.0",
"pandas<2.2",
],
"duckdb": SQL_DEPENDENCIES
+ [
"duckdb>=0.5.0",
"numpy",
],
"polars": ["polars"],
"ibis": SQL_DEPENDENCIES + ["ibis-framework[pandas]", "pandas<2.2"],
"notebook": ["notebook", "jupyterlab", "ipython>=7.10.0"],
"all": SQL_DEPENDENCIES
+ [
"pyspark>=3.1.1",
"dask[distributed,dataframe]>=2023.5.0",
"dask-sql",
"ray[data]>=2.5.0",
"notebook",
"jupyterlab",
"ipython>=7.10.0",
"duckdb>=0.5.0",
"pyarrow>=6.0.1",
"pandas>=2.0.2,<2.2", # because of Ray and ibis
"ibis-framework[pandas]",
"polars",
],
},
classifiers=[
# "3 - Alpha", "4 - Beta" or "5 - Production/Stable"
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"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",
"Programming Language :: Python :: 3 :: Only",
],
python_requires=">=3.8",
package_data={"fugue": ["py.typed"], "fugue_notebook": ["nbextension/*"]},
entry_points={
"fugue.plugins": [
"ibis = fugue_ibis[ibis]",
"duckdb = fugue_duckdb.registry[duckdb]",
"spark = fugue_spark.registry[spark]",
"dask = fugue_dask.registry[dask]",
"ray = fugue_ray.registry[ray]",
"polars = fugue_polars.registry[polars]",
],
"pytest11": [
"fugue_test = fugue_test",
"fugue_test_fixtures = fugue_test.fixtures",
],
},
)