diff --git a/pyiceberg/expressions/__init__.py b/pyiceberg/expressions/__init__.py index 4871da3e0a..a928b988fd 100644 --- a/pyiceberg/expressions/__init__.py +++ b/pyiceberg/expressions/__init__.py @@ -596,11 +596,11 @@ class SetPredicate(IcebergBaseModel, UnboundPredicate, ABC): model_config = ConfigDict(arbitrary_types_allowed=True) type: TypingLiteral["in", "not-in"] = Field(default="in") - literals: set[LiteralValue] = Field(alias="items") + literals: set[LiteralValue] = Field(alias="values") def __init__(self, term: str | UnboundTerm, literals: Iterable[Any] | Iterable[LiteralValue]): literal_set = _to_literal_set(literals) - super().__init__(term=_to_unbound_term(term), items=literal_set) # type: ignore + super().__init__(term=_to_unbound_term(term), values=literal_set) # type: ignore object.__setattr__(self, "literals", literal_set) def bind(self, schema: Schema, case_sensitive: bool = True) -> BoundSetPredicate: diff --git a/tests/expressions/test_expressions.py b/tests/expressions/test_expressions.py index 47c26c8eb6..f0d6cdbce2 100644 --- a/tests/expressions/test_expressions.py +++ b/tests/expressions/test_expressions.py @@ -915,12 +915,12 @@ def test_not_in() -> None: def test_serialize_in() -> None: pred = In(term="foo", literals=[1, 2, 3]) - assert pred.model_dump_json() == '{"term":"foo","type":"in","items":[1,2,3]}' + assert pred.model_dump_json() == '{"term":"foo","type":"in","values":[1,2,3]}' def test_serialize_not_in() -> None: pred = NotIn(term="foo", literals=[1, 2, 3]) - assert pred.model_dump_json() == '{"term":"foo","type":"not-in","items":[1,2,3]}' + assert pred.model_dump_json() == '{"term":"foo","type":"not-in","values":[1,2,3]}' def test_bound_equal_to(term: BoundReference) -> None: