diff --git a/sdk/python/feast/proto_json.py b/sdk/python/feast/proto_json.py index 58b77edf8b..a0a4dce86b 100644 --- a/sdk/python/feast/proto_json.py +++ b/sdk/python/feast/proto_json.py @@ -1,12 +1,14 @@ import uuid from typing import Any, Callable, Type +import pkg_resources from google.protobuf.json_format import ( # type: ignore _WKTJSONMETHODS, ParseError, _Parser, _Printer, ) +from packaging import version from feast.protos.feast.serving.ServingService_pb2 import FeatureList from feast.protos.feast.types.Value_pb2 import RepeatedValue, Value @@ -15,8 +17,6 @@ JsonObject = Any -# TODO: These methods need to be updated when bumping the version of protobuf. -# https://github.com/feast-dev/feast/issues/2484 def _patch_proto_json_encoding( proto_type: Type[ProtoMessage], to_json_object: Callable[[_Printer, ProtoMessage], JsonObject], @@ -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, path: str + parser: _Parser, value: JsonObject, message: ProtoMessage ) -> None: if value is None: message.null_val = 0 @@ -111,7 +111,18 @@ def from_json_object( "Value {0} has unexpected type {1}.".format(value, type(value)) ) - _patch_proto_json_encoding(Value, to_json_object, from_json_object) + def from_json_object_updated( + parser: _Parser, value: JsonObject, message: ProtoMessage, path: str + ): + from_json_object(parser, value, message) + + # https://github.com/feast-dev/feast/issues/2484 Certain feast users need a higher version of protobuf but the + # parameters of `from_json_object` changes in feast 3.20.1. This change gives users flexibility to use earlier versions. + current_version = pkg_resources.get_distribution("protobuf").version + if version.parse(current_version) < version.parse("3.20"): + _patch_proto_json_encoding(Value, to_json_object, from_json_object) + else: + _patch_proto_json_encoding(Value, to_json_object, from_json_object_updated) def _patch_feast_repeated_value_json_encoding(): @@ -141,14 +152,29 @@ def _patch_feast_repeated_value_json_encoding(): def to_json_object(printer: _Printer, message: ProtoMessage) -> JsonObject: return [printer._MessageToJsonObject(item) for item in message.val] - def from_json_object( + def from_json_object_updated( 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(), path) - _patch_proto_json_encoding(RepeatedValue, to_json_object, from_json_object) + def from_json_object( + parser: _Parser, value: JsonObject, message: ProtoMessage + ) -> None: + array = value if isinstance(value, list) else value["val"] + for item in array: + parser.ConvertMessage(item, message.val.add()) + + # https://github.com/feast-dev/feast/issues/2484 Certain feast users need a higher version of protobuf but the + # parameters of `from_json_object` changes in feast 3.20.1. This change gives users flexibility to use earlier versions. + current_version = pkg_resources.get_distribution("protobuf").version + if version.parse(current_version) < version.parse("3.20"): + _patch_proto_json_encoding(RepeatedValue, to_json_object, from_json_object) + else: + _patch_proto_json_encoding( + RepeatedValue, to_json_object, from_json_object_updated + ) def _patch_feast_feature_list_json_encoding(): @@ -183,12 +209,25 @@ def to_json_object(printer: _Printer, message: ProtoMessage) -> JsonObject: return list(message.val) def from_json_object( - parser: _Parser, value: JsonObject, message: ProtoMessage, path: str + parser: _Parser, value: JsonObject, message: ProtoMessage ) -> None: array = value if isinstance(value, list) else value["val"] message.val.extend(array) - _patch_proto_json_encoding(FeatureList, to_json_object, from_json_object) + def from_json_object_updated( + parser: _Parser, value: JsonObject, message: ProtoMessage, path: str + ) -> None: + from_json_object(parser, value, message) + + # https://github.com/feast-dev/feast/issues/2484 Certain feast users need a higher version of protobuf but the + # parameters of `from_json_object` changes in feast 3.20.1. This change gives users flexibility to use earlier versions. + current_version = pkg_resources.get_distribution("protobuf").version + if version.parse(current_version) < version.parse("3.20"): + _patch_proto_json_encoding(FeatureList, to_json_object, from_json_object) + else: + _patch_proto_json_encoding( + FeatureList, to_json_object, from_json_object_updated + ) def patch(): diff --git a/sdk/python/requirements/py3.10-ci-requirements.txt b/sdk/python/requirements/py3.10-ci-requirements.txt index 4ff99c247f..a8c24947b0 100644 --- a/sdk/python/requirements/py3.10-ci-requirements.txt +++ b/sdk/python/requirements/py3.10-ci-requirements.txt @@ -42,7 +42,7 @@ asn1crypto==1.5.1 # snowflake-connector-python assertpy==1.1 # via feast (setup.py) -asttokens==2.0.5 +asttokens==2.0.8 # via stack-data async-timeout==4.0.2 # via @@ -56,7 +56,7 @@ attrs==22.1.0 # pytest avro==1.10.0 # via feast (setup.py) -azure-core==1.24.2 +azure-core==1.25.0 # via # adlfs # azure-identity @@ -66,7 +66,7 @@ azure-datalake-store==0.0.52 # via adlfs azure-identity==1.10.0 # via adlfs -azure-storage-blob==12.13.0 +azure-storage-blob==12.13.1 # via adlfs babel==2.10.3 # via sphinx @@ -90,12 +90,17 @@ build==0.8.0 # via # feast (setup.py) # pip-tools +bytewax==0.10.0 + # via feast (setup.py) cachecontrol==0.12.11 # via firebase-admin cachetools==5.2.0 # via google-auth +cassandra-driver==3.25.0 + # via feast (setup.py) certifi==2022.6.15 # via + # kubernetes # minio # msrest # requests @@ -117,6 +122,7 @@ click==8.1.3 # black # bowler # feast (setup.py) + # geomet # great-expectations # moreorless # pip-tools @@ -127,7 +133,7 @@ colorama==0.4.5 # via # feast (setup.py) # great-expectations -coverage[toml]==6.4.2 +coverage[toml]==6.4.4 # via pytest-cov cryptography==35.0.0 # via @@ -144,7 +150,7 @@ dask==2022.1.1 # via feast (setup.py) dataclasses==0.6 # via great-expectations -db-dtypes==1.0.2 +db-dtypes==1.0.3 # via google-cloud-bigquery decorator==5.1.1 # via @@ -155,10 +161,12 @@ deprecated==1.2.13 deprecation==2.1.0 # via testcontainers dill==0.3.5.1 - # via feast (setup.py) + # via + # feast (setup.py) + # multiprocess distlib==0.3.5 # via virtualenv -docker==5.0.3 +docker==6.0.0 # via # feast (setup.py) # testcontainers @@ -170,25 +178,25 @@ entrypoints==0.4 # via altair execnet==1.9.0 # via pytest-xdist -executing==0.9.1 +executing==0.10.0 # via stack-data fastapi==0.79.0 # via feast (setup.py) -fastavro==1.5.4 +fastavro==1.6.0 # via # feast (setup.py) # pandavro fastjsonschema==2.16.1 # via nbformat -filelock==3.7.1 +filelock==3.8.0 # via virtualenv firebase-admin==5.2.0 # via feast (setup.py) fissix==21.11.13 # via bowler -flake8==5.0.2 +flake8==5.0.4 # via feast (setup.py) -frozenlist==1.3.0 +frozenlist==1.3.1 # via # aiohttp # aiosignal @@ -200,6 +208,8 @@ fsspec==2022.1.0 # s3fs gcsfs==2022.1.0 # via feast (setup.py) +geomet==0.2.1.post1 + # via cassandra-driver google-api-core[grpc]==2.8.2 # via # feast (setup.py) @@ -211,9 +221,9 @@ google-api-core[grpc]==2.8.2 # google-cloud-datastore # google-cloud-firestore # google-cloud-storage -google-api-python-client==2.55.0 +google-api-python-client==2.57.0 # via firebase-admin -google-auth==2.9.1 +google-auth==2.10.0 # via # gcsfs # google-api-core @@ -222,13 +232,14 @@ google-auth==2.9.1 # google-auth-oauthlib # google-cloud-core # google-cloud-storage + # kubernetes google-auth-httplib2==0.1.0 # via google-api-python-client google-auth-oauthlib==0.5.2 # via gcsfs -google-cloud-bigquery[pandas]==3.3.0 +google-cloud-bigquery[pandas]==3.3.2 # via feast (setup.py) -google-cloud-bigquery-storage==2.14.1 +google-cloud-bigquery-storage==2.14.2 # via # feast (setup.py) # google-cloud-bigquery @@ -238,11 +249,11 @@ google-cloud-core==2.3.2 # google-cloud-datastore # google-cloud-firestore # google-cloud-storage -google-cloud-datastore==2.8.0 +google-cloud-datastore==2.8.1 # via feast (setup.py) -google-cloud-firestore==2.6.0 +google-cloud-firestore==2.6.1 # via firebase-admin -google-cloud-storage==2.4.0 +google-cloud-storage==2.5.0 # via # feast (setup.py) # firebase-admin @@ -290,7 +301,7 @@ httplib2==0.20.4 # google-auth-httplib2 httptools==0.4.0 # via uvicorn -identify==2.5.2 +identify==2.5.3 # via pre-commit idna==3.3 # via @@ -327,7 +338,7 @@ jsonpatch==1.32 # via great-expectations jsonpointer==2.3 # via jsonpatch -jsonschema==4.9.0 +jsonschema==4.12.1 # via # altair # feast (setup.py) @@ -335,14 +346,15 @@ jsonschema==4.9.0 # nbformat jupyter-core==4.11.1 # via nbformat +kubernetes==20.13.0 + # via feast (setup.py) locket==1.0.0 # via partd markupsafe==2.1.1 # via # jinja2 # moto - # werkzeug -matplotlib-inline==0.1.3 +matplotlib-inline==0.1.6 # via ipython mccabe==0.7.0 # via flake8 @@ -356,7 +368,7 @@ mock==2.0.0 # via feast (setup.py) moreorless==0.4.0 # via bowler -moto==3.1.16 +moto==3.1.18 # via feast (setup.py) msal==1.18.0 # via @@ -376,6 +388,8 @@ multidict==6.0.2 # via # aiohttp # yarl +multiprocess==0.70.13 + # via bytewax mypy==0.971 # via # feast (setup.py) @@ -392,7 +406,7 @@ nbformat==5.4.0 # via great-expectations nodeenv==1.7.0 # via pre-commit -numpy==1.23.1 +numpy==1.23.2 # via # altair # db-dtypes @@ -412,6 +426,7 @@ packaging==21.3 # dask # db-dtypes # deprecation + # docker # google-cloud-bigquery # great-expectations # pytest @@ -430,11 +445,11 @@ pandavro==1.5.2 # via feast (setup.py) parso==0.8.3 # via jedi -partd==1.2.0 +partd==1.3.0 # via dask pathspec==0.9.0 # via black -pbr==5.9.0 +pbr==5.10.0 # via mock pep517==0.13.0 # via build @@ -458,7 +473,7 @@ pre-commit==2.20.0 # via feast (setup.py) prompt-toolkit==3.0.30 # via ipython -proto-plus==1.20.6 +proto-plus==1.22.0 # via # feast (setup.py) # google-cloud-bigquery @@ -511,19 +526,19 @@ pyasn1-modules==0.2.8 # via google-auth pybindgen==0.22.1 # via feast (setup.py) -pycodestyle==2.9.0 +pycodestyle==2.9.1 # via flake8 pycparser==2.21 # via cffi pycryptodomex==3.15.0 # via snowflake-connector-python -pydantic==1.9.1 +pydantic==1.9.2 # via # fastapi # feast (setup.py) pyflakes==2.5.0 # via flake8 -pygments==2.12.0 +pygments==2.13.0 # via # feast (setup.py) # ipython @@ -577,11 +592,12 @@ python-dateutil==2.8.2 # botocore # google-cloud-bigquery # great-expectations + # kubernetes # moto # pandas python-dotenv==0.20.0 # via uvicorn -pytz==2022.1 +pytz==2022.2.1 # via # babel # great-expectations @@ -595,6 +611,7 @@ pyyaml==6.0 # via # dask # feast (setup.py) + # kubernetes # pre-commit # uvicorn redis==4.2.2 @@ -612,6 +629,7 @@ requests==2.28.1 # google-cloud-bigquery # google-cloud-storage # great-expectations + # kubernetes # moto # msal # msrest @@ -623,6 +641,7 @@ requests==2.28.1 requests-oauthlib==1.3.1 # via # google-auth-oauthlib + # kubernetes # msrest responses==0.21.0 # via moto @@ -640,10 +659,13 @@ six==1.16.0 # via # azure-core # azure-identity + # cassandra-driver + # geomet # google-auth # google-auth-httplib2 # grpcio # happybase + # kubernetes # mock # msrestazure # pandavro @@ -672,11 +694,11 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy[mypy]==1.4.39 +sqlalchemy[mypy]==1.4.40 # via feast (setup.py) -sqlalchemy2-stubs==0.0.2a24 +sqlalchemy2-stubs==0.0.2a25 # via sqlalchemy -stack-data==0.3.0 +stack-data==0.4.0 # via ipython starlette==0.19.1 # via fastapi @@ -688,7 +710,7 @@ tensorflow-metadata==1.9.0 # via feast (setup.py) termcolor==1.1.0 # via great-expectations -testcontainers==3.6.0 +testcontainers==3.6.1 # via feast (setup.py) thriftpy2==0.4.14 # via happybase @@ -733,15 +755,15 @@ types-pytz==2022.1.2 # via feast (setup.py) types-pyyaml==6.0.11 # via feast (setup.py) -types-redis==4.3.13 +types-redis==4.3.14 # via feast (setup.py) -types-requests==2.28.6 +types-requests==2.28.8 # via feast (setup.py) -types-setuptools==63.2.2 +types-setuptools==64.0.1 # via feast (setup.py) types-tabulate==0.8.11 # via feast (setup.py) -types-urllib3==1.26.20 +types-urllib3==1.26.22 # via types-requests typing-extensions==4.3.0 # via @@ -750,7 +772,7 @@ typing-extensions==4.3.0 # mypy # pydantic # sqlalchemy2-stubs -tzdata==2022.1 +tzdata==2022.2 # via pytz-deprecation-shim tzlocal==4.2 # via great-expectations @@ -759,8 +781,10 @@ uritemplate==4.1.1 urllib3==1.26.11 # via # botocore + # docker # feast (setup.py) # great-expectations + # kubernetes # minio # requests # responses @@ -768,7 +792,7 @@ uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn -virtualenv==20.16.2 +virtualenv==20.16.3 # via pre-commit volatile==2.1.0 # via bowler @@ -777,10 +801,12 @@ watchfiles==0.16.1 wcwidth==0.2.5 # via prompt-toolkit websocket-client==1.3.3 - # via docker + # via + # docker + # kubernetes websockets==10.3 # via uvicorn -werkzeug==2.2.1 +werkzeug==2.1.2 # via moto wheel==0.37.1 # via pip-tools @@ -791,7 +817,7 @@ wrapt==1.14.1 # testcontainers xmltodict==0.13.0 # via moto -yarl==1.8.0 +yarl==1.8.1 # via aiohttp zipp==3.8.1 # via importlib-metadata diff --git a/sdk/python/requirements/py3.10-requirements.txt b/sdk/python/requirements/py3.10-requirements.txt index 8ae219f1fe..43e814b668 100644 --- a/sdk/python/requirements/py3.10-requirements.txt +++ b/sdk/python/requirements/py3.10-requirements.txt @@ -40,7 +40,7 @@ dill==0.3.5.1 # via feast (setup.py) fastapi==0.79.0 # via feast (setup.py) -fastavro==1.5.4 +fastavro==1.6.0 # via # feast (setup.py) # pandavro @@ -50,7 +50,7 @@ fsspec==2022.7.1 # via dask google-api-core==2.8.2 # via feast (setup.py) -google-auth==2.9.1 +google-auth==2.10.0 # via google-api-core googleapis-common-protos==1.56.4 # via @@ -73,7 +73,7 @@ idna==3.3 # requests jinja2==3.1.2 # via feast (setup.py) -jsonschema==4.9.0 +jsonschema==4.12.1 # via feast (setup.py) locket==1.0.0 # via partd @@ -87,7 +87,7 @@ mypy==0.971 # via sqlalchemy mypy-extensions==0.4.3 # via mypy -numpy==1.23.1 +numpy==1.23.2 # via # feast (setup.py) # pandas @@ -101,9 +101,9 @@ pandas==1.4.3 # pandavro pandavro==1.5.2 # via feast (setup.py) -partd==1.2.0 +partd==1.3.0 # via dask -proto-plus==1.20.6 +proto-plus==1.22.0 # via feast (setup.py) protobuf==3.20.1 # via @@ -121,11 +121,11 @@ pyasn1==0.4.8 # rsa pyasn1-modules==0.2.8 # via google-auth -pydantic==1.9.1 +pydantic==1.9.2 # via # fastapi # feast (setup.py) -pygments==2.12.0 +pygments==2.13.0 # via feast (setup.py) pyparsing==3.0.9 # via packaging @@ -135,7 +135,7 @@ python-dateutil==2.8.2 # via pandas python-dotenv==0.20.0 # via uvicorn -pytz==2022.1 +pytz==2022.2.1 # via pandas pyyaml==6.0 # via @@ -154,9 +154,9 @@ six==1.16.0 # python-dateutil sniffio==1.2.0 # via anyio -sqlalchemy[mypy]==1.4.39 +sqlalchemy[mypy]==1.4.40 # via feast (setup.py) -sqlalchemy2-stubs==0.0.2a24 +sqlalchemy2-stubs==0.0.2a25 # via sqlalchemy starlette==0.19.1 # via fastapi diff --git a/sdk/python/requirements/py3.8-ci-requirements.txt b/sdk/python/requirements/py3.8-ci-requirements.txt index 931a7d1e24..7b0c13f23b 100644 --- a/sdk/python/requirements/py3.8-ci-requirements.txt +++ b/sdk/python/requirements/py3.8-ci-requirements.txt @@ -42,7 +42,7 @@ asn1crypto==1.5.1 # snowflake-connector-python assertpy==1.1 # via feast (setup.py) -asttokens==2.0.5 +asttokens==2.0.8 # via stack-data async-timeout==4.0.2 # via @@ -56,7 +56,7 @@ attrs==22.1.0 # pytest avro==1.10.0 # via feast (setup.py) -azure-core==1.24.2 +azure-core==1.25.0 # via # adlfs # azure-identity @@ -66,7 +66,7 @@ azure-datalake-store==0.0.52 # via adlfs azure-identity==1.10.0 # via adlfs -azure-storage-blob==12.13.0 +azure-storage-blob==12.13.1 # via adlfs babel==2.10.3 # via sphinx @@ -94,12 +94,17 @@ build==0.8.0 # via # feast (setup.py) # pip-tools +bytewax==0.10.0 + # via feast (setup.py) cachecontrol==0.12.11 # via firebase-admin cachetools==5.2.0 # via google-auth +cassandra-driver==3.25.0 + # via feast (setup.py) certifi==2022.6.15 # via + # kubernetes # minio # msrest # requests @@ -121,6 +126,7 @@ click==8.1.3 # black # bowler # feast (setup.py) + # geomet # great-expectations # moreorless # pip-tools @@ -131,7 +137,7 @@ colorama==0.4.5 # via # feast (setup.py) # great-expectations -coverage[toml]==6.4.2 +coverage[toml]==6.4.4 # via pytest-cov cryptography==35.0.0 # via @@ -148,7 +154,7 @@ dask==2022.1.1 # via feast (setup.py) dataclasses==0.6 # via great-expectations -db-dtypes==1.0.2 +db-dtypes==1.0.3 # via google-cloud-bigquery decorator==5.1.1 # via @@ -159,10 +165,12 @@ deprecated==1.2.13 deprecation==2.1.0 # via testcontainers dill==0.3.5.1 - # via feast (setup.py) + # via + # feast (setup.py) + # multiprocess distlib==0.3.5 # via virtualenv -docker==5.0.3 +docker==6.0.0 # via # feast (setup.py) # testcontainers @@ -174,25 +182,25 @@ entrypoints==0.4 # via altair execnet==1.9.0 # via pytest-xdist -executing==0.9.1 +executing==0.10.0 # via stack-data fastapi==0.79.0 # via feast (setup.py) -fastavro==1.5.4 +fastavro==1.6.0 # via # feast (setup.py) # pandavro fastjsonschema==2.16.1 # via nbformat -filelock==3.7.1 +filelock==3.8.0 # via virtualenv firebase-admin==5.2.0 # via feast (setup.py) fissix==21.11.13 # via bowler -flake8==5.0.2 +flake8==5.0.4 # via feast (setup.py) -frozenlist==1.3.0 +frozenlist==1.3.1 # via # aiohttp # aiosignal @@ -204,6 +212,8 @@ fsspec==2022.1.0 # s3fs gcsfs==2022.1.0 # via feast (setup.py) +geomet==0.2.1.post1 + # via cassandra-driver google-api-core[grpc]==2.8.2 # via # feast (setup.py) @@ -215,9 +225,9 @@ google-api-core[grpc]==2.8.2 # google-cloud-datastore # google-cloud-firestore # google-cloud-storage -google-api-python-client==2.55.0 +google-api-python-client==2.57.0 # via firebase-admin -google-auth==2.9.1 +google-auth==2.10.0 # via # gcsfs # google-api-core @@ -226,13 +236,14 @@ google-auth==2.9.1 # google-auth-oauthlib # google-cloud-core # google-cloud-storage + # kubernetes google-auth-httplib2==0.1.0 # via google-api-python-client google-auth-oauthlib==0.5.2 # via gcsfs -google-cloud-bigquery[pandas]==3.3.0 +google-cloud-bigquery[pandas]==3.3.2 # via feast (setup.py) -google-cloud-bigquery-storage==2.14.1 +google-cloud-bigquery-storage==2.14.2 # via # feast (setup.py) # google-cloud-bigquery @@ -242,11 +253,11 @@ google-cloud-core==2.3.2 # google-cloud-datastore # google-cloud-firestore # google-cloud-storage -google-cloud-datastore==2.8.0 +google-cloud-datastore==2.8.1 # via feast (setup.py) -google-cloud-firestore==2.6.0 +google-cloud-firestore==2.6.1 # via firebase-admin -google-cloud-storage==2.4.0 +google-cloud-storage==2.5.0 # via # feast (setup.py) # firebase-admin @@ -294,7 +305,7 @@ httplib2==0.20.4 # google-auth-httplib2 httptools==0.4.0 # via uvicorn -identify==2.5.2 +identify==2.5.3 # via pre-commit idna==3.3 # via @@ -333,7 +344,7 @@ jsonpatch==1.32 # via great-expectations jsonpointer==2.3 # via jsonpatch -jsonschema==4.9.0 +jsonschema==4.12.1 # via # altair # feast (setup.py) @@ -341,14 +352,15 @@ jsonschema==4.9.0 # nbformat jupyter-core==4.11.1 # via nbformat +kubernetes==20.13.0 + # via feast (setup.py) locket==1.0.0 # via partd markupsafe==2.1.1 # via # jinja2 # moto - # werkzeug -matplotlib-inline==0.1.3 +matplotlib-inline==0.1.6 # via ipython mccabe==0.7.0 # via flake8 @@ -362,7 +374,7 @@ mock==2.0.0 # via feast (setup.py) moreorless==0.4.0 # via bowler -moto==3.1.16 +moto==3.1.18 # via feast (setup.py) msal==1.18.0 # via @@ -382,6 +394,8 @@ multidict==6.0.2 # via # aiohttp # yarl +multiprocess==0.70.13 + # via bytewax mypy==0.971 # via # feast (setup.py) @@ -398,7 +412,7 @@ nbformat==5.4.0 # via great-expectations nodeenv==1.7.0 # via pre-commit -numpy==1.23.1 +numpy==1.23.2 # via # altair # db-dtypes @@ -418,6 +432,7 @@ packaging==21.3 # dask # db-dtypes # deprecation + # docker # google-cloud-bigquery # great-expectations # pytest @@ -436,11 +451,11 @@ pandavro==1.5.2 # via feast (setup.py) parso==0.8.3 # via jedi -partd==1.2.0 +partd==1.3.0 # via dask pathspec==0.9.0 # via black -pbr==5.9.0 +pbr==5.10.0 # via mock pep517==0.13.0 # via build @@ -466,7 +481,7 @@ pre-commit==2.20.0 # via feast (setup.py) prompt-toolkit==3.0.30 # via ipython -proto-plus==1.20.6 +proto-plus==1.22.0 # via # feast (setup.py) # google-cloud-bigquery @@ -519,19 +534,19 @@ pyasn1-modules==0.2.8 # via google-auth pybindgen==0.22.1 # via feast (setup.py) -pycodestyle==2.9.0 +pycodestyle==2.9.1 # via flake8 pycparser==2.21 # via cffi pycryptodomex==3.15.0 # via snowflake-connector-python -pydantic==1.9.1 +pydantic==1.9.2 # via # fastapi # feast (setup.py) pyflakes==2.5.0 # via flake8 -pygments==2.12.0 +pygments==2.13.0 # via # feast (setup.py) # ipython @@ -585,11 +600,12 @@ python-dateutil==2.8.2 # botocore # google-cloud-bigquery # great-expectations + # kubernetes # moto # pandas python-dotenv==0.20.0 # via uvicorn -pytz==2022.1 +pytz==2022.2.1 # via # babel # great-expectations @@ -603,6 +619,7 @@ pyyaml==6.0 # via # dask # feast (setup.py) + # kubernetes # pre-commit # uvicorn redis==4.2.2 @@ -620,6 +637,7 @@ requests==2.28.1 # google-cloud-bigquery # google-cloud-storage # great-expectations + # kubernetes # moto # msal # msrest @@ -631,6 +649,7 @@ requests==2.28.1 requests-oauthlib==1.3.1 # via # google-auth-oauthlib + # kubernetes # msrest responses==0.21.0 # via moto @@ -650,10 +669,13 @@ six==1.16.0 # via # azure-core # azure-identity + # cassandra-driver + # geomet # google-auth # google-auth-httplib2 # grpcio # happybase + # kubernetes # mock # msrestazure # pandavro @@ -682,11 +704,11 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy[mypy]==1.4.39 +sqlalchemy[mypy]==1.4.40 # via feast (setup.py) -sqlalchemy2-stubs==0.0.2a24 +sqlalchemy2-stubs==0.0.2a25 # via sqlalchemy -stack-data==0.3.0 +stack-data==0.4.0 # via ipython starlette==0.19.1 # via fastapi @@ -698,7 +720,7 @@ tensorflow-metadata==1.9.0 # via feast (setup.py) termcolor==1.1.0 # via great-expectations -testcontainers==3.6.0 +testcontainers==3.6.1 # via feast (setup.py) thriftpy2==0.4.14 # via happybase @@ -743,15 +765,15 @@ types-pytz==2022.1.2 # via feast (setup.py) types-pyyaml==6.0.11 # via feast (setup.py) -types-redis==4.3.13 +types-redis==4.3.14 # via feast (setup.py) -types-requests==2.28.6 +types-requests==2.28.8 # via feast (setup.py) -types-setuptools==63.2.2 +types-setuptools==64.0.1 # via feast (setup.py) types-tabulate==0.8.11 # via feast (setup.py) -types-urllib3==1.26.20 +types-urllib3==1.26.22 # via types-requests typing-extensions==4.3.0 # via @@ -763,7 +785,7 @@ typing-extensions==4.3.0 # pydantic # sqlalchemy2-stubs # starlette -tzdata==2022.1 +tzdata==2022.2 # via pytz-deprecation-shim tzlocal==4.2 # via great-expectations @@ -772,8 +794,10 @@ uritemplate==4.1.1 urllib3==1.26.11 # via # botocore + # docker # feast (setup.py) # great-expectations + # kubernetes # minio # requests # responses @@ -781,7 +805,7 @@ uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn -virtualenv==20.16.2 +virtualenv==20.16.3 # via pre-commit volatile==2.1.0 # via bowler @@ -790,10 +814,12 @@ watchfiles==0.16.1 wcwidth==0.2.5 # via prompt-toolkit websocket-client==1.3.3 - # via docker + # via + # docker + # kubernetes websockets==10.3 # via uvicorn -werkzeug==2.2.1 +werkzeug==2.1.2 # via moto wheel==0.37.1 # via pip-tools @@ -804,7 +830,7 @@ wrapt==1.14.1 # testcontainers xmltodict==0.13.0 # via moto -yarl==1.8.0 +yarl==1.8.1 # via aiohttp zipp==3.8.1 # via diff --git a/sdk/python/requirements/py3.8-requirements.txt b/sdk/python/requirements/py3.8-requirements.txt index 362780d69e..aea3bfb3f4 100644 --- a/sdk/python/requirements/py3.8-requirements.txt +++ b/sdk/python/requirements/py3.8-requirements.txt @@ -40,7 +40,7 @@ dill==0.3.5.1 # via feast (setup.py) fastapi==0.79.0 # via feast (setup.py) -fastavro==1.5.4 +fastavro==1.6.0 # via # feast (setup.py) # pandavro @@ -50,7 +50,7 @@ fsspec==2022.7.1 # via dask google-api-core==2.8.2 # via feast (setup.py) -google-auth==2.9.1 +google-auth==2.10.0 # via google-api-core googleapis-common-protos==1.56.4 # via @@ -75,7 +75,7 @@ importlib-resources==5.9.0 # via jsonschema jinja2==3.1.2 # via feast (setup.py) -jsonschema==4.9.0 +jsonschema==4.12.1 # via feast (setup.py) locket==1.0.0 # via partd @@ -89,7 +89,7 @@ mypy==0.971 # via sqlalchemy mypy-extensions==0.4.3 # via mypy -numpy==1.23.1 +numpy==1.23.2 # via # feast (setup.py) # pandas @@ -103,11 +103,11 @@ pandas==1.4.3 # pandavro pandavro==1.5.2 # via feast (setup.py) -partd==1.2.0 +partd==1.3.0 # via dask pkgutil-resolve-name==1.3.10 # via jsonschema -proto-plus==1.20.6 +proto-plus==1.22.0 # via feast (setup.py) protobuf==3.20.1 # via @@ -125,11 +125,11 @@ pyasn1==0.4.8 # rsa pyasn1-modules==0.2.8 # via google-auth -pydantic==1.9.1 +pydantic==1.9.2 # via # fastapi # feast (setup.py) -pygments==2.12.0 +pygments==2.13.0 # via feast (setup.py) pyparsing==3.0.9 # via packaging @@ -139,7 +139,7 @@ python-dateutil==2.8.2 # via pandas python-dotenv==0.20.0 # via uvicorn -pytz==2022.1 +pytz==2022.2.1 # via pandas pyyaml==6.0 # via @@ -158,9 +158,9 @@ six==1.16.0 # python-dateutil sniffio==1.2.0 # via anyio -sqlalchemy[mypy]==1.4.39 +sqlalchemy[mypy]==1.4.40 # via feast (setup.py) -sqlalchemy2-stubs==0.0.2a24 +sqlalchemy2-stubs==0.0.2a25 # via sqlalchemy starlette==0.19.1 # via fastapi diff --git a/sdk/python/requirements/py3.9-ci-requirements.txt b/sdk/python/requirements/py3.9-ci-requirements.txt index 5d118a3ae2..efeea5d08f 100644 --- a/sdk/python/requirements/py3.9-ci-requirements.txt +++ b/sdk/python/requirements/py3.9-ci-requirements.txt @@ -42,7 +42,7 @@ asn1crypto==1.5.1 # snowflake-connector-python assertpy==1.1 # via feast (setup.py) -asttokens==2.0.5 +asttokens==2.0.8 # via stack-data async-timeout==4.0.2 # via @@ -56,7 +56,7 @@ attrs==22.1.0 # pytest avro==1.10.0 # via feast (setup.py) -azure-core==1.24.2 +azure-core==1.25.0 # via # adlfs # azure-identity @@ -66,7 +66,7 @@ azure-datalake-store==0.0.52 # via adlfs azure-identity==1.10.0 # via adlfs -azure-storage-blob==12.13.0 +azure-storage-blob==12.13.1 # via adlfs babel==2.10.3 # via sphinx @@ -90,12 +90,17 @@ build==0.8.0 # via # feast (setup.py) # pip-tools +bytewax==0.10.0 + # via feast (setup.py) cachecontrol==0.12.11 # via firebase-admin cachetools==5.2.0 # via google-auth +cassandra-driver==3.25.0 + # via feast (setup.py) certifi==2022.6.15 # via + # kubernetes # minio # msrest # requests @@ -117,6 +122,7 @@ click==8.1.3 # black # bowler # feast (setup.py) + # geomet # great-expectations # moreorless # pip-tools @@ -127,7 +133,7 @@ colorama==0.4.5 # via # feast (setup.py) # great-expectations -coverage[toml]==6.4.2 +coverage[toml]==6.4.4 # via pytest-cov cryptography==35.0.0 # via @@ -144,7 +150,7 @@ dask==2022.1.1 # via feast (setup.py) dataclasses==0.6 # via great-expectations -db-dtypes==1.0.2 +db-dtypes==1.0.3 # via google-cloud-bigquery decorator==5.1.1 # via @@ -155,10 +161,12 @@ deprecated==1.2.13 deprecation==2.1.0 # via testcontainers dill==0.3.5.1 - # via feast (setup.py) + # via + # feast (setup.py) + # multiprocess distlib==0.3.5 # via virtualenv -docker==5.0.3 +docker==6.0.0 # via # feast (setup.py) # testcontainers @@ -170,25 +178,25 @@ entrypoints==0.4 # via altair execnet==1.9.0 # via pytest-xdist -executing==0.9.1 +executing==0.10.0 # via stack-data fastapi==0.79.0 # via feast (setup.py) -fastavro==1.5.4 +fastavro==1.6.0 # via # feast (setup.py) # pandavro fastjsonschema==2.16.1 # via nbformat -filelock==3.7.1 +filelock==3.8.0 # via virtualenv firebase-admin==5.2.0 # via feast (setup.py) fissix==21.11.13 # via bowler -flake8==5.0.2 +flake8==5.0.4 # via feast (setup.py) -frozenlist==1.3.0 +frozenlist==1.3.1 # via # aiohttp # aiosignal @@ -200,6 +208,8 @@ fsspec==2022.1.0 # s3fs gcsfs==2022.1.0 # via feast (setup.py) +geomet==0.2.1.post1 + # via cassandra-driver google-api-core[grpc]==2.8.2 # via # feast (setup.py) @@ -211,9 +221,9 @@ google-api-core[grpc]==2.8.2 # google-cloud-datastore # google-cloud-firestore # google-cloud-storage -google-api-python-client==2.55.0 +google-api-python-client==2.57.0 # via firebase-admin -google-auth==2.9.1 +google-auth==2.10.0 # via # gcsfs # google-api-core @@ -222,13 +232,14 @@ google-auth==2.9.1 # google-auth-oauthlib # google-cloud-core # google-cloud-storage + # kubernetes google-auth-httplib2==0.1.0 # via google-api-python-client google-auth-oauthlib==0.5.2 # via gcsfs -google-cloud-bigquery[pandas]==3.3.0 +google-cloud-bigquery[pandas]==3.3.2 # via feast (setup.py) -google-cloud-bigquery-storage==2.14.1 +google-cloud-bigquery-storage==2.14.2 # via # feast (setup.py) # google-cloud-bigquery @@ -238,11 +249,11 @@ google-cloud-core==2.3.2 # google-cloud-datastore # google-cloud-firestore # google-cloud-storage -google-cloud-datastore==2.8.0 +google-cloud-datastore==2.8.1 # via feast (setup.py) -google-cloud-firestore==2.6.0 +google-cloud-firestore==2.6.1 # via firebase-admin -google-cloud-storage==2.4.0 +google-cloud-storage==2.5.0 # via # feast (setup.py) # firebase-admin @@ -290,7 +301,7 @@ httplib2==0.20.4 # google-auth-httplib2 httptools==0.4.0 # via uvicorn -identify==2.5.2 +identify==2.5.3 # via pre-commit idna==3.3 # via @@ -327,7 +338,7 @@ jsonpatch==1.32 # via great-expectations jsonpointer==2.3 # via jsonpatch -jsonschema==4.9.0 +jsonschema==4.12.1 # via # altair # feast (setup.py) @@ -335,14 +346,15 @@ jsonschema==4.9.0 # nbformat jupyter-core==4.11.1 # via nbformat +kubernetes==20.13.0 + # via feast (setup.py) locket==1.0.0 # via partd markupsafe==2.1.1 # via # jinja2 # moto - # werkzeug -matplotlib-inline==0.1.3 +matplotlib-inline==0.1.6 # via ipython mccabe==0.7.0 # via flake8 @@ -356,7 +368,7 @@ mock==2.0.0 # via feast (setup.py) moreorless==0.4.0 # via bowler -moto==3.1.16 +moto==3.1.18 # via feast (setup.py) msal==1.18.0 # via @@ -376,6 +388,8 @@ multidict==6.0.2 # via # aiohttp # yarl +multiprocess==0.70.13 + # via bytewax mypy==0.971 # via # feast (setup.py) @@ -392,7 +406,7 @@ nbformat==5.4.0 # via great-expectations nodeenv==1.7.0 # via pre-commit -numpy==1.23.1 +numpy==1.23.2 # via # altair # db-dtypes @@ -412,6 +426,7 @@ packaging==21.3 # dask # db-dtypes # deprecation + # docker # google-cloud-bigquery # great-expectations # pytest @@ -430,11 +445,11 @@ pandavro==1.5.2 # via feast (setup.py) parso==0.8.3 # via jedi -partd==1.2.0 +partd==1.3.0 # via dask pathspec==0.9.0 # via black -pbr==5.9.0 +pbr==5.10.0 # via mock pep517==0.13.0 # via build @@ -458,7 +473,7 @@ pre-commit==2.20.0 # via feast (setup.py) prompt-toolkit==3.0.30 # via ipython -proto-plus==1.20.6 +proto-plus==1.22.0 # via # feast (setup.py) # google-cloud-bigquery @@ -511,19 +526,19 @@ pyasn1-modules==0.2.8 # via google-auth pybindgen==0.22.1 # via feast (setup.py) -pycodestyle==2.9.0 +pycodestyle==2.9.1 # via flake8 pycparser==2.21 # via cffi pycryptodomex==3.15.0 # via snowflake-connector-python -pydantic==1.9.1 +pydantic==1.9.2 # via # fastapi # feast (setup.py) pyflakes==2.5.0 # via flake8 -pygments==2.12.0 +pygments==2.13.0 # via # feast (setup.py) # ipython @@ -577,11 +592,12 @@ python-dateutil==2.8.2 # botocore # google-cloud-bigquery # great-expectations + # kubernetes # moto # pandas python-dotenv==0.20.0 # via uvicorn -pytz==2022.1 +pytz==2022.2.1 # via # babel # great-expectations @@ -595,6 +611,7 @@ pyyaml==6.0 # via # dask # feast (setup.py) + # kubernetes # pre-commit # uvicorn redis==4.2.2 @@ -612,6 +629,7 @@ requests==2.28.1 # google-cloud-bigquery # google-cloud-storage # great-expectations + # kubernetes # moto # msal # msrest @@ -623,6 +641,7 @@ requests==2.28.1 requests-oauthlib==1.3.1 # via # google-auth-oauthlib + # kubernetes # msrest responses==0.21.0 # via moto @@ -642,10 +661,13 @@ six==1.16.0 # via # azure-core # azure-identity + # cassandra-driver + # geomet # google-auth # google-auth-httplib2 # grpcio # happybase + # kubernetes # mock # msrestazure # pandavro @@ -674,11 +696,11 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy[mypy]==1.4.39 +sqlalchemy[mypy]==1.4.40 # via feast (setup.py) -sqlalchemy2-stubs==0.0.2a24 +sqlalchemy2-stubs==0.0.2a25 # via sqlalchemy -stack-data==0.3.0 +stack-data==0.4.0 # via ipython starlette==0.19.1 # via fastapi @@ -690,7 +712,7 @@ tensorflow-metadata==1.9.0 # via feast (setup.py) termcolor==1.1.0 # via great-expectations -testcontainers==3.6.0 +testcontainers==3.6.1 # via feast (setup.py) thriftpy2==0.4.14 # via happybase @@ -735,15 +757,15 @@ types-pytz==2022.1.2 # via feast (setup.py) types-pyyaml==6.0.11 # via feast (setup.py) -types-redis==4.3.13 +types-redis==4.3.14 # via feast (setup.py) -types-requests==2.28.6 +types-requests==2.28.8 # via feast (setup.py) -types-setuptools==63.2.2 +types-setuptools==64.0.1 # via feast (setup.py) types-tabulate==0.8.11 # via feast (setup.py) -types-urllib3==1.26.20 +types-urllib3==1.26.22 # via types-requests typing-extensions==4.3.0 # via @@ -755,7 +777,7 @@ typing-extensions==4.3.0 # pydantic # sqlalchemy2-stubs # starlette -tzdata==2022.1 +tzdata==2022.2 # via pytz-deprecation-shim tzlocal==4.2 # via great-expectations @@ -764,8 +786,10 @@ uritemplate==4.1.1 urllib3==1.26.11 # via # botocore + # docker # feast (setup.py) # great-expectations + # kubernetes # minio # requests # responses @@ -773,7 +797,7 @@ uvicorn[standard]==0.18.2 # via feast (setup.py) uvloop==0.16.0 # via uvicorn -virtualenv==20.16.2 +virtualenv==20.16.3 # via pre-commit volatile==2.1.0 # via bowler @@ -782,10 +806,12 @@ watchfiles==0.16.1 wcwidth==0.2.5 # via prompt-toolkit websocket-client==1.3.3 - # via docker + # via + # docker + # kubernetes websockets==10.3 # via uvicorn -werkzeug==2.2.1 +werkzeug==2.1.2 # via moto wheel==0.37.1 # via pip-tools @@ -796,7 +822,7 @@ wrapt==1.14.1 # testcontainers xmltodict==0.13.0 # via moto -yarl==1.8.0 +yarl==1.8.1 # via aiohttp zipp==3.8.1 # via importlib-metadata diff --git a/sdk/python/requirements/py3.9-requirements.txt b/sdk/python/requirements/py3.9-requirements.txt index 1ef60c531a..738ad25bd1 100644 --- a/sdk/python/requirements/py3.9-requirements.txt +++ b/sdk/python/requirements/py3.9-requirements.txt @@ -40,7 +40,7 @@ dill==0.3.5.1 # via feast (setup.py) fastapi==0.79.0 # via feast (setup.py) -fastavro==1.5.4 +fastavro==1.6.0 # via # feast (setup.py) # pandavro @@ -50,7 +50,7 @@ fsspec==2022.7.1 # via dask google-api-core==2.8.2 # via feast (setup.py) -google-auth==2.9.1 +google-auth==2.10.0 # via google-api-core googleapis-common-protos==1.56.4 # via @@ -73,7 +73,7 @@ idna==3.3 # requests jinja2==3.1.2 # via feast (setup.py) -jsonschema==4.9.0 +jsonschema==4.12.1 # via feast (setup.py) locket==1.0.0 # via partd @@ -87,7 +87,7 @@ mypy==0.971 # via sqlalchemy mypy-extensions==0.4.3 # via mypy -numpy==1.23.1 +numpy==1.23.2 # via # feast (setup.py) # pandas @@ -101,9 +101,9 @@ pandas==1.4.3 # pandavro pandavro==1.5.2 # via feast (setup.py) -partd==1.2.0 +partd==1.3.0 # via dask -proto-plus==1.20.6 +proto-plus==1.22.0 # via feast (setup.py) protobuf==3.20.1 # via @@ -121,11 +121,11 @@ pyasn1==0.4.8 # rsa pyasn1-modules==0.2.8 # via google-auth -pydantic==1.9.1 +pydantic==1.9.2 # via # fastapi # feast (setup.py) -pygments==2.12.0 +pygments==2.13.0 # via feast (setup.py) pyparsing==3.0.9 # via packaging @@ -135,7 +135,7 @@ python-dateutil==2.8.2 # via pandas python-dotenv==0.20.0 # via uvicorn -pytz==2022.1 +pytz==2022.2.1 # via pandas pyyaml==6.0 # via @@ -154,9 +154,9 @@ six==1.16.0 # python-dateutil sniffio==1.2.0 # via anyio -sqlalchemy[mypy]==1.4.39 +sqlalchemy[mypy]==1.4.40 # via feast (setup.py) -sqlalchemy2-stubs==0.0.2a24 +sqlalchemy2-stubs==0.0.2a25 # via sqlalchemy starlette==0.19.1 # via fastapi diff --git a/setup.py b/setup.py index eb02397b44..5a770b8a6a 100644 --- a/setup.py +++ b/setup.py @@ -60,7 +60,7 @@ "numpy>=1.22,<3", "pandas>=1.4.3,<2", "pandavro==1.5.*", # For some reason pandavro higher than 1.5.* only support pandas less than 1.3. - "protobuf>3.20,<4", + "protobuf<5,>3", "proto-plus>=1.20.0,<2", "pyarrow>=4,<9", "pydantic>=1,<2",