1
+ [project ]
2
+ name = " feast"
3
+ description = " Python SDK for Feast"
4
+ readme = " README.md"
5
+ requires-python = " >=3.9.0"
6
+ license = {file = " LICENSE" }
7
+ classifiers = [
8
+ " License :: OSI Approved :: Apache Software License" ,
9
+ " Programming Language :: Python" ,
10
+ " Programming Language :: Python :: 3" ,
11
+ " Programming Language :: Python :: 3.9"
12
+ ]
13
+ dynamic = [
14
+ " version" ,
15
+ ]
16
+ dependencies = [
17
+ " click>=7.0.0,<9.0.0" ,
18
+ " colorama>=0.3.9,<1" ,
19
+ " dill~=0.3.0" ,
20
+ " protobuf>=4.24.0" ,
21
+ " Jinja2>=2,<4" ,
22
+ " jsonschema" ,
23
+ " mmh3" ,
24
+ " numpy>=1.22,<2" ,
25
+ " pandas>=1.4.3,<3" ,
26
+ " pyarrow<18.1.0" ,
27
+ " pydantic>=2.0.0" ,
28
+ " pygments>=2.12.0,<3" ,
29
+ " PyYAML>=5.4.0,<7" ,
30
+ " requests" ,
31
+ " SQLAlchemy[mypy]>1" ,
32
+ " tabulate>=0.8.0,<1" ,
33
+ " tenacity>=7,<9" ,
34
+ " toml>=0.10.0,<1" ,
35
+ " tqdm>=4,<5" ,
36
+ " typeguard>=4.0.0" ,
37
+ " fastapi>=0.68.0" ,
38
+ " uvicorn[standard]>=0.14.0,<1" ,
39
+ " uvicorn-worker" ,
40
+ " gunicorn; platform_system != 'Windows'" ,
41
+ " dask[dataframe]>=2024.2.1" ,
42
+ " prometheus_client" ,
43
+ " psutil" ,
44
+ " bigtree>=0.19.2" ,
45
+ " pyjwt" ,
46
+ ]
47
+
48
+ [project .optional-dependencies ]
49
+ aws = [" boto3>=1.17.0,<2" , " fsspec<=2024.9.0" , " aiobotocore>2,<3" ]
50
+ azure = [
51
+ " azure-storage-blob>=0.37.0" ,
52
+ " azure-identity>=1.6.1" ,
53
+ " SQLAlchemy>=1.4.19" ,
54
+ " pyodbc>=4.0.30" ,
55
+ " pymssql"
56
+ ]
57
+ cassandra = [" cassandra-driver>=3.24.0,<4" ]
58
+ couchbase = [" couchbase==4.3.2" ]
59
+ delta = [" deltalake" ]
60
+ duckdb = [" ibis-framework[duckdb]>=9.0.0,<10" ]
61
+ elasticsearch = [" elasticsearch>=8.13.0" ]
62
+ faiss = [" faiss-cpu>=1.7.0,<2" ]
63
+ gcp = [
64
+ " google-api-core>=1.23.0,<3" ,
65
+ " googleapis-common-protos>=1.52.0,<2" ,
66
+ " google-cloud-bigquery[pandas]>=2,<4" ,
67
+ " google-cloud-bigquery-storage >= 2.0.0,<3" ,
68
+ " google-cloud-datastore>=2.16.0,<3" ,
69
+ " google-cloud-storage>=1.34.0,<3" ,
70
+ " google-cloud-bigtable>=2.11.0,<3" ,
71
+ " fsspec<=2024.9.0" ,
72
+ ]
73
+ ge = [" great_expectations>=0.15.41" ]
74
+ go = [" cffi~=1.15.0" ]
75
+ grpcio = [
76
+ " grpcio>=1.56.2,<2" ,
77
+ " grpcio-reflection>=1.56.2,<2" ,
78
+ " grpcio-health-checking>=1.56.2,<2" ,
79
+ ]
80
+ hazelcast = [" hazelcast-python-client>=5.1" ]
81
+ hbase = [" happybase>=1.2.0,<3" ]
82
+ ibis = [
83
+ " ibis-framework>=9.0.0,<10" ,
84
+ " ibis-substrait>=4.0.0" ,
85
+ ]
86
+ ikv = [
87
+ " ikvpy>=0.0.36" ,
88
+ ]
89
+ k8s = [" kubernetes<=20.13.0" ]
90
+ milvus = [" pymilvus" ]
91
+ mssql = [" ibis-framework[mssql]>=9.0.0,<10" ]
92
+ mysql = [" pymysql" , " types-PyMySQL" ]
93
+ opentelemetry = [" prometheus_client" , " psutil" ]
94
+ spark = [" pyspark>=3.0.0,<4" ]
95
+ trino = [" trino>=0.305.0,<0.400.0" , " regex" ]
96
+ postgres = [" psycopg[binary,pool]>=3.0.0,<4" ]
97
+ qdrant = [" qdrant-client>=1.12.0" ]
98
+ redis = [
99
+ " redis>=4.2.2,<5" ,
100
+ " hiredis>=2.0.0,<3" ,
101
+ ]
102
+ singlestore = [" singlestoredb<1.8.0" ]
103
+ snowflake = [
104
+ " snowflake-connector-python[pandas]>=3.7,<4" ,
105
+ ]
106
+ sqlite_vec = [" sqlite-vec==v0.1.6" ]
107
+
108
+ ci = [
109
+ " build" ,
110
+ " virtualenv==20.23.0" ,
111
+ " cryptography>=43.0,<44" ,
112
+ " ruff>=0.8.0" ,
113
+ " mypy-protobuf>=3.1" ,
114
+ " grpcio-tools>=1.56.2,<2" ,
115
+ " grpcio-testing>=1.56.2,<2" ,
116
+ # FastAPI does not correctly pull starlette dependency on httpx see thread(https://github.com/tiangolo/fastapi/issues/5656).
117
+ " httpx==0.27.2" ,
118
+ " minio==7.2.11" ,
119
+ " mock==2.0.0" ,
120
+ " moto<5" ,
121
+ " mypy>=1.4.1,<1.11.3" ,
122
+ " urllib3>=1.25.4,<3" ,
123
+ " psutil==5.9.0" ,
124
+ " py>=1.11.0" , # https://github.com/pytest-dev/pytest/issues/10420
125
+ " pytest>=6.0.0,<8" ,
126
+ " pytest-asyncio<=0.24.0" ,
127
+ " pytest-cov" ,
128
+ " pytest-xdist" ,
129
+ " pytest-benchmark>=3.4.1,<4" ,
130
+ " pytest-lazy-fixture==0.6.3" ,
131
+ " pytest-timeout==1.4.2" ,
132
+ " pytest-ordering~=0.6.0" ,
133
+ " pytest-mock==1.10.4" ,
134
+ " pytest-env" ,
135
+ " Sphinx>4.0.0,<7" ,
136
+ " testcontainers==4.8.2" ,
137
+ " python-keycloak==4.2.2" ,
138
+ " pre-commit<3.3.2" ,
139
+ " assertpy==1.1" ,
140
+ " pip-tools" ,
141
+ " pybindgen" ,
142
+ " types-protobuf~=3.19.22" ,
143
+ " types-python-dateutil" ,
144
+ " types-pytz" ,
145
+ " types-PyYAML" ,
146
+ " types-redis" ,
147
+ " types-requests<2.31.0" ,
148
+ " types-setuptools" ,
149
+ " types-tabulate" ,
150
+ " virtualenv<20.24.2" ,
151
+ " feast[aws, azure, cassandra, couchbase, delta, duckdb, elasticsearch, faiss, gcp, ge, go, grpcio, hazelcast, hbase, ibis, ikv, k8s, milvus, mssql, mysql, opentelemetry, spark, trino, postgres, qdrant, redis, singlestore, snowflake, sqlite_vec]"
152
+ ]
153
+ dev = [" feast[ci]" ]
154
+ docs = [" feast[ci]" ]
155
+
156
+ [project .urls ]
157
+ Homepage = " https://github.com/feast-dev/feast"
158
+
159
+ [[project .authors ]]
160
+ name = " Feast"
161
+
162
+ [project .scripts ]
163
+ feast = " feast.cli:cli"
164
+
1
165
[build-system ]
2
166
requires = [
3
167
" pybindgen==0.22.0" ,
@@ -7,8 +171,15 @@ requires = [
7
171
" wheel" ,
8
172
]
9
173
174
+ [tool .setuptools ]
175
+ packages = {find = {where = [" sdk/python" ], exclude = [" java" , " infra" , " sdk/python/tests" , " ui" ]}}
176
+
10
177
[tool .setuptools_scm ]
11
- # Including this section is comparable to supplying use_scm_version=True in setup.py.
178
+ # Add Support for parsing tags that have a prefix containing '/' (ie 'sdk/go') to setuptools_scm.
179
+ # Regex modified from default tag regex in:
180
+ # https://github.com/pypa/setuptools_scm/blob/2a1b46d38fb2b8aeac09853e660bcd0d7c1bc7be/src/setuptools_scm/config.py#L9
181
+ tag_regex = " ^(?:[\\ /\\ w-]+)?(?P<version>[vV]?\\ d+(?:\\ .\\ d+){0,2}[^\\ +]*)(?:\\ +.*)?$"
182
+
12
183
13
184
[tool .ruff ]
14
185
line-length = 88
0 commit comments