diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index b578501b59..ea93cc85a4 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -186,7 +186,7 @@ jobs: env: COMPILE_GO: "True" run: | - pip install 'grpcio-tools==1.44.0' 'pybindgen==0.22.0' + pip install 'grpcio-tools==1.47.0' 'pybindgen==0.22.0' go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26.0 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0 pip install dist/*tar.gz @@ -209,6 +209,7 @@ jobs: echo "Correct Feast Version Installed" else echo "$VERSION_OUTPUT from installed wheel is not in the correct format or doesn't have the right version $VERSION." + exit 1 fi - name: Smoke test run: | @@ -218,7 +219,6 @@ jobs: echo "$TEST_SCRIPT" > run-and-wait.sh bash run-and-wait.sh feast serve bash run-and-wait.sh feast ui - # We disable this test for the Python 3.10 binary since it does not include Go. - name: Smoke test with go if: matrix.python-version != '3.10' || matrix.os == 'ubuntu-latest' diff --git a/Makefile b/Makefile index 88f04aa95d..176e2cb354 100644 --- a/Makefile +++ b/Makefile @@ -180,7 +180,7 @@ install-go-ci-dependencies: python -m pip install pybindgen==0.22.0 install-protoc-dependencies: - pip install grpcio-tools==1.44.0 mypy-protobuf==3.1.0 + pip install grpcio-tools==1.47.0 mypy-protobuf==3.1.0 compile-protos-go: install-go-proto-dependencies install-protoc-dependencies python setup.py build_go_protos diff --git a/go.mod b/go.mod index fbbc95e1bf..90ddb93e21 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/pkg/errors v0.9.1 github.com/spaolacci/murmur3 v1.1.0 github.com/stretchr/testify v1.7.0 - google.golang.org/grpc v1.45.0 + google.golang.org/grpc v1.47.0 google.golang.org/protobuf v1.28.0 ) diff --git a/go.sum b/go.sum index 698d1ef640..933ecf6b29 100644 --- a/go.sum +++ b/go.sum @@ -55,6 +55,7 @@ github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XP github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= @@ -83,6 +84,7 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/feast-dev/gopy v0.4.1-0.20220429180328-4257ac71a4d0 h1:Go714ObVP1O+a6qK7haXVL28QNm6WMD8bwnN9EA8PlM= @@ -588,8 +590,9 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.47.0 h1:9n77onPX5F3qfFCqjy9dhn8PbNQsIKeVU04J9G7umt8= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/pyproject.toml b/pyproject.toml index 64394a558a..8ba7254440 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=60", "wheel", "setuptools_scm>=6.2", "grpcio", "grpcio-tools==1.44.0", "mypy-protobuf==3.1", "sphinx!=4.0.0"] +requires = ["setuptools>=60", "wheel", "setuptools_scm>=6.2", "grpcio", "grpcio-tools==1.47.0", "mypy-protobuf==3.1", "sphinx!=4.0.0"] build-backend = "setuptools.build_meta" [tool.setuptools_scm] diff --git a/sdk/python/feast/proto_json.py b/sdk/python/feast/proto_json.py index 44e004cb03..58b77edf8b 100644 --- a/sdk/python/feast/proto_json.py +++ b/sdk/python/feast/proto_json.py @@ -70,7 +70,7 @@ def to_json_object(printer: _Printer, message: ProtoMessage) -> JsonObject: return value def from_json_object( - parser: _Parser, value: JsonObject, message: ProtoMessage, + parser: _Parser, value: JsonObject, message: ProtoMessage, path: str ) -> None: if value is None: message.null_val = 0 @@ -142,11 +142,11 @@ def to_json_object(printer: _Printer, message: ProtoMessage) -> JsonObject: return [printer._MessageToJsonObject(item) for item in message.val] def from_json_object( - parser: _Parser, value: JsonObject, message: ProtoMessage, + parser: _Parser, value: JsonObject, message: ProtoMessage, path: str ) -> None: array = value if isinstance(value, list) else value["val"] for item in array: - parser.ConvertMessage(item, message.val.add()) + parser.ConvertMessage(item, message.val.add(), path) _patch_proto_json_encoding(RepeatedValue, to_json_object, from_json_object) @@ -183,7 +183,7 @@ def to_json_object(printer: _Printer, message: ProtoMessage) -> JsonObject: return list(message.val) def from_json_object( - parser: _Parser, value: JsonObject, message: ProtoMessage, + parser: _Parser, value: JsonObject, message: ProtoMessage, path: str ) -> None: array = value if isinstance(value, list) else value["val"] message.val.extend(array) diff --git a/sdk/python/requirements/py3.10-ci-requirements.txt b/sdk/python/requirements/py3.10-ci-requirements.txt index bcd1095d07..e0b05ecaa0 100644 --- a/sdk/python/requirements/py3.10-ci-requirements.txt +++ b/sdk/python/requirements/py3.10-ci-requirements.txt @@ -90,7 +90,9 @@ botocore==1.23.24 bowler==0.9.0 # via feast (setup.py) build==0.8.0 - # via feast (setup.py) + # via + # feast (setup.py) + # pip-tools cachecontrol==0.12.11 # via firebase-admin cachetools==4.2.4 @@ -173,7 +175,7 @@ executing==0.8.3 # via stack-data fastapi==0.78.0 # via feast (setup.py) -fastavro==1.5.1 +fastavro==1.5.2 # via # feast (setup.py) # pandavro @@ -209,7 +211,7 @@ google-api-core[grpc]==1.31.6 # google-cloud-core # google-cloud-datastore # google-cloud-firestore -google-api-python-client==2.51.0 +google-api-python-client==2.52.0 # via firebase-admin google-auth==1.35.0 # via @@ -257,8 +259,6 @@ googleapis-common-protos==1.56.3 # tensorflow-metadata great-expectations==0.14.13 # via feast (setup.py) -greenlet==1.1.2 - # via sqlalchemy grpcio==1.47.0 # via # feast (setup.py) @@ -269,9 +269,9 @@ grpcio==1.47.0 # grpcio-tools grpcio-reflection==1.47.0 # via feast (setup.py) -grpcio-testing==1.44.0 +grpcio-testing==1.47.0 # via feast (setup.py) -grpcio-tools==1.44.0 +grpcio-tools==1.47.0 # via feast (setup.py) h11==0.13.0 # via uvicorn @@ -295,7 +295,7 @@ idna==3.3 # yarl imagesize==1.3.0 # via sphinx -importlib-metadata==4.11.4 +importlib-metadata==4.12.0 # via great-expectations iniconfig==1.1.1 # via pytest @@ -322,7 +322,7 @@ jsonpatch==1.32 # via great-expectations jsonpointer==2.3 # via jsonpatch -jsonschema==4.6.0 +jsonschema==4.6.1 # via # altair # feast (setup.py) @@ -342,7 +342,7 @@ mccabe==0.6.1 # via flake8 minio==7.1.0 # via feast (setup.py) -mistune==2.0.2 +mistune==2.0.3 # via great-expectations mmh3==3.0.0 # via feast (setup.py) @@ -350,7 +350,7 @@ mock==2.0.0 # via feast (setup.py) moreorless==0.4.0 # via bowler -moto==3.1.14 +moto==3.1.16 # via feast (setup.py) msal==1.18.0 # via @@ -382,7 +382,7 @@ mysqlclient==2.1.1 # via feast (setup.py) nbformat==5.4.0 # via great-expectations -nodeenv==1.6.0 +nodeenv==1.7.0 # via pre-commit numpy==1.22.0 # via @@ -426,14 +426,12 @@ pathspec==0.9.0 pbr==5.9.0 # via mock pep517==0.12.0 - # via - # build - # pip-tools + # via build pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pip-tools==6.6.2 +pip-tools==6.7.0 # via feast (setup.py) platformdirs==2.5.2 # via virtualenv @@ -445,7 +443,7 @@ portalocker==2.4.0 # via msal-extensions pre-commit==2.19.0 # via feast (setup.py) -prompt-toolkit==3.0.29 +prompt-toolkit==3.0.30 # via ipython proto-plus==1.20.6 # via @@ -454,7 +452,7 @@ proto-plus==1.20.6 # google-cloud-bigquery-storage # google-cloud-datastore # google-cloud-firestore -protobuf==3.19.4 +protobuf==3.20.1 # via # feast (setup.py) # google-api-core @@ -588,7 +586,7 @@ redis==4.2.2 # via feast (setup.py) regex==2022.6.2 # via black -requests==2.28.0 +requests==2.28.1 # via # adal # adlfs @@ -665,7 +663,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy[mypy]==1.4.38 +sqlalchemy[mypy]==1.4.39 # via feast (setup.py) sqlalchemy2-stubs==0.0.2a24 # via sqlalchemy @@ -724,17 +722,17 @@ types-protobuf==3.19.22 # mypy-protobuf types-python-dateutil==2.8.18 # via feast (setup.py) -types-pytz==2022.1.0 +types-pytz==2022.1.1 # via feast (setup.py) -types-pyyaml==6.0.8 +types-pyyaml==6.0.9 # via feast (setup.py) -types-redis==4.3.2 +types-redis==4.3.3 # via feast (setup.py) -types-requests==2.27.31 +types-requests==2.28.0 # via feast (setup.py) -types-setuptools==57.4.17 +types-setuptools==57.4.18 # via feast (setup.py) -types-tabulate==0.8.10 +types-tabulate==0.8.11 # via feast (setup.py) types-urllib3==1.26.15 # via types-requests @@ -759,11 +757,11 @@ urllib3==1.26.9 # minio # requests # responses -uvicorn[standard]==0.18.1 +uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn -virtualenv==20.14.1 +virtualenv==20.15.1 # via pre-commit volatile==2.1.0 # via bowler diff --git a/sdk/python/requirements/py3.10-requirements.txt b/sdk/python/requirements/py3.10-requirements.txt index dc60ea1e70..d4a4425aec 100644 --- a/sdk/python/requirements/py3.10-requirements.txt +++ b/sdk/python/requirements/py3.10-requirements.txt @@ -22,7 +22,7 @@ cachetools==5.2.0 # via google-auth certifi==2022.6.15 # via requests -charset-normalizer==2.0.12 +charset-normalizer==2.1.0 # via requests click==8.0.1 # via @@ -40,7 +40,7 @@ dill==0.3.5.1 # via feast (setup.py) fastapi==0.78.0 # via feast (setup.py) -fastavro==1.5.1 +fastavro==1.5.2 # via # feast (setup.py) # pandavro @@ -50,15 +50,13 @@ fsspec==2022.5.0 # via dask google-api-core==2.8.2 # via feast (setup.py) -google-auth==2.8.0 +google-auth==2.9.0 # via google-api-core googleapis-common-protos==1.56.3 # via # feast (setup.py) # google-api-core # tensorflow-metadata -greenlet==1.1.2 - # via sqlalchemy grpcio==1.47.0 # via # feast (setup.py) @@ -75,7 +73,7 @@ idna==3.3 # requests jinja2==3.1.2 # via feast (setup.py) -jsonschema==4.6.0 +jsonschema==4.6.1 # via feast (setup.py) locket==1.0.0 # via partd @@ -107,7 +105,7 @@ partd==1.2.0 # via dask proto-plus==1.20.6 # via feast (setup.py) -protobuf==3.19.4 +protobuf==3.20.1 # via # feast (setup.py) # google-api-core @@ -144,7 +142,7 @@ pyyaml==6.0 # dask # feast (setup.py) # uvicorn -requests==2.28.0 +requests==2.28.1 # via google-api-core rsa==4.8 # via google-auth @@ -156,7 +154,7 @@ six==1.16.0 # python-dateutil sniffio==1.2.0 # via anyio -sqlalchemy[mypy]==1.4.38 +sqlalchemy[mypy]==1.4.39 # via feast (setup.py) sqlalchemy2-stubs==0.0.2a24 # via sqlalchemy @@ -187,7 +185,7 @@ typing-extensions==4.2.0 # sqlalchemy2-stubs urllib3==1.26.9 # via requests -uvicorn[standard]==0.18.1 +uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn diff --git a/sdk/python/requirements/py3.8-ci-requirements.txt b/sdk/python/requirements/py3.8-ci-requirements.txt index 2be1e80464..813420a121 100644 --- a/sdk/python/requirements/py3.8-ci-requirements.txt +++ b/sdk/python/requirements/py3.8-ci-requirements.txt @@ -94,7 +94,9 @@ botocore==1.23.24 bowler==0.9.0 # via feast (setup.py) build==0.8.0 - # via feast (setup.py) + # via + # feast (setup.py) + # pip-tools cachecontrol==0.12.11 # via firebase-admin cachetools==4.2.4 @@ -177,7 +179,7 @@ executing==0.8.3 # via stack-data fastapi==0.78.0 # via feast (setup.py) -fastavro==1.5.1 +fastavro==1.5.2 # via # feast (setup.py) # pandavro @@ -213,7 +215,7 @@ google-api-core[grpc]==1.31.6 # google-cloud-core # google-cloud-datastore # google-cloud-firestore -google-api-python-client==2.51.0 +google-api-python-client==2.52.0 # via firebase-admin google-auth==1.35.0 # via @@ -261,8 +263,6 @@ googleapis-common-protos==1.56.3 # tensorflow-metadata great-expectations==0.14.13 # via feast (setup.py) -greenlet==1.1.2 - # via sqlalchemy grpcio==1.47.0 # via # feast (setup.py) @@ -273,9 +273,9 @@ grpcio==1.47.0 # grpcio-tools grpcio-reflection==1.47.0 # via feast (setup.py) -grpcio-testing==1.44.0 +grpcio-testing==1.47.0 # via feast (setup.py) -grpcio-tools==1.44.0 +grpcio-tools==1.47.0 # via feast (setup.py) h11==0.13.0 # via uvicorn @@ -299,7 +299,7 @@ idna==3.3 # yarl imagesize==1.3.0 # via sphinx -importlib-metadata==4.11.4 +importlib-metadata==4.12.0 # via great-expectations importlib-resources==5.8.0 # via jsonschema @@ -328,7 +328,7 @@ jsonpatch==1.32 # via great-expectations jsonpointer==2.3 # via jsonpatch -jsonschema==4.6.0 +jsonschema==4.6.1 # via # altair # feast (setup.py) @@ -348,7 +348,7 @@ mccabe==0.6.1 # via flake8 minio==7.1.0 # via feast (setup.py) -mistune==2.0.2 +mistune==2.0.3 # via great-expectations mmh3==3.0.0 # via feast (setup.py) @@ -356,7 +356,7 @@ mock==2.0.0 # via feast (setup.py) moreorless==0.4.0 # via bowler -moto==3.1.14 +moto==3.1.16 # via feast (setup.py) msal==1.18.0 # via @@ -388,9 +388,9 @@ mysqlclient==2.1.1 # via feast (setup.py) nbformat==5.4.0 # via great-expectations -nodeenv==1.6.0 +nodeenv==1.7.0 # via pre-commit -numpy==1.22.0 +numpy==1.23.0 # via # altair # feast (setup.py) @@ -432,14 +432,12 @@ pathspec==0.9.0 pbr==5.9.0 # via mock pep517==0.12.0 - # via - # build - # pip-tools + # via build pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pip-tools==6.6.2 +pip-tools==6.7.0 # via feast (setup.py) platformdirs==2.5.2 # via virtualenv @@ -451,7 +449,7 @@ portalocker==2.4.0 # via msal-extensions pre-commit==2.19.0 # via feast (setup.py) -prompt-toolkit==3.0.29 +prompt-toolkit==3.0.30 # via ipython proto-plus==1.20.6 # via @@ -460,7 +458,7 @@ proto-plus==1.20.6 # google-cloud-bigquery-storage # google-cloud-datastore # google-cloud-firestore -protobuf==3.19.4 +protobuf==3.20.1 # via # feast (setup.py) # google-api-core @@ -594,7 +592,7 @@ redis==4.2.2 # via feast (setup.py) regex==2022.6.2 # via black -requests==2.28.0 +requests==2.28.1 # via # adal # adlfs @@ -673,7 +671,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy[mypy]==1.4.38 +sqlalchemy[mypy]==1.4.39 # via feast (setup.py) sqlalchemy2-stubs==0.0.2a24 # via sqlalchemy @@ -732,17 +730,17 @@ types-protobuf==3.19.22 # mypy-protobuf types-python-dateutil==2.8.18 # via feast (setup.py) -types-pytz==2022.1.0 +types-pytz==2022.1.1 # via feast (setup.py) -types-pyyaml==6.0.8 +types-pyyaml==6.0.9 # via feast (setup.py) -types-redis==4.3.2 +types-redis==4.3.3 # via feast (setup.py) -types-requests==2.27.31 +types-requests==2.28.0 # via feast (setup.py) -types-setuptools==57.4.17 +types-setuptools==57.4.18 # via feast (setup.py) -types-tabulate==0.8.10 +types-tabulate==0.8.11 # via feast (setup.py) types-urllib3==1.26.15 # via types-requests @@ -769,11 +767,11 @@ urllib3==1.26.9 # minio # requests # responses -uvicorn[standard]==0.18.1 +uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn -virtualenv==20.14.1 +virtualenv==20.15.1 # via pre-commit volatile==2.1.0 # via bowler diff --git a/sdk/python/requirements/py3.8-requirements.txt b/sdk/python/requirements/py3.8-requirements.txt index 8ba9f4c35d..56e5e3adba 100644 --- a/sdk/python/requirements/py3.8-requirements.txt +++ b/sdk/python/requirements/py3.8-requirements.txt @@ -22,7 +22,7 @@ cachetools==5.2.0 # via google-auth certifi==2022.6.15 # via requests -charset-normalizer==2.0.12 +charset-normalizer==2.1.0 # via requests click==8.0.1 # via @@ -40,7 +40,7 @@ dill==0.3.5.1 # via feast (setup.py) fastapi==0.78.0 # via feast (setup.py) -fastavro==1.5.1 +fastavro==1.5.2 # via # feast (setup.py) # pandavro @@ -50,15 +50,13 @@ fsspec==2022.5.0 # via dask google-api-core==2.8.2 # via feast (setup.py) -google-auth==2.8.0 +google-auth==2.9.0 # via google-api-core googleapis-common-protos==1.56.3 # via # feast (setup.py) # google-api-core # tensorflow-metadata -greenlet==1.1.2 - # via sqlalchemy grpcio==1.47.0 # via # feast (setup.py) @@ -77,7 +75,7 @@ importlib-resources==5.8.0 # via jsonschema jinja2==3.1.2 # via feast (setup.py) -jsonschema==4.6.0 +jsonschema==4.6.1 # via feast (setup.py) locket==1.0.0 # via partd @@ -91,7 +89,7 @@ mypy==0.961 # via sqlalchemy mypy-extensions==0.4.3 # via mypy -numpy==1.22.0 +numpy==1.23.0 # via # feast (setup.py) # pandas @@ -109,7 +107,7 @@ partd==1.2.0 # via dask proto-plus==1.20.6 # via feast (setup.py) -protobuf==3.19.4 +protobuf==3.20.1 # via # feast (setup.py) # google-api-core @@ -146,7 +144,7 @@ pyyaml==6.0 # dask # feast (setup.py) # uvicorn -requests==2.28.0 +requests==2.28.1 # via google-api-core rsa==4.8 # via google-auth @@ -158,7 +156,7 @@ six==1.16.0 # python-dateutil sniffio==1.2.0 # via anyio -sqlalchemy[mypy]==1.4.38 +sqlalchemy[mypy]==1.4.39 # via feast (setup.py) sqlalchemy2-stubs==0.0.2a24 # via sqlalchemy @@ -190,7 +188,7 @@ typing-extensions==4.2.0 # starlette urllib3==1.26.9 # via requests -uvicorn[standard]==0.18.1 +uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn diff --git a/sdk/python/requirements/py3.9-ci-requirements.txt b/sdk/python/requirements/py3.9-ci-requirements.txt index e0fbb8092d..fe1b8b2e13 100644 --- a/sdk/python/requirements/py3.9-ci-requirements.txt +++ b/sdk/python/requirements/py3.9-ci-requirements.txt @@ -90,7 +90,9 @@ botocore==1.23.24 bowler==0.9.0 # via feast (setup.py) build==0.8.0 - # via feast (setup.py) + # via + # feast (setup.py) + # pip-tools cachecontrol==0.12.11 # via firebase-admin cachetools==4.2.4 @@ -173,7 +175,7 @@ executing==0.8.3 # via stack-data fastapi==0.78.0 # via feast (setup.py) -fastavro==1.5.1 +fastavro==1.5.2 # via # feast (setup.py) # pandavro @@ -209,7 +211,7 @@ google-api-core[grpc]==1.31.6 # google-cloud-core # google-cloud-datastore # google-cloud-firestore -google-api-python-client==2.51.0 +google-api-python-client==2.52.0 # via firebase-admin google-auth==1.35.0 # via @@ -257,8 +259,6 @@ googleapis-common-protos==1.56.3 # tensorflow-metadata great-expectations==0.14.13 # via feast (setup.py) -greenlet==1.1.2 - # via sqlalchemy grpcio==1.47.0 # via # feast (setup.py) @@ -269,9 +269,9 @@ grpcio==1.47.0 # grpcio-tools grpcio-reflection==1.47.0 # via feast (setup.py) -grpcio-testing==1.44.0 +grpcio-testing==1.47.0 # via feast (setup.py) -grpcio-tools==1.44.0 +grpcio-tools==1.47.0 # via feast (setup.py) h11==0.13.0 # via uvicorn @@ -295,7 +295,7 @@ idna==3.3 # yarl imagesize==1.3.0 # via sphinx -importlib-metadata==4.11.4 +importlib-metadata==4.12.0 # via great-expectations iniconfig==1.1.1 # via pytest @@ -322,7 +322,7 @@ jsonpatch==1.32 # via great-expectations jsonpointer==2.3 # via jsonpatch -jsonschema==4.6.0 +jsonschema==4.6.1 # via # altair # feast (setup.py) @@ -342,7 +342,7 @@ mccabe==0.6.1 # via flake8 minio==7.1.0 # via feast (setup.py) -mistune==2.0.2 +mistune==2.0.3 # via great-expectations mmh3==3.0.0 # via feast (setup.py) @@ -350,7 +350,7 @@ mock==2.0.0 # via feast (setup.py) moreorless==0.4.0 # via bowler -moto==3.1.14 +moto==3.1.16 # via feast (setup.py) msal==1.18.0 # via @@ -382,7 +382,7 @@ mysqlclient==2.1.1 # via feast (setup.py) nbformat==5.4.0 # via great-expectations -nodeenv==1.6.0 +nodeenv==1.7.0 # via pre-commit numpy==1.22.0 # via @@ -426,14 +426,12 @@ pathspec==0.9.0 pbr==5.9.0 # via mock pep517==0.12.0 - # via - # build - # pip-tools + # via build pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pip-tools==6.6.2 +pip-tools==6.7.0 # via feast (setup.py) platformdirs==2.5.2 # via virtualenv @@ -445,7 +443,7 @@ portalocker==2.4.0 # via msal-extensions pre-commit==2.19.0 # via feast (setup.py) -prompt-toolkit==3.0.29 +prompt-toolkit==3.0.30 # via ipython proto-plus==1.20.6 # via @@ -454,7 +452,7 @@ proto-plus==1.20.6 # google-cloud-bigquery-storage # google-cloud-datastore # google-cloud-firestore -protobuf==3.19.4 +protobuf==3.20.1 # via # feast (setup.py) # google-api-core @@ -588,7 +586,7 @@ redis==4.2.2 # via feast (setup.py) regex==2022.6.2 # via black -requests==2.28.0 +requests==2.28.1 # via # adal # adlfs @@ -667,7 +665,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy[mypy]==1.4.38 +sqlalchemy[mypy]==1.4.39 # via feast (setup.py) sqlalchemy2-stubs==0.0.2a24 # via sqlalchemy @@ -726,17 +724,17 @@ types-protobuf==3.19.22 # mypy-protobuf types-python-dateutil==2.8.18 # via feast (setup.py) -types-pytz==2022.1.0 +types-pytz==2022.1.1 # via feast (setup.py) -types-pyyaml==6.0.8 +types-pyyaml==6.0.9 # via feast (setup.py) -types-redis==4.3.2 +types-redis==4.3.3 # via feast (setup.py) -types-requests==2.27.31 +types-requests==2.28.0 # via feast (setup.py) -types-setuptools==57.4.17 +types-setuptools==57.4.18 # via feast (setup.py) -types-tabulate==0.8.10 +types-tabulate==0.8.11 # via feast (setup.py) types-urllib3==1.26.15 # via types-requests @@ -763,11 +761,11 @@ urllib3==1.26.9 # minio # requests # responses -uvicorn[standard]==0.18.1 +uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn -virtualenv==20.14.1 +virtualenv==20.15.1 # via pre-commit volatile==2.1.0 # via bowler diff --git a/sdk/python/requirements/py3.9-requirements.txt b/sdk/python/requirements/py3.9-requirements.txt index da1a7f4345..76e2815ed5 100644 --- a/sdk/python/requirements/py3.9-requirements.txt +++ b/sdk/python/requirements/py3.9-requirements.txt @@ -22,7 +22,7 @@ cachetools==5.2.0 # via google-auth certifi==2022.6.15 # via requests -charset-normalizer==2.0.12 +charset-normalizer==2.1.0 # via requests click==8.0.1 # via @@ -40,7 +40,7 @@ dill==0.3.5.1 # via feast (setup.py) fastapi==0.78.0 # via feast (setup.py) -fastavro==1.5.1 +fastavro==1.5.2 # via # feast (setup.py) # pandavro @@ -50,15 +50,13 @@ fsspec==2022.5.0 # via dask google-api-core==2.8.2 # via feast (setup.py) -google-auth==2.8.0 +google-auth==2.9.0 # via google-api-core googleapis-common-protos==1.56.3 # via # feast (setup.py) # google-api-core # tensorflow-metadata -greenlet==1.1.2 - # via sqlalchemy grpcio==1.47.0 # via # feast (setup.py) @@ -75,7 +73,7 @@ idna==3.3 # requests jinja2==3.1.2 # via feast (setup.py) -jsonschema==4.6.0 +jsonschema==4.6.1 # via feast (setup.py) locket==1.0.0 # via partd @@ -107,7 +105,7 @@ partd==1.2.0 # via dask proto-plus==1.20.6 # via feast (setup.py) -protobuf==3.19.4 +protobuf==3.20.1 # via # feast (setup.py) # google-api-core @@ -144,7 +142,7 @@ pyyaml==6.0 # dask # feast (setup.py) # uvicorn -requests==2.28.0 +requests==2.28.1 # via google-api-core rsa==4.8 # via google-auth @@ -156,7 +154,7 @@ six==1.16.0 # python-dateutil sniffio==1.2.0 # via anyio -sqlalchemy[mypy]==1.4.38 +sqlalchemy[mypy]==1.4.39 # via feast (setup.py) sqlalchemy2-stubs==0.0.2a24 # via sqlalchemy @@ -188,7 +186,7 @@ typing-extensions==4.2.0 # starlette urllib3==1.26.9 # via requests -uvicorn[standard]==0.18.1 +uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn diff --git a/sdk/python/tests/unit/test_proto_json.py b/sdk/python/tests/unit/test_proto_json.py index 6bfdbbbf91..235ebc7f93 100644 --- a/sdk/python/tests/unit/test_proto_json.py +++ b/sdk/python/tests/unit/test_proto_json.py @@ -81,7 +81,7 @@ def test_feast_repeated_value(proto_json_patch): # additional structure (e.g. [1,2,3] instead of {"val": [1,2,3]}) repeated_value_str = "[1,2,3]" repeated_value_proto = RepeatedValue() - Parse(repeated_value_str, repeated_value_proto) + Parse(repeated_value_str, repeated_value_proto, "") assertpy.assert_that(len(repeated_value_proto.val)).is_equal_to(3) assertpy.assert_that(repeated_value_proto.val[0].int64_val).is_equal_to(1) assertpy.assert_that(repeated_value_proto.val[1].int64_val).is_equal_to(2) diff --git a/setup.py b/setup.py index 55a715b53a..217b2e1011 100644 --- a/setup.py +++ b/setup.py @@ -52,15 +52,15 @@ "fastavro>=1.1.0,<2", "google-api-core>=1.23.0,<3", "googleapis-common-protos>=1.52.*,<2", - "grpcio>=1.34.0,<2", - "grpcio-reflection>=1.34.0,<2", + "grpcio>=1.47.0,<2", + "grpcio-reflection>=1.47.0,<2", "Jinja2>=2,<4", "jsonschema", "mmh3", "numpy>=1.22,<2", "pandas>=1,<2", "pandavro==1.5.*", - "protobuf>=3.10,<3.20", + "protobuf>3.20,<4", "proto-plus==1.20.*", "pyarrow>=4,<7", "pydantic>=1,<2", @@ -131,8 +131,8 @@ "flake8", "black==19.10b0", "isort>=5,<6", - "grpcio-tools==1.44.0", - "grpcio-testing==1.44.0", + "grpcio-tools==1.47.0", + "grpcio-testing==1.47.0", "minio==7.1.0", "mock==2.0.0", "moto", @@ -514,8 +514,8 @@ def copy_extensions_to_source(self): use_scm_version=use_scm_version, setup_requires=[ "setuptools_scm", - "grpcio", - "grpcio-tools==1.44.0", + "grpcio==1.47.0", + "grpcio-tools==1.47.0", "mypy-protobuf==3.1", "pybindgen==0.22.0", "sphinx!=4.0.0", @@ -533,4 +533,4 @@ def copy_extensions_to_source(self): ["github.com/feast-dev/feast/go/embedded"], ) ], -) +) \ No newline at end of file