| commit | d1826f116d86a5ba5519695f1498a9112cd2babb | [log] [tgz] |
|---|---|---|
| author | Drew Gallardo <dru@amazon.com> | Wed Nov 26 00:26:08 2025 -0800 |
| committer | GitHub <noreply@github.com> | Wed Nov 26 09:26:08 2025 +0100 |
| tree | b34c438a6e84291072a55b6ea6e5deb13985f9af | |
| parent | 9610b41470b8728802cec487e30ef8294169dee5 [diff] |
feat: Make `and` expression JSON serializable (#2784) Related to: #2518, #2775 # Rationale for this change This work was done by @Aniketsy, I just opened this to get the tests passing, and we can merge for scan planning. But, this PR allows `And` expressions to be deserialized from JSON through Pydantic. This PR aligns the `And` expression with the `Or`/`Not` pattern by adding `IcebergBaseModel` as an inherited class. This gets teh And expression into a proven serializable state, preparing it for the full expression tree [de]serializability work in #2783. ## Are these changes tested? Yes added a test and ensure that they align with EpressionParser in Iceberg Java ## Are there any user-facing changes? No this is just serialization cc: @kevinjqliu @Fokko --------- Co-authored-by: Aniket Singh Yadav <singhyadavaniket43@gmail.com>
PyIceberg is a Python library for programmatic access to Iceberg table metadata as well as to table data in Iceberg format. It is a Python implementation of the Iceberg table spec.
The documentation is available at https://py.iceberg.apache.org/.