-
Notifications
You must be signed in to change notification settings - Fork 242
Expand file tree
/
Copy pathsetup.py
More file actions
115 lines (109 loc) · 4.24 KB
/
setup.py
File metadata and controls
115 lines (109 loc) · 4.24 KB
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
import sys
import os
from setuptools import setup, find_packages
from pathlib import Path
# Use the README.md from /docs
root_path = Path(__file__).resolve().parent.parent
readme_path = root_path / "docs/README.md"
if readme_path.exists():
long_description = readme_path.read_text(encoding="utf8")
else:
# In some build environments (specifically in conda), we may not have the README file
# readily available. In these cases, just set long_description to the URL of README.md.
long_description = "See https://github.com/feathr-ai/feathr/blob/main/docs/README.md"
try:
exec(open("feathr/version.py").read())
except IOError:
print("Failed to load Feathr version file for packaging.", file=sys.stderr)
# Temp workaround for conda build. For long term fix, Jay will need to update manifest.in file.
VERSION = "1.0.0"
VERSION = __version__ # noqa
os.environ["FEATHR_VERSION"] = VERSION
extras_require = dict(
dev=[
"black>=22.1.0", # formatter
"isort", # sort import statements
"pytest>=7",
"pytest-cov",
"pytest-xdist",
"pytest-mock>=3.8.1",
],
notebook=[
"azure-cli==2.37.0",
"jupyter>=1.0.0",
"matplotlib>=3.6.1",
"papermill>=2.1.2,<3", # to test run notebooks
"scrapbook>=0.5.0,<1.0.0", # to scrap notebook outputs
"scikit-learn", # for notebook examples
"plotly", # for plotting
],
)
extras_require["all"] = list(set(sum([*extras_require.values()], [])))
setup(
name="feathr",
version=VERSION,
long_description=long_description,
long_description_content_type="text/markdown",
author_email="feathr-technical-discuss@lists.lfaidata.foundation",
description="An Enterprise-Grade, High Performance Feature Store",
url="https://github.com/feathr-ai/feathr",
project_urls={
"Bug Tracker": "https://github.com/feathr-ai/feathr/issues",
},
packages=find_packages(),
include_package_data=True,
# consider
install_requires=[
"click<=8.1.3",
"py4j<=0.10.9.7",
"loguru<=0.6.0",
"pandas",
"redis<=4.4.0",
"requests<=2.28.1",
"tqdm<=4.64.1",
"pyapacheatlas<=0.14.0",
"pyhocon<=0.3.59",
"pandavro<=1.7.1",
"pyyaml<=6.0",
"Jinja2<=3.1.2",
"pyarrow<=9.0.0",
"pyspark>=3.1.2", # TODO upgrade the version once pyspark publishes new release to resolve `AttributeError: module 'numpy' has no attribute 'bool'`
"python-snappy<=0.6.1",
"deltalake>=0.6.2",
"graphlib_backport<=1.0.3",
"protobuf<=3.19.4,>=3.0.0",
"confluent-kafka<=1.9.2",
"databricks-cli<=0.17.3",
"avro<=1.11.1",
"azure-storage-file-datalake<=12.5.0",
"azure-synapse-spark",
# Synapse's aiohttp package is old and does not work with Feathr. We pin to a newer version here.
"aiohttp==3.8.3",
# fixing Azure Machine Learning authentication issue per https://stackoverflow.com/a/72262694/3193073
"azure-identity>=1.8.0",
"azure-keyvault-secrets<=4.6.0",
# In 1.23.0, azure-core is using ParamSpec which might cause issues in some of the databricks runtime.
# see this for more details:
# https://github.com/Azure/azure-sdk-for-python/pull/22891
# using a version lower than that to workaround this issue.
"azure-core<=1.22.1",
# azure-core 1.22.1 is dependent on msrest==0.6.21, if an environment(AML) has a different version of azure-core (say 1.24.0),
# it brings a different version of msrest(0.7.0) which is incompatible with azure-core==1.22.1. Hence we need to pin it.
# See this for more details: https://github.com/Azure/azure-sdk-for-python/issues/24765
"msrest<=0.6.21",
"typing_extensions>=4.2.0",
"ipython", # for chat in notebook
"revChatGPT",
],
tests_require=[ # TODO: This has been depricated
"pytest",
],
extras_require=extras_require,
entry_points={"console_scripts": ["feathr=feathrcli.cli:cli"]},
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
],
python_requires=">=3.7",
)