Skip to content

Commit cecca83

Browse files
EXPEbdodlaBhargav Dodla
and
Bhargav Dodla
authored
fix: Adding protobuf<5 as a required dependency due to snowflake limitations (feast-dev#4537)
* fix: Removed protobuf as a required dependency Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com> * fix: Removed install-protoc-dependencies target Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com> * fix: Ran lock python dependencies to correct dependencies Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com> * fix: Adding protobuf<5 as a required dependency due to snowflake limitations Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com> --------- Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com> Co-authored-by: Bhargav Dodla <bdodla@expediagroup.com>
1 parent 50b8f23 commit cecca83

9 files changed

+163
-153
lines changed

.github/workflows/build_wheels.yml

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ jobs:
9797
# There's a `git restore` in here because `make install-go-ci-dependencies` is actually messing up go.mod & go.sum.
9898
run: |
9999
pip install -U pip setuptools wheel twine
100+
make install-protoc-dependencies
100101
make build-ui
101102
git status
102103
git restore go.mod go.sum

Makefile

+12-7
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,16 @@ install-python-ci-dependencies-uv-venv:
5252
uv pip install --no-deps -e .
5353
python setup.py build_python_protos --inplace
5454

55+
install-protoc-dependencies:
56+
pip install "protobuf<5" "grpcio-tools>=1.56.2,<2" "mypy-protobuf>=3.1"
57+
5558
lock-python-ci-dependencies:
5659
uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py$(PYTHON_VERSION)-ci-requirements.txt
5760

5861
package-protos:
5962
cp -r ${ROOT_DIR}/protos ${ROOT_DIR}/sdk/python/feast/protos
6063

61-
compile-protos-python:
64+
compile-protos-python: install-protoc-dependencies
6265
python setup.py build_python_protos --inplace
6366

6467
install-python:
@@ -69,12 +72,14 @@ lock-python-dependencies:
6972
uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py$(PYTHON_VERSION)-requirements.txt
7073

7174
lock-python-dependencies-all:
72-
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.9-requirements.txt"
73-
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.9-ci-requirements.txt"
74-
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.10-requirements.txt"
75-
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.10-ci-requirements.txt"
76-
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.11-requirements.txt"
77-
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.11-ci-requirements.txt"
75+
# Remove all existing requirements because we noticed the lock file is not always updated correctly. Removing and running the command again ensures that the lock file is always up to date.
76+
rm -r sdk/python/requirements/*
77+
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.9 --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.9-requirements.txt"
78+
pixi run --environment py39 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.9 --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.9-ci-requirements.txt"
79+
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.10 --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.10-requirements.txt"
80+
pixi run --environment py310 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.10 --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.10-ci-requirements.txt"
81+
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.11 --system --no-strip-extras setup.py --output-file sdk/python/requirements/py3.11-requirements.txt"
82+
pixi run --environment py311 --manifest-path infra/scripts/pixi/pixi.toml "uv pip compile -p 3.11 --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.11-ci-requirements.txt"
7883

7984
benchmark-python:
8085
IS_TEST=True python -m pytest --integration --benchmark --benchmark-autosave --benchmark-save-data sdk/python/tests

sdk/python/requirements/py3.10-ci-requirements.txt

+38-34
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.10-ci-requirements.txt
2+
# uv pip compile -p 3.10 --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.10-ci-requirements.txt
33
aiobotocore==2.15.0
44
# via feast (setup.py)
55
aiohappyeyeballs==2.4.0
@@ -16,7 +16,7 @@ altair==4.2.2
1616
# via great-expectations
1717
annotated-types==0.7.0
1818
# via pydantic
19-
anyio==4.4.0
19+
anyio==4.5.0
2020
# via
2121
# httpx
2222
# jupyter-server
@@ -51,13 +51,13 @@ attrs==24.2.0
5151
# aiohttp
5252
# jsonschema
5353
# referencing
54-
azure-core==1.30.2
54+
azure-core==1.31.0
5555
# via
5656
# azure-identity
5757
# azure-storage-blob
5858
azure-identity==1.17.1
5959
# via feast (setup.py)
60-
azure-storage-blob==12.22.0
60+
azure-storage-blob==12.23.0
6161
# via feast (setup.py)
6262
babel==2.16.0
6363
# via
@@ -144,11 +144,11 @@ cryptography==42.0.8
144144
# types-redis
145145
cython==3.0.11
146146
# via thriftpy2
147-
dask[dataframe]==2024.8.2
147+
dask[dataframe]==2024.9.0
148148
# via
149149
# feast (setup.py)
150150
# dask-expr
151-
dask-expr==1.1.13
151+
dask-expr==1.1.14
152152
# via dask
153153
db-dtypes==1.3.0
154154
# via google-cloud-bigquery
@@ -158,7 +158,7 @@ decorator==5.1.1
158158
# via ipython
159159
defusedxml==0.7.1
160160
# via nbconvert
161-
deltalake==0.19.2
161+
deltalake==0.20.0
162162
# via feast (setup.py)
163163
deprecation==2.1.0
164164
# via python-keycloak
@@ -187,11 +187,11 @@ execnet==2.1.1
187187
# via pytest-xdist
188188
executing==2.1.0
189189
# via stack-data
190-
fastapi==0.114.1
190+
fastapi==0.115.0
191191
# via feast (setup.py)
192192
fastjsonschema==2.20.0
193193
# via nbformat
194-
filelock==3.16.0
194+
filelock==3.16.1
195195
# via
196196
# snowflake-connector-python
197197
# virtualenv
@@ -256,7 +256,7 @@ googleapis-common-protos[grpc]==1.65.0
256256
# google-api-core
257257
# grpc-google-iam-v1
258258
# grpcio-status
259-
great-expectations==0.18.20
259+
great-expectations==0.18.21
260260
# via feast (setup.py)
261261
grpc-google-iam-v1==0.13.1
262262
# via google-cloud-bigtable
@@ -302,15 +302,15 @@ httpx==0.27.2
302302
# feast (setup.py)
303303
# jupyterlab
304304
# python-keycloak
305-
ibis-framework[duckdb]==9.4.0
305+
ibis-framework[duckdb]==9.5.0
306306
# via
307307
# feast (setup.py)
308308
# ibis-substrait
309309
ibis-substrait==4.0.1
310310
# via feast (setup.py)
311-
identify==2.6.0
311+
identify==2.6.1
312312
# via pre-commit
313-
idna==3.8
313+
idna==3.10
314314
# via
315315
# anyio
316316
# httpx
@@ -321,7 +321,9 @@ idna==3.8
321321
imagesize==1.4.1
322322
# via sphinx
323323
importlib-metadata==8.5.0
324-
# via dask
324+
# via
325+
# build
326+
# dask
325327
iniconfig==2.0.0
326328
# via pytest
327329
ipykernel==6.29.5
@@ -372,7 +374,7 @@ jsonschema[format-nongpl]==4.23.0
372374
# nbformat
373375
jsonschema-specifications==2023.12.1
374376
# via jsonschema
375-
jupyter-client==8.6.2
377+
jupyter-client==8.6.3
376378
# via
377379
# ipykernel
378380
# jupyter-server
@@ -438,7 +440,7 @@ mistune==3.0.2
438440
# via
439441
# great-expectations
440442
# nbconvert
441-
mmh3==4.1.0
443+
mmh3==5.0.0
442444
# via feast (setup.py)
443445
mock==2.0.0
444446
# via feast (setup.py)
@@ -506,6 +508,7 @@ packaging==24.1
506508
# google-cloud-bigquery
507509
# great-expectations
508510
# gunicorn
511+
# ibis-framework
509512
# ibis-substrait
510513
# ipykernel
511514
# jupyter-server
@@ -570,8 +573,9 @@ proto-plus==1.24.0
570573
# google-cloud-bigquery-storage
571574
# google-cloud-bigtable
572575
# google-cloud-datastore
573-
protobuf==4.25.4
576+
protobuf==4.25.5
574577
# via
578+
# feast (setup.py)
575579
# google-api-core
576580
# google-cloud-bigquery-storage
577581
# google-cloud-bigtable
@@ -590,11 +594,11 @@ psutil==5.9.0
590594
# via
591595
# feast (setup.py)
592596
# ipykernel
593-
psycopg[binary, pool]==3.2.1
597+
psycopg[binary, pool]==3.2.2
594598
# via feast (setup.py)
595-
psycopg-binary==3.2.1
599+
psycopg-binary==3.2.2
596600
# via psycopg
597-
psycopg-pool==3.2.2
601+
psycopg-pool==3.2.3
598602
# via psycopg
599603
ptyprocess==0.7.0
600604
# via
@@ -629,12 +633,12 @@ pybindgen==0.22.1
629633
# via feast (setup.py)
630634
pycparser==2.22
631635
# via cffi
632-
pydantic==2.9.1
636+
pydantic==2.9.2
633637
# via
634638
# feast (setup.py)
635639
# fastapi
636640
# great-expectations
637-
pydantic-core==2.23.3
641+
pydantic-core==2.23.4
638642
# via pydantic
639643
pygments==2.18.0
640644
# via
@@ -739,7 +743,7 @@ referencing==0.35.1
739743
# jsonschema
740744
# jsonschema-specifications
741745
# jupyter-events
742-
regex==2024.7.24
746+
regex==2024.9.11
743747
# via
744748
# feast (setup.py)
745749
# parsimonious
@@ -790,15 +794,15 @@ ruamel-yaml==0.17.40
790794
# via great-expectations
791795
ruamel-yaml-clib==0.2.8
792796
# via ruamel-yaml
793-
ruff==0.6.4
797+
ruff==0.6.5
794798
# via feast (setup.py)
795799
s3transfer==0.10.2
796800
# via boto3
797801
scipy==1.14.1
798802
# via great-expectations
799803
send2trash==1.8.3
800804
# via jupyter-server
801-
setuptools==74.1.2
805+
setuptools==75.1.0
802806
# via
803807
# grpcio-tools
804808
# jupyterlab
@@ -826,7 +830,7 @@ sniffio==1.3.1
826830
# httpx
827831
snowballstemmer==2.2.0
828832
# via sphinx
829-
snowflake-connector-python[pandas]==3.12.1
833+
snowflake-connector-python[pandas]==3.12.2
830834
# via feast (setup.py)
831835
sortedcontainers==2.4.0
832836
# via snowflake-connector-python
@@ -846,9 +850,9 @@ sphinxcontrib-qthelp==2.0.0
846850
# via sphinx
847851
sphinxcontrib-serializinghtml==2.0.0
848852
# via sphinx
849-
sqlalchemy[mypy]==2.0.34
853+
sqlalchemy[mypy]==2.0.35
850854
# via feast (setup.py)
851-
sqlglot==25.18.0
855+
sqlglot==25.20.1
852856
# via ibis-framework
853857
sqlite-vec==0.1.1
854858
# via feast (setup.py)
@@ -858,7 +862,7 @@ stack-data==0.6.3
858862
# via ipython
859863
starlette==0.38.5
860864
# via fastapi
861-
substrait==0.22.0
865+
substrait==0.23.0
862866
# via ibis-substrait
863867
tabulate==0.9.0
864868
# via feast (setup.py)
@@ -939,15 +943,15 @@ types-python-dateutil==2.9.0.20240906
939943
# via
940944
# feast (setup.py)
941945
# arrow
942-
types-pytz==2024.1.0.20240417
946+
types-pytz==2024.2.0.20240913
943947
# via feast (setup.py)
944-
types-pyyaml==6.0.12.20240808
948+
types-pyyaml==6.0.12.20240917
945949
# via feast (setup.py)
946950
types-redis==4.6.0.20240903
947951
# via feast (setup.py)
948952
types-requests==2.30.0.0
949953
# via feast (setup.py)
950-
types-setuptools==74.1.0.20240907
954+
types-setuptools==75.1.0.20240917
951955
# via
952956
# feast (setup.py)
953957
# types-cffi
@@ -986,7 +990,7 @@ tzlocal==5.2
986990
# trino
987991
uri-template==1.3.0
988992
# via jsonschema
989-
urllib3==2.2.2
993+
urllib3==2.2.3
990994
# via
991995
# feast (setup.py)
992996
# botocore
@@ -1038,5 +1042,5 @@ xmltodict==0.13.0
10381042
# via moto
10391043
yarl==1.11.1
10401044
# via aiohttp
1041-
zipp==3.20.1
1045+
zipp==3.20.2
10421046
# via importlib-metadata

0 commit comments

Comments
 (0)