From ac87c28284bb42cef3dfbc0010d7f8cd84e29d02 Mon Sep 17 00:00:00 2001 From: "bdodla@expedia.com" <13788369+EXPEbdodla@users.noreply.github.com> Date: Mon, 5 Aug 2024 15:45:03 -0700 Subject: [PATCH] fix: Parsing online store configuration correctly when provider is expedia (#124) Co-authored-by: Bhargav Dodla --- sdk/python/feast/repo_config.py | 2 +- sdk/python/feast/type_map.py | 17 +- .../requirements/py3.10-ci-requirements.txt | 237 ++++++++--------- .../requirements/py3.10-requirements.txt | 69 ++--- .../requirements/py3.11-ci-requirements.txt | 238 +++++++++--------- .../requirements/py3.11-requirements.txt | 50 ++-- .../requirements/py3.9-ci-requirements.txt | 235 ++++++++--------- .../requirements/py3.9-requirements.txt | 50 ++-- .../infra/scaffolding/test_repo_config.py | 54 ++++ sdk/python/tests/unit/test_type_map.py | 7 + setup.py | 2 + 11 files changed, 519 insertions(+), 442 deletions(-) diff --git a/sdk/python/feast/repo_config.py b/sdk/python/feast/repo_config.py index dc6ef10d78..b46c980ba6 100644 --- a/sdk/python/feast/repo_config.py +++ b/sdk/python/feast/repo_config.py @@ -228,7 +228,7 @@ def __init__(self, **data: Any): self._online_store = None if provider == "expedia": - self.online_config = "redis" + self.online_config = data.get("online_store", "redis") else: self.online_config = data.get("online_store", "sqlite") diff --git a/sdk/python/feast/type_map.py b/sdk/python/feast/type_map.py index 703c1dc7c5..22a4dd7954 100644 --- a/sdk/python/feast/type_map.py +++ b/sdk/python/feast/type_map.py @@ -396,13 +396,18 @@ def _python_value_to_proto_value( raise _type_err(item, valid_types[0]) if feast_value_type == ValueType.UNIX_TIMESTAMP_LIST: - int_timestamps_lists = ( - _python_datetime_to_int_timestamp(value) for value in values - ) return [ - # ProtoValue does actually accept `np.int_` but the typing complains. - ProtoValue(unix_timestamp_list_val=Int64List(val=ts)) # type: ignore - for ts in int_timestamps_lists + ( + # ProtoValue does actually accept `np.int_` but the typing complains. + ProtoValue( + unix_timestamp_list_val=Int64List( + val=_python_datetime_to_int_timestamp(value) # type: ignore + ) + ) + if value is not None + else ProtoValue() + ) + for value in values ] if feast_value_type == ValueType.BOOL_LIST: # ProtoValue does not support conversion of np.bool_ so we need to convert it to support np.bool_. diff --git a/sdk/python/requirements/py3.10-ci-requirements.txt b/sdk/python/requirements/py3.10-ci-requirements.txt index 95dc40e001..3fbebc300d 100644 --- a/sdk/python/requirements/py3.10-ci-requirements.txt +++ b/sdk/python/requirements/py3.10-ci-requirements.txt @@ -1,7 +1,7 @@ # This file was autogenerated by uv via the following command: # uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.10-ci-requirements.txt aiobotocore==2.13.1 - # via feast (setup.py) + # via eg-feast (setup.py) aiohttp==3.9.5 # via aiobotocore aioitertools==0.11.0 @@ -31,7 +31,7 @@ arrow==1.3.0 asn1crypto==1.5.1 # via snowflake-connector-python assertpy==1.1 - # via feast (setup.py) + # via eg-feast (setup.py) asttokens==2.4.1 # via stack-data async-lru==2.0.4 @@ -52,22 +52,24 @@ azure-core==1.30.2 # azure-identity # azure-storage-blob azure-identity==1.17.1 - # via feast (setup.py) + # via eg-feast (setup.py) azure-storage-blob==12.20.0 - # via feast (setup.py) + # via eg-feast (setup.py) babel==2.15.0 # via # jupyterlab-server # sphinx beautifulsoup4==4.12.3 # via nbconvert -bidict==0.23.1 - # via ibis-framework +bidict==0.22.1 + # via + # eg-feast (setup.py) + # ibis-framework bleach==6.1.0 # via nbconvert boto3==1.34.131 # via - # feast (setup.py) + # eg-feast (setup.py) # moto botocore==1.34.131 # via @@ -77,7 +79,7 @@ botocore==1.34.131 # s3transfer build==1.2.1 # via - # feast (setup.py) + # eg-feast (setup.py) # pip-tools # singlestoredb cachecontrol==0.14.0 @@ -85,7 +87,7 @@ cachecontrol==0.14.0 cachetools==5.3.3 # via google-auth cassandra-driver==3.29.1 - # via feast (setup.py) + # via eg-feast (setup.py) certifi==2024.7.4 # via # elastic-transport @@ -108,7 +110,7 @@ charset-normalizer==3.3.2 # snowflake-connector-python click==8.1.7 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # geomet # great-expectations @@ -119,7 +121,7 @@ cloudpickle==3.0.0 # via dask colorama==0.4.6 # via - # feast (setup.py) + # eg-feast (setup.py) # great-expectations comm==0.2.2 # via @@ -129,7 +131,7 @@ coverage[toml]==7.5.4 # via pytest-cov cryptography==42.0.8 # via - # feast (setup.py) + # eg-feast (setup.py) # azure-identity # azure-storage-blob # great-expectations @@ -142,7 +144,7 @@ cryptography==42.0.8 # types-redis dask[dataframe]==2024.6.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr dask-expr==1.1.6 # via dask @@ -155,9 +157,9 @@ decorator==5.1.1 defusedxml==0.7.1 # via nbconvert deltalake==0.18.1 - # via feast (setup.py) + # via eg-feast (setup.py) dill==0.3.8 - # via feast (setup.py) + # via eg-feast (setup.py) distlib==0.3.8 # via virtualenv dnspython==2.6.1 @@ -171,7 +173,7 @@ duckdb==0.10.3 elastic-transport==8.13.1 # via elasticsearch elasticsearch==8.14.0 - # via feast (setup.py) + # via eg-feast (setup.py) email-validator==2.2.0 # via fastapi entrypoints==0.4 @@ -188,7 +190,7 @@ execnet==2.1.1 executing==2.0.1 # via stack-data fastapi==0.111.0 - # via feast (setup.py) + # via eg-feast (setup.py) fastapi-cli==0.0.4 # via fastapi fastjsonschema==2.20.0 @@ -198,7 +200,7 @@ filelock==3.15.4 # snowflake-connector-python # virtualenv firebase-admin==5.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) fqdn==1.5.1 # via jsonschema frozenlist==1.4.1 @@ -207,7 +209,7 @@ frozenlist==1.4.1 # aiosignal fsspec==2023.12.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask geojson==2.5.0 # via rockset @@ -215,7 +217,7 @@ geomet==0.2.1.post1 # via cassandra-driver google-api-core[grpc]==2.19.1 # via - # feast (setup.py) + # eg-feast (setup.py) # firebase-admin # google-api-python-client # google-cloud-bigquery @@ -240,11 +242,11 @@ google-auth==2.30.0 google-auth-httplib2==0.2.0 # via google-api-python-client google-cloud-bigquery[pandas]==3.13.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-bigquery-storage==2.25.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-bigtable==2.24.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-core==2.4.1 # via # google-cloud-bigquery @@ -253,12 +255,12 @@ google-cloud-core==2.4.1 # google-cloud-firestore # google-cloud-storage google-cloud-datastore==2.19.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-firestore==2.16.0 # via firebase-admin google-cloud-storage==2.17.0 # via - # feast (setup.py) + # eg-feast (setup.py) # firebase-admin google-crc32c==1.5.0 # via @@ -270,17 +272,17 @@ google-resumable-media==2.7.1 # google-cloud-storage googleapis-common-protos[grpc]==1.63.2 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # grpc-google-iam-v1 # grpcio-status great-expectations==0.18.16 - # via feast (setup.py) + # via eg-feast (setup.py) grpc-google-iam-v1==0.13.1 # via google-cloud-bigtable -grpcio==1.64.1 +grpcio==1.63.0 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # google-cloud-bigquery # googleapis-common-protos @@ -290,28 +292,29 @@ grpcio==1.64.1 # grpcio-status # grpcio-testing # grpcio-tools + # pymilvus grpcio-health-checking==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-reflection==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-status==1.62.2 # via google-api-core grpcio-testing==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-tools==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) gunicorn==22.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) h11==0.14.0 # via # httpcore # uvicorn happybase==1.2.0 - # via feast (setup.py) + # via eg-feast (setup.py) hazelcast-python-client==5.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) hiredis==2.3.2 - # via feast (setup.py) + # via eg-feast (setup.py) httpcore==1.0.5 # via httpx httplib2==0.22.0 @@ -322,15 +325,15 @@ httptools==0.6.1 # via uvicorn httpx==0.27.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # jupyterlab ibis-framework[duckdb]==9.1.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ibis-substrait ibis-substrait==4.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) identify==2.5.36 # via pre-commit idna==3.7 @@ -365,7 +368,7 @@ jedi==0.19.1 # via ipython jinja2==3.1.4 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # fastapi # great-expectations @@ -389,7 +392,7 @@ jsonpointer==3.0.0 # jsonschema jsonschema[format-nongpl]==4.22.0 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # great-expectations # jupyter-events @@ -435,7 +438,7 @@ jupyterlab-server==2.27.2 jupyterlab-widgets==3.0.11 # via ipywidgets kubernetes==20.13.0 - # via feast (setup.py) + # via eg-feast (setup.py) locket==1.0.0 # via partd makefun==1.15.2 @@ -448,27 +451,29 @@ markupsafe==2.1.5 # nbconvert # werkzeug marshmallow==3.21.3 - # via great-expectations + # via + # environs + # great-expectations matplotlib-inline==0.1.7 # via # ipykernel # ipython -milvus==2.2.12 - # via eg-feast (setup.py) mdurl==0.1.2 # via markdown-it-py +milvus-lite==2.4.8 + # via pymilvus minio==7.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mistune==3.0.2 # via # great-expectations # nbconvert mmh3==4.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mock==2.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) moto==4.2.14 - # via feast (setup.py) + # via eg-feast (setup.py) msal==1.29.0 # via # azure-identity @@ -483,12 +488,12 @@ multidict==6.0.5 # yarl mypy==1.10.1 # via - # feast (setup.py) + # eg-feast (setup.py) # sqlalchemy mypy-extensions==1.0.0 # via mypy mypy-protobuf==3.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) nbclient==0.10.0 # via nbconvert nbconvert==7.16.4 @@ -511,7 +516,7 @@ notebook-shim==0.2.4 # notebook numpy==1.26.4 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # dask # db-dtypes @@ -546,7 +551,7 @@ packaging==24.1 # sphinx pandas==2.2.2 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # dask # dask-expr @@ -554,7 +559,6 @@ pandas==2.2.2 # google-cloud-bigquery # great-expectations # ibis-framework - # pandavro # pymilvus # snowflake-connector-python pandocfilters==1.5.1 @@ -574,7 +578,7 @@ pexpect==4.9.0 pip==24.1.1 # via pip-tools pip-tools==7.4.1 - # via feast (setup.py) + # via eg-feast (setup.py) platformdirs==3.11.0 # via # jupyter-core @@ -587,7 +591,7 @@ ply==3.11 portalocker==2.10.0 # via msal-extensions pre-commit==3.3.1 - # via feast (setup.py) + # via eg-feast (setup.py) prometheus-client==0.20.0 # via jupyter-server prompt-toolkit==3.0.47 @@ -602,7 +606,7 @@ proto-plus==1.24.0 # google-cloud-firestore protobuf==4.25.3 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # google-cloud-bigquery # google-cloud-bigquery-storage @@ -618,14 +622,14 @@ protobuf==4.25.3 # grpcio-tools # mypy-protobuf # proto-plus - # substrait # pymilvus + # substrait psutil==5.9.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ipykernel psycopg[binary, pool]==3.1.19 - # via feast (setup.py) + # via eg-feast (setup.py) psycopg-binary==3.1.19 # via psycopg psycopg-pool==3.2.2 @@ -637,14 +641,14 @@ ptyprocess==0.7.0 pure-eval==0.2.2 # via stack-data py==1.11.0 - # via feast (setup.py) + # via eg-feast (setup.py) py-cpuinfo==9.0.0 # via pytest-benchmark py4j==0.10.9.7 # via pyspark pyarrow==15.0.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr # db-dtypes # deltalake @@ -662,19 +666,19 @@ pyasn1==0.6.0 pyasn1-modules==0.4.0 # via google-auth pybindgen==0.22.1 - # via feast (setup.py) + # via eg-feast (setup.py) pycparser==2.22 # via cffi pydantic==2.7.4 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # great-expectations pydantic-core==2.18.4 # via pydantic pygments==2.18.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ipython # nbconvert # rich @@ -684,14 +688,14 @@ pyjwt[crypto]==2.8.0 # msal # singlestoredb # snowflake-connector-python -pymilvus==2.3.7 +pymilvus==2.4.4 # via eg-feast (setup.py) pymssql==2.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) pymysql==1.1.1 - # via feast (setup.py) + # via eg-feast (setup.py) pyodbc==5.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) pyopenssl==24.1.0 # via snowflake-connector-python pyparsing==3.1.2 @@ -703,10 +707,10 @@ pyproject-hooks==1.1.0 # build # pip-tools pyspark==3.5.1 - # via feast (setup.py) + # via eg-feast (setup.py) pytest==7.4.4 # via - # feast (setup.py) + # eg-feast (setup.py) # pytest-benchmark # pytest-cov # pytest-env @@ -716,21 +720,21 @@ pytest==7.4.4 # pytest-timeout # pytest-xdist pytest-benchmark==3.4.1 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-cov==5.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-env==1.1.3 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-lazy-fixture==0.6.3 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-mock==1.10.4 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-ordering==0.6 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-timeout==1.4.2 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-xdist==3.6.1 - # via feast (setup.py) + # via eg-feast (setup.py) python-dateutil==2.9.0.post0 # via # arrow @@ -745,7 +749,9 @@ python-dateutil==2.9.0.post0 # rockset # trino python-dotenv==1.0.1 - # via uvicorn + # via + # environs + # uvicorn python-json-logger==2.0.7 # via jupyter-events python-multipart==0.0.9 @@ -759,7 +765,7 @@ pytz==2024.1 # trino pyyaml==6.0.1 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # ibis-substrait # jupyter-events @@ -773,7 +779,7 @@ pyzmq==26.0.3 # jupyter-client # jupyter-server redis==4.6.0 - # via feast (setup.py) + # via eg-feast (setup.py) referencing==0.35.1 # via # jsonschema @@ -781,11 +787,11 @@ referencing==0.35.1 # jupyter-events regex==2024.5.15 # via - # feast (setup.py) + # eg-feast (setup.py) # parsimonious requests==2.32.3 # via - # feast (setup.py) + # eg-feast (setup.py) # azure-core # cachecontrol # docker @@ -820,7 +826,7 @@ rich==13.7.1 # ibis-framework # typer rockset==2.1.2 - # via feast (setup.py) + # via eg-feast (setup.py) rpds-py==0.18.1 # via # jsonschema @@ -830,7 +836,7 @@ rsa==4.9 ruamel-yaml==0.17.17 # via great-expectations ruff==0.4.10 - # via feast (setup.py) + # via eg-feast (setup.py) s3transfer==0.10.2 # via boto3 scipy==1.14.0 @@ -843,11 +849,12 @@ setuptools==70.1.1 # jupyterlab # kubernetes # pip-tools + # pymilvus # singlestoredb shellingham==1.5.4 # via typer singlestoredb==1.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) six==1.16.0 # via # asttokens @@ -868,13 +875,13 @@ sniffio==1.3.1 snowballstemmer==2.2.0 # via sphinx snowflake-connector-python[pandas]==3.11.0 - # via feast (setup.py) + # via eg-feast (setup.py) sortedcontainers==2.4.0 # via snowflake-connector-python soupsieve==2.5 # via beautifulsoup4 sphinx==6.2.1 - # via feast (setup.py) + # via eg-feast (setup.py) sphinxcontrib-applehelp==1.0.8 # via sphinx sphinxcontrib-devhelp==1.0.6 @@ -888,11 +895,11 @@ sphinxcontrib-qthelp==1.0.7 sphinxcontrib-serializinghtml==1.1.10 # via sphinx sqlalchemy[mypy]==2.0.31 - # via feast (setup.py) + # via eg-feast (setup.py) sqlglot==25.1.0 # via ibis-framework sqlite-vec==0.0.1a10 - # via feast (setup.py) + # via eg-feast (setup.py) sqlparams==6.0.1 # via singlestoredb stack-data==0.6.3 @@ -902,21 +909,21 @@ starlette==0.37.2 substrait==0.19.0 # via ibis-substrait tabulate==0.9.0 - # via feast (setup.py) + # via eg-feast (setup.py) tenacity==8.4.2 - # via feast (setup.py) + # via eg-feast (setup.py) terminado==0.18.1 # via # jupyter-server # jupyter-server-terminals testcontainers==4.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) thriftpy2==0.5.1 # via happybase tinycss2==1.3.0 # via nbconvert toml==0.10.2 - # via feast (setup.py) + # via eg-feast (setup.py) tomli==2.0.1 # via # build @@ -945,8 +952,9 @@ tornado==6.4.1 # terminado tqdm==4.66.4 # via - # feast (setup.py) + # eg-feast (setup.py) # great-expectations + # milvus-lite traitlets==5.14.3 # via # comm @@ -963,39 +971,39 @@ traitlets==5.14.3 # nbconvert # nbformat trino==0.328.0 - # via feast (setup.py) + # via eg-feast (setup.py) typeguard==4.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) typer==0.12.3 # via fastapi-cli types-cffi==1.16.0.20240331 # via types-pyopenssl types-protobuf==3.19.22 # via - # feast (setup.py) + # eg-feast (setup.py) # mypy-protobuf types-pymysql==1.1.0.20240524 - # via feast (setup.py) + # via eg-feast (setup.py) types-pyopenssl==24.1.0.20240425 # via types-redis types-python-dateutil==2.9.0.20240316 # via - # feast (setup.py) + # eg-feast (setup.py) # arrow types-pytz==2024.1.0.20240417 - # via feast (setup.py) + # via eg-feast (setup.py) types-pyyaml==6.0.12.20240311 - # via feast (setup.py) + # via eg-feast (setup.py) types-redis==4.6.0.20240425 - # via feast (setup.py) + # via eg-feast (setup.py) types-requests==2.30.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) types-setuptools==70.1.0.20240627 # via - # feast (setup.py) + # eg-feast (setup.py) # types-cffi types-tabulate==0.9.0.20240106 - # via feast (setup.py) + # via eg-feast (setup.py) types-urllib3==1.26.25.14 # via types-requests typing-extensions==4.12.2 @@ -1027,15 +1035,16 @@ tzlocal==5.2 # great-expectations # trino ujson==5.10.0 - # via pymilvus - # via fastapi + # via + # fastapi + # pymilvus uri-template==1.3.0 # via jsonschema uritemplate==4.1.1 # via google-api-python-client urllib3==1.26.19 # via - # feast (setup.py) + # eg-feast (setup.py) # botocore # docker # elastic-transport @@ -1048,13 +1057,13 @@ urllib3==1.26.19 # testcontainers uvicorn[standard]==0.30.1 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi uvloop==0.19.0 # via uvicorn virtualenv==20.23.0 # via - # feast (setup.py) + # eg-feast (setup.py) # pre-commit watchfiles==0.22.0 # via uvicorn @@ -1089,4 +1098,4 @@ xmltodict==0.13.0 yarl==1.9.4 # via aiohttp zipp==3.19.1 - # via importlib-metadata \ No newline at end of file + # via importlib-metadata diff --git a/sdk/python/requirements/py3.10-requirements.txt b/sdk/python/requirements/py3.10-requirements.txt index b2f80a7ff3..b6e54f1e12 100644 --- a/sdk/python/requirements/py3.10-requirements.txt +++ b/sdk/python/requirements/py3.10-requirements.txt @@ -20,42 +20,38 @@ charset-normalizer==3.3.2 # via requests click==8.1.7 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # typer # uvicorn cloudpickle==3.0.0 # via dask colorama==0.4.6 - # via feast (setup.py) + # via eg-feast (setup.py) dask[dataframe]==2024.5.0 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr dask-expr==1.1.0 # via dask dill==0.3.8 - # via feast (setup.py) + # via eg-feast (setup.py) dnspython==2.6.1 # via email-validator email-validator==2.1.1 # via fastapi -entrypoints==0.4 - # via altair -environs==9.5.0 - # via pymilvus exceptiongroup==1.2.1 # via anyio fastapi==0.111.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi-cli fastapi-cli==0.0.2 # via fastapi fsspec==2024.3.1 # via dask gunicorn==22.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) h11==0.14.0 # via # httpcore @@ -76,10 +72,10 @@ importlib-metadata==7.1.0 # via dask jinja2==3.1.4 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi jsonschema==4.22.0 - # via feast (setup.py) + # via eg-feast (setup.py) jsonschema-specifications==2023.12.1 # via jsonschema locket==1.0.0 @@ -87,31 +83,20 @@ locket==1.0.0 markdown-it-py==3.0.0 # via rich markupsafe==2.1.5 - # via - # jinja2 - # nbconvert - # werkzeug -marshmallow==3.21.2 - # via great-expectations -matplotlib-inline==0.1.7 - # via - # ipykernel - # ipython -milvus==2.2.12 - # via eg-feast (setup.py) + # via jinja2 mdurl==0.1.2 # via markdown-it-py mmh3==4.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mypy==1.10.0 # via sqlalchemy mypy-extensions==1.0.0 # via mypy mypy-protobuf==3.6.0 - # via feast (setup.py) + # via eg-feast (setup.py) numpy==1.26.4 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # pandas # pyarrow @@ -123,31 +108,29 @@ packaging==24.0 # gunicorn pandas==2.2.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # dask-expr partd==1.4.2 # via dask protobuf==4.25.3 # via - # feast (setup.py) + # eg-feast (setup.py) # mypy-protobuf pyarrow==16.0.0 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr pydantic==2.7.1 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi pydantic-core==2.18.2 # via pydantic pygments==2.18.0 # via - # feast (setup.py) + # eg-feast (setup.py) # rich -pymilvus==2.3.7 - # via eg-feast (setup.py) python-dateutil==2.9.0.post0 # via pandas python-dotenv==1.0.1 @@ -158,7 +141,7 @@ pytz==2024.1 # via pandas pyyaml==6.0.1 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # uvicorn referencing==0.35.1 @@ -166,7 +149,7 @@ referencing==0.35.1 # jsonschema # jsonschema-specifications requests==2.31.0 - # via feast (setup.py) + # via eg-feast (setup.py) rich==13.7.1 # via typer rpds-py==0.18.1 @@ -182,15 +165,15 @@ sniffio==1.3.1 # anyio # httpx sqlalchemy[mypy]==2.0.30 - # via feast (setup.py) + # via eg-feast (setup.py) starlette==0.37.2 # via fastapi tabulate==0.9.0 - # via feast (setup.py) + # via eg-feast (setup.py) tenacity==8.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) toml==0.10.2 - # via feast (setup.py) + # via eg-feast (setup.py) tomli==2.0.1 # via mypy toolz==0.12.1 @@ -198,9 +181,9 @@ toolz==0.12.1 # dask # partd tqdm==4.66.4 - # via feast (setup.py) + # via eg-feast (setup.py) typeguard==4.2.1 - # via feast (setup.py) + # via eg-feast (setup.py) typer==0.12.3 # via fastapi-cli types-protobuf==5.26.0.20240422 @@ -224,7 +207,7 @@ urllib3==2.2.1 # via requests uvicorn[standard]==0.29.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # fastapi-cli uvloop==0.19.0 diff --git a/sdk/python/requirements/py3.11-ci-requirements.txt b/sdk/python/requirements/py3.11-ci-requirements.txt index 2f1b84a371..40f2290dee 100644 --- a/sdk/python/requirements/py3.11-ci-requirements.txt +++ b/sdk/python/requirements/py3.11-ci-requirements.txt @@ -1,7 +1,7 @@ # This file was autogenerated by uv via the following command: # uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.11-ci-requirements.txt aiobotocore==2.13.1 - # via feast (setup.py) + # via eg-feast (setup.py) aiohttp==3.9.5 # via aiobotocore aioitertools==0.11.0 @@ -31,7 +31,7 @@ arrow==1.3.0 asn1crypto==1.5.1 # via snowflake-connector-python assertpy==1.1 - # via feast (setup.py) + # via eg-feast (setup.py) asttokens==2.4.1 # via stack-data async-lru==2.0.4 @@ -48,22 +48,24 @@ azure-core==1.30.2 # azure-identity # azure-storage-blob azure-identity==1.17.1 - # via feast (setup.py) + # via eg-feast (setup.py) azure-storage-blob==12.20.0 - # via feast (setup.py) + # via eg-feast (setup.py) babel==2.15.0 # via # jupyterlab-server # sphinx beautifulsoup4==4.12.3 # via nbconvert -bidict==0.23.1 - # via ibis-framework +bidict==0.22.1 + # via + # eg-feast (setup.py) + # ibis-framework bleach==6.1.0 # via nbconvert boto3==1.34.131 # via - # feast (setup.py) + # eg-feast (setup.py) # moto botocore==1.34.131 # via @@ -73,7 +75,7 @@ botocore==1.34.131 # s3transfer build==1.2.1 # via - # feast (setup.py) + # eg-feast (setup.py) # pip-tools # singlestoredb cachecontrol==0.14.0 @@ -81,7 +83,7 @@ cachecontrol==0.14.0 cachetools==5.3.3 # via google-auth cassandra-driver==3.29.1 - # via feast (setup.py) + # via eg-feast (setup.py) certifi==2024.7.4 # via # elastic-transport @@ -104,7 +106,7 @@ charset-normalizer==3.3.2 # snowflake-connector-python click==8.1.7 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # geomet # great-expectations @@ -115,7 +117,7 @@ cloudpickle==3.0.0 # via dask colorama==0.4.6 # via - # feast (setup.py) + # eg-feast (setup.py) # great-expectations comm==0.2.2 # via @@ -125,7 +127,7 @@ coverage[toml]==7.5.4 # via pytest-cov cryptography==42.0.8 # via - # feast (setup.py) + # eg-feast (setup.py) # azure-identity # azure-storage-blob # great-expectations @@ -138,7 +140,7 @@ cryptography==42.0.8 # types-redis dask[dataframe]==2024.6.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr dask-expr==1.1.6 # via dask @@ -151,9 +153,9 @@ decorator==5.1.1 defusedxml==0.7.1 # via nbconvert deltalake==0.18.1 - # via feast (setup.py) + # via eg-feast (setup.py) dill==0.3.8 - # via feast (setup.py) + # via eg-feast (setup.py) distlib==0.3.8 # via virtualenv dnspython==2.6.1 @@ -167,7 +169,7 @@ duckdb==0.10.3 elastic-transport==8.13.1 # via elasticsearch elasticsearch==8.14.0 - # via feast (setup.py) + # via eg-feast (setup.py) email-validator==2.2.0 # via fastapi entrypoints==0.4 @@ -179,7 +181,7 @@ execnet==2.1.1 executing==2.0.1 # via stack-data fastapi==0.111.0 - # via feast (setup.py) + # via eg-feast (setup.py) fastapi-cli==0.0.4 # via fastapi fastjsonschema==2.20.0 @@ -189,7 +191,7 @@ filelock==3.15.4 # snowflake-connector-python # virtualenv firebase-admin==5.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) fqdn==1.5.1 # via jsonschema frozenlist==1.4.1 @@ -198,7 +200,7 @@ frozenlist==1.4.1 # aiosignal fsspec==2023.12.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask geojson==2.5.0 # via rockset @@ -206,7 +208,7 @@ geomet==0.2.1.post1 # via cassandra-driver google-api-core[grpc]==2.19.1 # via - # feast (setup.py) + # eg-feast (setup.py) # firebase-admin # google-api-python-client # google-cloud-bigquery @@ -231,11 +233,11 @@ google-auth==2.30.0 google-auth-httplib2==0.2.0 # via google-api-python-client google-cloud-bigquery[pandas]==3.13.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-bigquery-storage==2.25.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-bigtable==2.24.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-core==2.4.1 # via # google-cloud-bigquery @@ -244,12 +246,12 @@ google-cloud-core==2.4.1 # google-cloud-firestore # google-cloud-storage google-cloud-datastore==2.19.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-firestore==2.16.0 # via firebase-admin google-cloud-storage==2.17.0 # via - # feast (setup.py) + # eg-feast (setup.py) # firebase-admin google-crc32c==1.5.0 # via @@ -261,17 +263,17 @@ google-resumable-media==2.7.1 # google-cloud-storage googleapis-common-protos[grpc]==1.63.2 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # grpc-google-iam-v1 # grpcio-status great-expectations==0.18.16 - # via feast (setup.py) + # via eg-feast (setup.py) grpc-google-iam-v1==0.13.1 # via google-cloud-bigtable -grpcio==1.64.1 +grpcio==1.63.0 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # google-cloud-bigquery # googleapis-common-protos @@ -281,28 +283,29 @@ grpcio==1.64.1 # grpcio-status # grpcio-testing # grpcio-tools + # pymilvus grpcio-health-checking==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-reflection==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-status==1.62.2 # via google-api-core grpcio-testing==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-tools==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) gunicorn==22.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) h11==0.14.0 # via # httpcore # uvicorn happybase==1.2.0 - # via feast (setup.py) + # via eg-feast (setup.py) hazelcast-python-client==5.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) hiredis==2.3.2 - # via feast (setup.py) + # via eg-feast (setup.py) httpcore==1.0.5 # via httpx httplib2==0.22.0 @@ -313,15 +316,15 @@ httptools==0.6.1 # via uvicorn httpx==0.27.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # jupyterlab ibis-framework[duckdb]==9.1.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ibis-substrait ibis-substrait==4.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) identify==2.5.36 # via pre-commit idna==3.7 @@ -356,7 +359,7 @@ jedi==0.19.1 # via ipython jinja2==3.1.4 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # fastapi # great-expectations @@ -380,7 +383,7 @@ jsonpointer==3.0.0 # jsonschema jsonschema[format-nongpl]==4.22.0 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # great-expectations # jupyter-events @@ -426,7 +429,7 @@ jupyterlab-server==2.27.2 jupyterlab-widgets==3.0.11 # via ipywidgets kubernetes==20.13.0 - # via feast (setup.py) + # via eg-feast (setup.py) locket==1.0.0 # via partd makefun==1.15.2 @@ -439,27 +442,29 @@ markupsafe==2.1.5 # nbconvert # werkzeug marshmallow==3.21.3 - # via great-expectations + # via + # environs + # great-expectations matplotlib-inline==0.1.7 # via # ipykernel # ipython mdurl==0.1.2 # via markdown-it-py -milvus==2.2.12 - # via eg-feast (setup.py) +milvus-lite==2.4.8 + # via pymilvus minio==7.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mistune==3.0.2 # via # great-expectations # nbconvert mmh3==4.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mock==2.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) moto==4.2.14 - # via feast (setup.py) + # via eg-feast (setup.py) msal==1.29.0 # via # azure-identity @@ -474,12 +479,12 @@ multidict==6.0.5 # yarl mypy==1.10.1 # via - # feast (setup.py) + # eg-feast (setup.py) # sqlalchemy mypy-extensions==1.0.0 # via mypy mypy-protobuf==3.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) nbclient==0.10.0 # via nbconvert nbconvert==7.16.4 @@ -502,7 +507,7 @@ notebook-shim==0.2.4 # notebook numpy==1.26.4 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # dask # db-dtypes @@ -510,7 +515,6 @@ numpy==1.26.4 # ibis-framework # pandas # pyarrow - # pymilvus # scipy oauthlib==3.2.2 # via requests-oauthlib @@ -538,16 +542,15 @@ packaging==24.1 # sphinx pandas==2.2.2 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # dask # dask-expr # db-dtypes # google-cloud-bigquery # great-expectations - # pandavro - # pymilvus # ibis-framework + # pymilvus # snowflake-connector-python pandocfilters==1.5.1 # via nbconvert @@ -566,7 +569,7 @@ pexpect==4.9.0 pip==24.1.1 # via pip-tools pip-tools==7.4.1 - # via feast (setup.py) + # via eg-feast (setup.py) platformdirs==3.11.0 # via # jupyter-core @@ -579,7 +582,7 @@ ply==3.11 portalocker==2.10.0 # via msal-extensions pre-commit==3.3.1 - # via feast (setup.py) + # via eg-feast (setup.py) prometheus-client==0.20.0 # via jupyter-server prompt-toolkit==3.0.47 @@ -594,7 +597,7 @@ proto-plus==1.24.0 # google-cloud-firestore protobuf==4.25.3 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # google-cloud-bigquery # google-cloud-bigquery-storage @@ -610,14 +613,14 @@ protobuf==4.25.3 # grpcio-tools # mypy-protobuf # proto-plus - # substrait # pymilvus + # substrait psutil==5.9.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ipykernel psycopg[binary, pool]==3.1.19 - # via feast (setup.py) + # via eg-feast (setup.py) psycopg-binary==3.1.19 # via psycopg psycopg-pool==3.2.2 @@ -629,14 +632,14 @@ ptyprocess==0.7.0 pure-eval==0.2.2 # via stack-data py==1.11.0 - # via feast (setup.py) + # via eg-feast (setup.py) py-cpuinfo==9.0.0 # via pytest-benchmark py4j==0.10.9.7 # via pyspark pyarrow==15.0.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr # db-dtypes # deltalake @@ -654,19 +657,19 @@ pyasn1==0.6.0 pyasn1-modules==0.4.0 # via google-auth pybindgen==0.22.1 - # via feast (setup.py) + # via eg-feast (setup.py) pycparser==2.22 # via cffi pydantic==2.7.4 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # great-expectations pydantic-core==2.18.4 # via pydantic pygments==2.18.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ipython # nbconvert # rich @@ -676,14 +679,14 @@ pyjwt[crypto]==2.8.0 # msal # singlestoredb # snowflake-connector-python -pymilvus==2.3.7 +pymilvus==2.4.4 # via eg-feast (setup.py) pymssql==2.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) pymysql==1.1.1 - # via feast (setup.py) + # via eg-feast (setup.py) pyodbc==5.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) pyopenssl==24.1.0 # via snowflake-connector-python pyparsing==3.1.2 @@ -695,10 +698,10 @@ pyproject-hooks==1.1.0 # build # pip-tools pyspark==3.5.1 - # via feast (setup.py) + # via eg-feast (setup.py) pytest==7.4.4 # via - # feast (setup.py) + # eg-feast (setup.py) # pytest-benchmark # pytest-cov # pytest-env @@ -708,21 +711,21 @@ pytest==7.4.4 # pytest-timeout # pytest-xdist pytest-benchmark==3.4.1 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-cov==5.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-env==1.1.3 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-lazy-fixture==0.6.3 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-mock==1.10.4 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-ordering==0.6 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-timeout==1.4.2 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-xdist==3.6.1 - # via feast (setup.py) + # via eg-feast (setup.py) python-dateutil==2.9.0.post0 # via # arrow @@ -737,7 +740,9 @@ python-dateutil==2.9.0.post0 # rockset # trino python-dotenv==1.0.1 - # via uvicorn + # via + # environs + # uvicorn python-json-logger==2.0.7 # via jupyter-events python-multipart==0.0.9 @@ -751,7 +756,7 @@ pytz==2024.1 # trino pyyaml==6.0.1 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # ibis-substrait # jupyter-events @@ -765,7 +770,7 @@ pyzmq==26.0.3 # jupyter-client # jupyter-server redis==4.6.0 - # via feast (setup.py) + # via eg-feast (setup.py) referencing==0.35.1 # via # jsonschema @@ -773,11 +778,11 @@ referencing==0.35.1 # jupyter-events regex==2024.5.15 # via - # feast (setup.py) + # eg-feast (setup.py) # parsimonious requests==2.32.3 # via - # feast (setup.py) + # eg-feast (setup.py) # azure-core # cachecontrol # docker @@ -812,7 +817,7 @@ rich==13.7.1 # ibis-framework # typer rockset==2.1.2 - # via feast (setup.py) + # via eg-feast (setup.py) rpds-py==0.18.1 # via # jsonschema @@ -822,7 +827,7 @@ rsa==4.9 ruamel-yaml==0.17.17 # via great-expectations ruff==0.4.10 - # via feast (setup.py) + # via eg-feast (setup.py) s3transfer==0.10.2 # via boto3 scipy==1.14.0 @@ -835,11 +840,12 @@ setuptools==70.1.1 # jupyterlab # kubernetes # pip-tools + # pymilvus # singlestoredb shellingham==1.5.4 # via typer singlestoredb==1.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) six==1.16.0 # via # asttokens @@ -860,13 +866,13 @@ sniffio==1.3.1 snowballstemmer==2.2.0 # via sphinx snowflake-connector-python[pandas]==3.11.0 - # via feast (setup.py) + # via eg-feast (setup.py) sortedcontainers==2.4.0 # via snowflake-connector-python soupsieve==2.5 # via beautifulsoup4 sphinx==6.2.1 - # via feast (setup.py) + # via eg-feast (setup.py) sphinxcontrib-applehelp==1.0.8 # via sphinx sphinxcontrib-devhelp==1.0.6 @@ -880,11 +886,11 @@ sphinxcontrib-qthelp==1.0.7 sphinxcontrib-serializinghtml==1.1.10 # via sphinx sqlalchemy[mypy]==2.0.31 - # via feast (setup.py) + # via eg-feast (setup.py) sqlglot==25.1.0 # via ibis-framework sqlite-vec==0.0.1a10 - # via feast (setup.py) + # via eg-feast (setup.py) sqlparams==6.0.1 # via singlestoredb stack-data==0.6.3 @@ -894,21 +900,21 @@ starlette==0.37.2 substrait==0.19.0 # via ibis-substrait tabulate==0.9.0 - # via feast (setup.py) + # via eg-feast (setup.py) tenacity==8.4.2 - # via feast (setup.py) + # via eg-feast (setup.py) terminado==0.18.1 # via # jupyter-server # jupyter-server-terminals testcontainers==4.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) thriftpy2==0.5.1 # via happybase tinycss2==1.3.0 # via nbconvert toml==0.10.2 - # via feast (setup.py) + # via eg-feast (setup.py) tomlkit==0.12.5 # via snowflake-connector-python toolz==0.12.1 @@ -927,8 +933,9 @@ tornado==6.4.1 # terminado tqdm==4.66.4 # via - # feast (setup.py) + # eg-feast (setup.py) # great-expectations + # milvus-lite traitlets==5.14.3 # via # comm @@ -945,39 +952,39 @@ traitlets==5.14.3 # nbconvert # nbformat trino==0.328.0 - # via feast (setup.py) + # via eg-feast (setup.py) typeguard==4.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) typer==0.12.3 # via fastapi-cli types-cffi==1.16.0.20240331 # via types-pyopenssl types-protobuf==3.19.22 # via - # feast (setup.py) + # eg-feast (setup.py) # mypy-protobuf types-pymysql==1.1.0.20240524 - # via feast (setup.py) + # via eg-feast (setup.py) types-pyopenssl==24.1.0.20240425 # via types-redis types-python-dateutil==2.9.0.20240316 # via - # feast (setup.py) + # eg-feast (setup.py) # arrow types-pytz==2024.1.0.20240417 - # via feast (setup.py) + # via eg-feast (setup.py) types-pyyaml==6.0.12.20240311 - # via feast (setup.py) + # via eg-feast (setup.py) types-redis==4.6.0.20240425 - # via feast (setup.py) + # via eg-feast (setup.py) types-requests==2.30.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) types-setuptools==70.1.0.20240627 # via - # feast (setup.py) + # eg-feast (setup.py) # types-cffi types-tabulate==0.9.0.20240106 - # via feast (setup.py) + # via eg-feast (setup.py) types-urllib3==1.26.25.14 # via types-requests typing-extensions==4.12.2 @@ -1006,15 +1013,16 @@ tzlocal==5.2 # great-expectations # trino ujson==5.10.0 - # via fastapi - # via pymilvus + # via + # fastapi + # pymilvus uri-template==1.3.0 # via jsonschema uritemplate==4.1.1 # via google-api-python-client urllib3==1.26.19 # via - # feast (setup.py) + # eg-feast (setup.py) # botocore # docker # elastic-transport @@ -1027,13 +1035,13 @@ urllib3==1.26.19 # testcontainers uvicorn[standard]==0.30.1 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi uvloop==0.19.0 # via uvicorn virtualenv==20.23.0 # via - # feast (setup.py) + # eg-feast (setup.py) # pre-commit watchfiles==0.22.0 # via uvicorn diff --git a/sdk/python/requirements/py3.11-requirements.txt b/sdk/python/requirements/py3.11-requirements.txt index 44e658113a..c1842f0caa 100644 --- a/sdk/python/requirements/py3.11-requirements.txt +++ b/sdk/python/requirements/py3.11-requirements.txt @@ -20,36 +20,36 @@ charset-normalizer==3.3.2 # via requests click==8.1.7 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # typer # uvicorn cloudpickle==3.0.0 # via dask colorama==0.4.6 - # via feast (setup.py) + # via eg-feast (setup.py) dask[dataframe]==2024.5.0 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr dask-expr==1.1.0 # via dask dill==0.3.8 - # via feast (setup.py) + # via eg-feast (setup.py) dnspython==2.6.1 # via email-validator email-validator==2.1.1 # via fastapi fastapi==0.111.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi-cli fastapi-cli==0.0.2 # via fastapi fsspec==2024.3.1 # via dask gunicorn==22.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) h11==0.14.0 # via # httpcore @@ -70,10 +70,10 @@ importlib-metadata==7.1.0 # via dask jinja2==3.1.4 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi jsonschema==4.22.0 - # via feast (setup.py) + # via eg-feast (setup.py) jsonschema-specifications==2023.12.1 # via jsonschema locket==1.0.0 @@ -85,16 +85,16 @@ markupsafe==2.1.5 mdurl==0.1.2 # via markdown-it-py mmh3==4.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mypy==1.10.0 # via sqlalchemy mypy-extensions==1.0.0 # via mypy mypy-protobuf==3.6.0 - # via feast (setup.py) + # via eg-feast (setup.py) numpy==1.26.4 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # pandas # pyarrow @@ -106,28 +106,28 @@ packaging==24.0 # gunicorn pandas==2.2.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # dask-expr partd==1.4.2 # via dask protobuf==4.25.3 # via - # feast (setup.py) + # eg-feast (setup.py) # mypy-protobuf pyarrow==16.0.0 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr pydantic==2.7.1 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi pydantic-core==2.18.2 # via pydantic pygments==2.18.0 # via - # feast (setup.py) + # eg-feast (setup.py) # rich python-dateutil==2.9.0.post0 # via pandas @@ -139,7 +139,7 @@ pytz==2024.1 # via pandas pyyaml==6.0.1 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # uvicorn referencing==0.35.1 @@ -147,7 +147,7 @@ referencing==0.35.1 # jsonschema # jsonschema-specifications requests==2.31.0 - # via feast (setup.py) + # via eg-feast (setup.py) rich==13.7.1 # via typer rpds-py==0.18.1 @@ -163,23 +163,23 @@ sniffio==1.3.1 # anyio # httpx sqlalchemy[mypy]==2.0.30 - # via feast (setup.py) + # via eg-feast (setup.py) starlette==0.37.2 # via fastapi tabulate==0.9.0 - # via feast (setup.py) + # via eg-feast (setup.py) tenacity==8.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) toml==0.10.2 - # via feast (setup.py) + # via eg-feast (setup.py) toolz==0.12.1 # via # dask # partd tqdm==4.66.4 - # via feast (setup.py) + # via eg-feast (setup.py) typeguard==4.2.1 - # via feast (setup.py) + # via eg-feast (setup.py) typer==0.12.3 # via fastapi-cli types-protobuf==5.26.0.20240422 @@ -201,7 +201,7 @@ urllib3==2.2.1 # via requests uvicorn[standard]==0.29.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # fastapi-cli uvloop==0.19.0 diff --git a/sdk/python/requirements/py3.9-ci-requirements.txt b/sdk/python/requirements/py3.9-ci-requirements.txt index 282d6c7277..10a5d771ac 100644 --- a/sdk/python/requirements/py3.9-ci-requirements.txt +++ b/sdk/python/requirements/py3.9-ci-requirements.txt @@ -1,7 +1,7 @@ # This file was autogenerated by uv via the following command: # uv pip compile --system --no-strip-extras setup.py --extra ci --output-file sdk/python/requirements/py3.9-ci-requirements.txt aiobotocore==2.13.1 - # via feast (setup.py) + # via eg-feast (setup.py) aiohttp==3.9.5 # via aiobotocore aioitertools==0.11.0 @@ -31,7 +31,7 @@ arrow==1.3.0 asn1crypto==1.5.1 # via snowflake-connector-python assertpy==1.1 - # via feast (setup.py) + # via eg-feast (setup.py) asttokens==2.4.1 # via stack-data async-lru==2.0.4 @@ -52,22 +52,24 @@ azure-core==1.30.2 # azure-identity # azure-storage-blob azure-identity==1.17.1 - # via feast (setup.py) + # via eg-feast (setup.py) azure-storage-blob==12.20.0 - # via feast (setup.py) + # via eg-feast (setup.py) babel==2.15.0 # via # jupyterlab-server # sphinx beautifulsoup4==4.12.3 # via nbconvert -bidict==0.23.1 - # via ibis-framework +bidict==0.22.1 + # via + # eg-feast (setup.py) + # ibis-framework bleach==6.1.0 # via nbconvert boto3==1.34.131 # via - # feast (setup.py) + # eg-feast (setup.py) # moto botocore==1.34.131 # via @@ -77,7 +79,7 @@ botocore==1.34.131 # s3transfer build==1.2.1 # via - # feast (setup.py) + # eg-feast (setup.py) # pip-tools # singlestoredb cachecontrol==0.14.0 @@ -85,7 +87,7 @@ cachecontrol==0.14.0 cachetools==5.3.3 # via google-auth cassandra-driver==3.29.1 - # via feast (setup.py) + # via eg-feast (setup.py) certifi==2024.7.4 # via # elastic-transport @@ -108,7 +110,7 @@ charset-normalizer==3.3.2 # snowflake-connector-python click==8.1.7 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # geomet # great-expectations @@ -119,7 +121,7 @@ cloudpickle==3.0.0 # via dask colorama==0.4.6 # via - # feast (setup.py) + # eg-feast (setup.py) # great-expectations comm==0.2.2 # via @@ -129,7 +131,7 @@ coverage[toml]==7.5.4 # via pytest-cov cryptography==42.0.8 # via - # feast (setup.py) + # eg-feast (setup.py) # azure-identity # azure-storage-blob # great-expectations @@ -142,7 +144,7 @@ cryptography==42.0.8 # types-redis dask[dataframe]==2024.6.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr dask-expr==1.1.6 # via dask @@ -155,9 +157,9 @@ decorator==5.1.1 defusedxml==0.7.1 # via nbconvert deltalake==0.18.1 - # via feast (setup.py) + # via eg-feast (setup.py) dill==0.3.8 - # via feast (setup.py) + # via eg-feast (setup.py) distlib==0.3.8 # via virtualenv dnspython==2.6.1 @@ -171,7 +173,7 @@ duckdb==0.10.3 elastic-transport==8.13.1 # via elasticsearch elasticsearch==8.14.0 - # via feast (setup.py) + # via eg-feast (setup.py) email-validator==2.2.0 # via fastapi entrypoints==0.4 @@ -188,7 +190,7 @@ execnet==2.1.1 executing==2.0.1 # via stack-data fastapi==0.111.0 - # via feast (setup.py) + # via eg-feast (setup.py) fastapi-cli==0.0.4 # via fastapi fastjsonschema==2.20.0 @@ -198,7 +200,7 @@ filelock==3.15.4 # snowflake-connector-python # virtualenv firebase-admin==5.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) fqdn==1.5.1 # via jsonschema frozenlist==1.4.1 @@ -207,7 +209,7 @@ frozenlist==1.4.1 # aiosignal fsspec==2023.12.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask geojson==2.5.0 # via rockset @@ -215,7 +217,7 @@ geomet==0.2.1.post1 # via cassandra-driver google-api-core[grpc]==2.19.1 # via - # feast (setup.py) + # eg-feast (setup.py) # firebase-admin # google-api-python-client # google-cloud-bigquery @@ -240,11 +242,11 @@ google-auth==2.30.0 google-auth-httplib2==0.2.0 # via google-api-python-client google-cloud-bigquery[pandas]==3.13.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-bigquery-storage==2.25.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-bigtable==2.24.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-core==2.4.1 # via # google-cloud-bigquery @@ -253,12 +255,12 @@ google-cloud-core==2.4.1 # google-cloud-firestore # google-cloud-storage google-cloud-datastore==2.19.0 - # via feast (setup.py) + # via eg-feast (setup.py) google-cloud-firestore==2.16.0 # via firebase-admin google-cloud-storage==2.17.0 # via - # feast (setup.py) + # eg-feast (setup.py) # firebase-admin google-crc32c==1.5.0 # via @@ -270,17 +272,17 @@ google-resumable-media==2.7.1 # google-cloud-storage googleapis-common-protos[grpc]==1.63.2 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # grpc-google-iam-v1 # grpcio-status great-expectations==0.18.16 - # via feast (setup.py) + # via eg-feast (setup.py) grpc-google-iam-v1==0.13.1 # via google-cloud-bigtable -grpcio==1.64.1 +grpcio==1.63.0 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # google-cloud-bigquery # googleapis-common-protos @@ -290,28 +292,29 @@ grpcio==1.64.1 # grpcio-status # grpcio-testing # grpcio-tools + # pymilvus grpcio-health-checking==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-reflection==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-status==1.62.2 # via google-api-core grpcio-testing==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) grpcio-tools==1.62.2 - # via feast (setup.py) + # via eg-feast (setup.py) gunicorn==22.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) h11==0.14.0 # via # httpcore # uvicorn happybase==1.2.0 - # via feast (setup.py) + # via eg-feast (setup.py) hazelcast-python-client==5.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) hiredis==2.3.2 - # via feast (setup.py) + # via eg-feast (setup.py) httpcore==1.0.5 # via httpx httplib2==0.22.0 @@ -322,15 +325,15 @@ httptools==0.6.1 # via uvicorn httpx==0.27.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # jupyterlab ibis-framework[duckdb]==9.0.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ibis-substrait ibis-substrait==4.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) identify==2.5.36 # via pre-commit idna==3.7 @@ -374,7 +377,7 @@ jedi==0.19.1 # via ipython jinja2==3.1.4 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # fastapi # great-expectations @@ -398,7 +401,7 @@ jsonpointer==3.0.0 # jsonschema jsonschema[format-nongpl]==4.22.0 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # great-expectations # jupyter-events @@ -444,7 +447,7 @@ jupyterlab-server==2.27.2 jupyterlab-widgets==3.0.11 # via ipywidgets kubernetes==20.13.0 - # via feast (setup.py) + # via eg-feast (setup.py) locket==1.0.0 # via partd makefun==1.15.2 @@ -457,27 +460,29 @@ markupsafe==2.1.5 # nbconvert # werkzeug marshmallow==3.21.3 - # via great-expectations + # via + # environs + # great-expectations matplotlib-inline==0.1.7 # via # ipykernel # ipython mdurl==0.1.2 # via markdown-it-py -milvus==2.2.12 - # via eg-feast (setup.py) +milvus-lite==2.4.8 + # via pymilvus minio==7.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mistune==3.0.2 # via # great-expectations # nbconvert mmh3==4.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mock==2.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) moto==4.2.14 - # via feast (setup.py) + # via eg-feast (setup.py) msal==1.29.0 # via # azure-identity @@ -492,12 +497,12 @@ multidict==6.0.5 # yarl mypy==1.10.1 # via - # feast (setup.py) + # eg-feast (setup.py) # sqlalchemy mypy-extensions==1.0.0 # via mypy mypy-protobuf==3.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) nbclient==0.10.0 # via nbconvert nbconvert==7.16.4 @@ -520,7 +525,7 @@ notebook-shim==0.2.4 # notebook numpy==1.26.4 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # dask # db-dtypes @@ -555,16 +560,15 @@ packaging==24.1 # sphinx pandas==2.2.2 # via - # feast (setup.py) + # eg-feast (setup.py) # altair # dask # dask-expr # db-dtypes # google-cloud-bigquery # great-expectations - # pandavro - # pymilvus # ibis-framework + # pymilvus # snowflake-connector-python pandocfilters==1.5.1 # via nbconvert @@ -583,7 +587,7 @@ pexpect==4.9.0 pip==24.1.1 # via pip-tools pip-tools==7.4.1 - # via feast (setup.py) + # via eg-feast (setup.py) platformdirs==3.11.0 # via # jupyter-core @@ -596,7 +600,7 @@ ply==3.11 portalocker==2.10.0 # via msal-extensions pre-commit==3.3.1 - # via feast (setup.py) + # via eg-feast (setup.py) prometheus-client==0.20.0 # via jupyter-server prompt-toolkit==3.0.47 @@ -611,7 +615,7 @@ proto-plus==1.24.0 # google-cloud-firestore protobuf==4.25.3 # via - # feast (setup.py) + # eg-feast (setup.py) # google-api-core # google-cloud-bigquery # google-cloud-bigquery-storage @@ -631,10 +635,10 @@ protobuf==4.25.3 # substrait psutil==5.9.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ipykernel psycopg[binary, pool]==3.1.18 - # via feast (setup.py) + # via eg-feast (setup.py) psycopg-binary==3.1.18 # via psycopg psycopg-pool==3.2.2 @@ -646,14 +650,14 @@ ptyprocess==0.7.0 pure-eval==0.2.2 # via stack-data py==1.11.0 - # via feast (setup.py) + # via eg-feast (setup.py) py-cpuinfo==9.0.0 # via pytest-benchmark py4j==0.10.9.7 # via pyspark pyarrow==15.0.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr # db-dtypes # deltalake @@ -671,19 +675,19 @@ pyasn1==0.6.0 pyasn1-modules==0.4.0 # via google-auth pybindgen==0.22.1 - # via feast (setup.py) + # via eg-feast (setup.py) pycparser==2.22 # via cffi pydantic==2.7.4 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # great-expectations pydantic-core==2.18.4 # via pydantic pygments==2.18.0 # via - # feast (setup.py) + # eg-feast (setup.py) # ipython # nbconvert # rich @@ -693,14 +697,14 @@ pyjwt[crypto]==2.8.0 # msal # singlestoredb # snowflake-connector-python -pymilvus==2.3.7 +pymilvus==2.4.4 # via eg-feast (setup.py) pymssql==2.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) pymysql==1.1.1 - # via feast (setup.py) + # via eg-feast (setup.py) pyodbc==5.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) pyopenssl==24.1.0 # via snowflake-connector-python pyparsing==3.1.2 @@ -712,10 +716,10 @@ pyproject-hooks==1.1.0 # build # pip-tools pyspark==3.5.1 - # via feast (setup.py) + # via eg-feast (setup.py) pytest==7.4.4 # via - # feast (setup.py) + # eg-feast (setup.py) # pytest-benchmark # pytest-cov # pytest-env @@ -725,21 +729,21 @@ pytest==7.4.4 # pytest-timeout # pytest-xdist pytest-benchmark==3.4.1 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-cov==5.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-env==1.1.3 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-lazy-fixture==0.6.3 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-mock==1.10.4 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-ordering==0.6 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-timeout==1.4.2 - # via feast (setup.py) + # via eg-feast (setup.py) pytest-xdist==3.6.1 - # via feast (setup.py) + # via eg-feast (setup.py) python-dateutil==2.9.0.post0 # via # arrow @@ -754,7 +758,9 @@ python-dateutil==2.9.0.post0 # rockset # trino python-dotenv==1.0.1 - # via uvicorn + # via + # environs + # uvicorn python-json-logger==2.0.7 # via jupyter-events python-multipart==0.0.9 @@ -768,7 +774,7 @@ pytz==2024.1 # trino pyyaml==6.0.1 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # ibis-substrait # jupyter-events @@ -782,7 +788,7 @@ pyzmq==26.0.3 # jupyter-client # jupyter-server redis==4.6.0 - # via feast (setup.py) + # via eg-feast (setup.py) referencing==0.35.1 # via # jsonschema @@ -790,11 +796,11 @@ referencing==0.35.1 # jupyter-events regex==2024.5.15 # via - # feast (setup.py) + # eg-feast (setup.py) # parsimonious requests==2.32.3 # via - # feast (setup.py) + # eg-feast (setup.py) # azure-core # cachecontrol # docker @@ -829,7 +835,7 @@ rich==13.7.1 # ibis-framework # typer rockset==2.1.2 - # via feast (setup.py) + # via eg-feast (setup.py) rpds-py==0.18.1 # via # jsonschema @@ -841,7 +847,7 @@ ruamel-yaml==0.17.17 ruamel-yaml-clib==0.2.8 # via ruamel-yaml ruff==0.4.10 - # via feast (setup.py) + # via eg-feast (setup.py) s3transfer==0.10.2 # via boto3 scipy==1.13.1 @@ -854,11 +860,12 @@ setuptools==70.1.1 # jupyterlab # kubernetes # pip-tools + # pymilvus # singlestoredb shellingham==1.5.4 # via typer singlestoredb==1.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) six==1.16.0 # via # asttokens @@ -879,13 +886,13 @@ sniffio==1.3.1 snowballstemmer==2.2.0 # via sphinx snowflake-connector-python[pandas]==3.11.0 - # via feast (setup.py) + # via eg-feast (setup.py) sortedcontainers==2.4.0 # via snowflake-connector-python soupsieve==2.5 # via beautifulsoup4 sphinx==6.2.1 - # via feast (setup.py) + # via eg-feast (setup.py) sphinxcontrib-applehelp==1.0.8 # via sphinx sphinxcontrib-devhelp==1.0.6 @@ -899,11 +906,11 @@ sphinxcontrib-qthelp==1.0.7 sphinxcontrib-serializinghtml==1.1.10 # via sphinx sqlalchemy[mypy]==2.0.31 - # via feast (setup.py) + # via eg-feast (setup.py) sqlglot==23.12.2 # via ibis-framework sqlite-vec==0.0.1a10 - # via feast (setup.py) + # via eg-feast (setup.py) sqlparams==6.0.1 # via singlestoredb stack-data==0.6.3 @@ -913,21 +920,21 @@ starlette==0.37.2 substrait==0.19.0 # via ibis-substrait tabulate==0.9.0 - # via feast (setup.py) + # via eg-feast (setup.py) tenacity==8.4.2 - # via feast (setup.py) + # via eg-feast (setup.py) terminado==0.18.1 # via # jupyter-server # jupyter-server-terminals testcontainers==4.4.0 - # via feast (setup.py) + # via eg-feast (setup.py) thriftpy2==0.5.1 # via happybase tinycss2==1.3.0 # via nbconvert toml==0.10.2 - # via feast (setup.py) + # via eg-feast (setup.py) tomli==2.0.1 # via # build @@ -956,8 +963,9 @@ tornado==6.4.1 # terminado tqdm==4.66.4 # via - # feast (setup.py) + # eg-feast (setup.py) # great-expectations + # milvus-lite traitlets==5.14.3 # via # comm @@ -974,39 +982,39 @@ traitlets==5.14.3 # nbconvert # nbformat trino==0.328.0 - # via feast (setup.py) + # via eg-feast (setup.py) typeguard==4.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) typer==0.12.3 # via fastapi-cli types-cffi==1.16.0.20240331 # via types-pyopenssl types-protobuf==3.19.22 # via - # feast (setup.py) + # eg-feast (setup.py) # mypy-protobuf types-pymysql==1.1.0.20240524 - # via feast (setup.py) + # via eg-feast (setup.py) types-pyopenssl==24.1.0.20240425 # via types-redis types-python-dateutil==2.9.0.20240316 # via - # feast (setup.py) + # eg-feast (setup.py) # arrow types-pytz==2024.1.0.20240417 - # via feast (setup.py) + # via eg-feast (setup.py) types-pyyaml==6.0.12.20240311 - # via feast (setup.py) + # via eg-feast (setup.py) types-redis==4.6.0.20240425 - # via feast (setup.py) + # via eg-feast (setup.py) types-requests==2.30.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) types-setuptools==70.1.0.20240627 # via - # feast (setup.py) + # eg-feast (setup.py) # types-cffi types-tabulate==0.9.0.20240106 - # via feast (setup.py) + # via eg-feast (setup.py) types-urllib3==1.26.25.14 # via types-requests typing-extensions==4.12.2 @@ -1040,15 +1048,16 @@ tzlocal==5.2 # great-expectations # trino ujson==5.10.0 - # via fastapi - # via pymilvus + # via + # fastapi + # pymilvus uri-template==1.3.0 # via jsonschema uritemplate==4.1.1 # via google-api-python-client urllib3==1.26.19 # via - # feast (setup.py) + # eg-feast (setup.py) # botocore # docker # elastic-transport @@ -1062,13 +1071,13 @@ urllib3==1.26.19 # testcontainers uvicorn[standard]==0.30.1 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi uvloop==0.19.0 # via uvicorn virtualenv==20.23.0 # via - # feast (setup.py) + # eg-feast (setup.py) # pre-commit watchfiles==0.22.0 # via uvicorn diff --git a/sdk/python/requirements/py3.9-requirements.txt b/sdk/python/requirements/py3.9-requirements.txt index ea553bcae2..e7588d6c97 100644 --- a/sdk/python/requirements/py3.9-requirements.txt +++ b/sdk/python/requirements/py3.9-requirements.txt @@ -20,22 +20,22 @@ charset-normalizer==3.3.2 # via requests click==8.1.7 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # typer # uvicorn cloudpickle==3.0.0 # via dask colorama==0.4.6 - # via feast (setup.py) + # via eg-feast (setup.py) dask[dataframe]==2024.5.0 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr dask-expr==1.1.0 # via dask dill==0.3.8 - # via feast (setup.py) + # via eg-feast (setup.py) dnspython==2.6.1 # via email-validator email-validator==2.1.1 @@ -44,14 +44,14 @@ exceptiongroup==1.2.1 # via anyio fastapi==0.111.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi-cli fastapi-cli==0.0.2 # via fastapi fsspec==2024.3.1 # via dask gunicorn==22.0.0 - # via feast (setup.py) + # via eg-feast (setup.py) h11==0.14.0 # via # httpcore @@ -74,10 +74,10 @@ importlib-metadata==7.1.0 # typeguard jinja2==3.1.4 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi jsonschema==4.22.0 - # via feast (setup.py) + # via eg-feast (setup.py) jsonschema-specifications==2023.12.1 # via jsonschema locket==1.0.0 @@ -89,16 +89,16 @@ markupsafe==2.1.5 mdurl==0.1.2 # via markdown-it-py mmh3==4.1.0 - # via feast (setup.py) + # via eg-feast (setup.py) mypy==1.10.0 # via sqlalchemy mypy-extensions==1.0.0 # via mypy mypy-protobuf==3.6.0 - # via feast (setup.py) + # via eg-feast (setup.py) numpy==1.26.4 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # pandas # pyarrow @@ -110,28 +110,28 @@ packaging==24.0 # gunicorn pandas==2.2.2 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # dask-expr partd==1.4.2 # via dask protobuf==4.25.3 # via - # feast (setup.py) + # eg-feast (setup.py) # mypy-protobuf pyarrow==16.0.0 # via - # feast (setup.py) + # eg-feast (setup.py) # dask-expr pydantic==2.7.1 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi pydantic-core==2.18.2 # via pydantic pygments==2.18.0 # via - # feast (setup.py) + # eg-feast (setup.py) # rich python-dateutil==2.9.0.post0 # via pandas @@ -143,7 +143,7 @@ pytz==2024.1 # via pandas pyyaml==6.0.1 # via - # feast (setup.py) + # eg-feast (setup.py) # dask # uvicorn referencing==0.35.1 @@ -151,7 +151,7 @@ referencing==0.35.1 # jsonschema # jsonschema-specifications requests==2.31.0 - # via feast (setup.py) + # via eg-feast (setup.py) rich==13.7.1 # via typer rpds-py==0.18.1 @@ -167,15 +167,15 @@ sniffio==1.3.1 # anyio # httpx sqlalchemy[mypy]==2.0.30 - # via feast (setup.py) + # via eg-feast (setup.py) starlette==0.37.2 # via fastapi tabulate==0.9.0 - # via feast (setup.py) + # via eg-feast (setup.py) tenacity==8.3.0 - # via feast (setup.py) + # via eg-feast (setup.py) toml==0.10.2 - # via feast (setup.py) + # via eg-feast (setup.py) tomli==2.0.1 # via mypy toolz==0.12.1 @@ -183,9 +183,9 @@ toolz==0.12.1 # dask # partd tqdm==4.66.4 - # via feast (setup.py) + # via eg-feast (setup.py) typeguard==4.2.1 - # via feast (setup.py) + # via eg-feast (setup.py) typer==0.12.3 # via fastapi-cli types-protobuf==5.26.0.20240422 @@ -210,7 +210,7 @@ urllib3==2.2.1 # via requests uvicorn[standard]==0.29.0 # via - # feast (setup.py) + # eg-feast (setup.py) # fastapi # fastapi-cli uvloop==0.19.0 diff --git a/sdk/python/tests/unit/infra/scaffolding/test_repo_config.py b/sdk/python/tests/unit/infra/scaffolding/test_repo_config.py index 3186654b05..88c48aa6c0 100644 --- a/sdk/python/tests/unit/infra/scaffolding/test_repo_config.py +++ b/sdk/python/tests/unit/infra/scaffolding/test_repo_config.py @@ -223,3 +223,57 @@ def test_repo_config_init_expedia_provider(): assert isinstance(c.online_store, RedisOnlineStoreConfig) assert isinstance(c.batch_engine, SparkMaterializationEngineConfig) assert isinstance(c.offline_store, SparkOfflineStoreConfig) + + +def test_repo_config_init_expedia_provider_with_onlne_store_config(): + c = _test_config( + dedent( + """ + project: foo + registry: "registry.db" + provider: expedia + online_store: + type: redis + connection_string: localhost:6380 + entity_key_serialization_version: 2 + """ + ), + expect_error=None, + ) + assert c.registry_config == "registry.db" + assert c.offline_config["type"] == "spark" + assert c.online_config["type"] == "redis" + assert c.online_config["connection_string"] == "localhost:6380" + assert c.batch_engine_config == "spark.engine" + assert isinstance(c.online_store, RedisOnlineStoreConfig) + assert isinstance(c.batch_engine, SparkMaterializationEngineConfig) + assert isinstance(c.offline_store, SparkOfflineStoreConfig) + + +def test_repo_config_init_expedia_provider_with_online_store_config(): + c = _test_config( + dedent( + """ + project: foo + registry: "registry.db" + provider: expedia + online_store: + type: redis + connection_string: localhost:6380 + redis_type: redis_cluster + key_ttl_seconds: 123456 + entity_key_serialization_version: 2 + """ + ), + expect_error=None, + ) + assert c.registry_config == "registry.db" + assert c.offline_config["type"] == "spark" + assert c.online_config["type"] == "redis" + assert c.online_config["connection_string"] == "localhost:6380" + assert c.online_config["redis_type"] == "redis_cluster" + assert c.online_config["key_ttl_seconds"] == 123456 + assert c.batch_engine_config == "spark.engine" + assert isinstance(c.online_store, RedisOnlineStoreConfig) + assert isinstance(c.batch_engine, SparkMaterializationEngineConfig) + assert isinstance(c.offline_store, SparkOfflineStoreConfig) diff --git a/sdk/python/tests/unit/test_type_map.py b/sdk/python/tests/unit/test_type_map.py index 39e3e7dafa..be8a25c163 100644 --- a/sdk/python/tests/unit/test_type_map.py +++ b/sdk/python/tests/unit/test_type_map.py @@ -60,7 +60,14 @@ def test_python_values_to_proto_values_bool(values): (np.array([b'["a","b","c"]']), ValueType.STRING_LIST, ["a", "b", "c"]), (np.array([b"[true,false]"]), ValueType.BOOL_LIST, [True, False]), (np.array([b"[1,0]"]), ValueType.BOOL_LIST, [True, False]), + (np.array([None]), ValueType.INT32_LIST, None), + (np.array([None]), ValueType.INT64_LIST, None), + (np.array([None]), ValueType.FLOAT_LIST, None), + (np.array([None]), ValueType.DOUBLE_LIST, None), + (np.array([None]), ValueType.BOOL_LIST, None), + (np.array([None]), ValueType.BYTES_LIST, None), (np.array([None]), ValueType.STRING_LIST, None), + (np.array([None]), ValueType.UNIX_TIMESTAMP_LIST, None), ([b"[1,2,3]"], ValueType.INT64_LIST, [1, 2, 3]), ([b"[1,2,3]"], ValueType.INT32_LIST, [1, 2, 3]), ([b"[1.5,2.5,3.5]"], ValueType.FLOAT_LIST, [1.5, 2.5, 3.5]), diff --git a/setup.py b/setup.py index f5fefc1a4c..9168d5e9b4 100644 --- a/setup.py +++ b/setup.py @@ -61,6 +61,8 @@ "uvicorn[standard]>=0.14.0,<1", "gunicorn; platform_system != 'Windows'", "dask[dataframe]>=2024.2.1", + # For HTTP Registry + "httpx>=0.23.3", ] GO_REQUIRED = [