Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 5 additions & 56 deletions pixi.lock

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ dependencies = [
"mmh3",
"numpy>=2.0.0,<3",
"pandas>=1.4.3,<3",
"pyarrow>=21.0.0; extra != 'flink'",
"pyarrow>=16.1.0,<21.0.0; extra == 'flink'",
"pyarrow>=16.1.0",
"pydantic>=2.10.6",
"pygments>=2.12.0,<3",
"PyYAML>=5.4.0,<7",
Expand Down Expand Up @@ -67,7 +66,7 @@ docling = ["docling==2.27.0"]
duckdb = ["ibis-framework[duckdb]>=10.0.0"]
elasticsearch = ["elasticsearch>=8.13.0"]
faiss = ["faiss-cpu>=1.7.0,<=1.10.0"]
flink = ["apache-flink>=2.2.1,<3"]
flink = ["apache-flink>=2.2.1,<3", "pyarrow<21.0.0"]
gcp = [
"google-api-core>=1.23.0,<3",
"googleapis-common-protos>=1.52.0,<2",
Expand Down
2,941 changes: 1,456 additions & 1,485 deletions sdk/python/requirements/py3.10-ci-requirements.txt

Large diffs are not rendered by default.

1,353 changes: 687 additions & 666 deletions sdk/python/requirements/py3.10-minimal-requirements.txt

Large diffs are not rendered by default.

1,537 changes: 779 additions & 758 deletions sdk/python/requirements/py3.10-minimal-sdist-requirements.txt

Large diffs are not rendered by default.

883 changes: 446 additions & 437 deletions sdk/python/requirements/py3.10-requirements.txt

Large diffs are not rendered by default.

3,093 changes: 1,548 additions & 1,545 deletions sdk/python/requirements/py3.11-ci-requirements.txt

Large diffs are not rendered by default.

1,601 changes: 804 additions & 797 deletions sdk/python/requirements/py3.11-minimal-requirements.txt

Large diffs are not rendered by default.

1,785 changes: 896 additions & 889 deletions sdk/python/requirements/py3.11-minimal-sdist-requirements.txt

Large diffs are not rendered by default.

883 changes: 446 additions & 437 deletions sdk/python/requirements/py3.11-requirements.txt

Large diffs are not rendered by default.

3,189 changes: 1,596 additions & 1,593 deletions sdk/python/requirements/py3.12-ci-requirements.txt

Large diffs are not rendered by default.

1,691 changes: 849 additions & 842 deletions sdk/python/requirements/py3.12-minimal-requirements.txt

Large diffs are not rendered by default.

1,875 changes: 941 additions & 934 deletions sdk/python/requirements/py3.12-minimal-sdist-requirements.txt

Large diffs are not rendered by default.

973 changes: 491 additions & 482 deletions sdk/python/requirements/py3.12-requirements.txt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import pandas as pd
import pyarrow as pa
import pytest
import toml # type: ignore[import-untyped]

from feast import BatchFeatureView, Entity, Field, FileSource
from feast.aggregation import Aggregation
Expand Down Expand Up @@ -50,20 +49,6 @@
from feast.value_type import ValueType


def test_flink_extra_does_not_downgrade_default_pyarrow_dependency() -> None:
pyproject_path = Path(__file__).resolve().parents[7] / "pyproject.toml"
pyproject = toml.loads(pyproject_path.read_text())

dependencies = pyproject["project"]["dependencies"]
assert "pyarrow>=21.0.0; extra != 'flink'" in dependencies
assert "pyarrow>=16.1.0,<21.0.0; extra == 'flink'" in dependencies
assert "pyarrow>=16.1.0" not in dependencies
assert (
"apache-flink>=2.2.1,<3"
in pyproject["project"]["optional-dependencies"]["flink"]
)


class FakeFlinkTable:
def __init__(self, df: pd.DataFrame, fail_on_to_pandas: bool = False) -> None:
self._df = df.copy()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from __future__ import annotations

from pathlib import Path

import toml # type: ignore[import-untyped]


def test_flink_extra_constrains_shared_pyarrow_dependency() -> None:
pyproject_path = Path(__file__).resolve().parents[7] / "pyproject.toml"
pyproject = toml.loads(pyproject_path.read_text())

dependencies = pyproject["project"]["dependencies"]
flink_dependencies = pyproject["project"]["optional-dependencies"]["flink"]

assert "pyarrow>=16.1.0" in dependencies
assert not any(
dependency.startswith("pyarrow") and "extra" in dependency
for dependency in dependencies
)
assert "pyarrow<21.0.0" in flink_dependencies
assert "apache-flink>=2.2.1,<3" in flink_dependencies