This is an automated email from the ASF dual-hosted git repository.
kevinjqliu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-python.git
The following commit(s) were added to refs/heads/main by this push:
new c92c471f Fix after model validator signatures (#2626)
c92c471f is described below
commit c92c471f6ac979456efcb1f0bf29dcdbd9f1740d
Author: Victorien <[email protected]>
AuthorDate: Sun Oct 19 22:40:41 2025 +0200
Fix after model validator signatures (#2626)
<!--
Thanks for opening a pull request!
-->
<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->
# Rationale for this change
(Partially?) fixes https://github.com/apache/iceberg-python/issues/2590.
See
https://pydantic.dev/articles/pydantic-v2-12-release#after-model-validators.
## Are these changes tested?
## Are there any user-facing changes?
<!-- In the case of user-facing changes, please add the changelog label.
-->
---
pyiceberg/table/metadata.py | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/pyiceberg/table/metadata.py b/pyiceberg/table/metadata.py
index 9ab29815..4fa2235f 100644
--- a/pyiceberg/table/metadata.py
+++ b/pyiceberg/table/metadata.py
@@ -363,8 +363,8 @@ class TableMetadataV1(TableMetadataCommonFields,
IcebergBaseModel):
return cleanup_snapshot_id(data)
@model_validator(mode="after")
- def construct_refs(cls, data: TableMetadataV1) -> TableMetadataV1:
- return construct_refs(data)
+ def construct_refs(self) -> TableMetadataV1:
+ return construct_refs(self)
@model_validator(mode="before")
def set_v2_compatible_defaults(cls, data: Dict[str, Any]) -> Dict[str,
Any]:
@@ -492,20 +492,20 @@ class TableMetadataV2(TableMetadataCommonFields,
IcebergBaseModel):
return cleanup_snapshot_id(data)
@model_validator(mode="after")
- def check_schemas(cls, table_metadata: TableMetadata) -> TableMetadata:
- return check_schemas(table_metadata)
+ def check_schemas(self) -> TableMetadata:
+ return check_schemas(self)
@model_validator(mode="after")
- def check_partition_specs(cls, table_metadata: TableMetadata) ->
TableMetadata:
- return check_partition_specs(table_metadata)
+ def check_partition_specs(self) -> TableMetadata:
+ return check_partition_specs(self)
@model_validator(mode="after")
- def check_sort_orders(cls, table_metadata: TableMetadata) -> TableMetadata:
- return check_sort_orders(table_metadata)
+ def check_sort_orders(self) -> TableMetadata:
+ return check_sort_orders(self)
@model_validator(mode="after")
- def construct_refs(cls, table_metadata: TableMetadata) -> TableMetadata:
- return construct_refs(table_metadata)
+ def construct_refs(self) -> TableMetadata:
+ return construct_refs(self)
format_version: Literal[2] = Field(alias="format-version", default=2)
"""An integer version number for the format. Implementations must throw
@@ -536,20 +536,20 @@ class TableMetadataV3(TableMetadataCommonFields,
IcebergBaseModel):
return cleanup_snapshot_id(data)
@model_validator(mode="after")
- def check_schemas(cls, table_metadata: TableMetadata) -> TableMetadata:
- return check_schemas(table_metadata)
+ def check_schemas(self) -> TableMetadata:
+ return check_schemas(self)
@model_validator(mode="after")
- def check_partition_specs(cls, table_metadata: TableMetadata) ->
TableMetadata:
- return check_partition_specs(table_metadata)
+ def check_partition_specs(self) -> TableMetadata:
+ return check_partition_specs(self)
@model_validator(mode="after")
- def check_sort_orders(cls, table_metadata: TableMetadata) -> TableMetadata:
- return check_sort_orders(table_metadata)
+ def check_sort_orders(self) -> TableMetadata:
+ return check_sort_orders(self)
@model_validator(mode="after")
- def construct_refs(cls, table_metadata: TableMetadata) -> TableMetadata:
- return construct_refs(table_metadata)
+ def construct_refs(self) -> TableMetadata:
+ return construct_refs(self)
format_version: Literal[3] = Field(alias="format-version", default=3)
"""An integer version number for the format. Implementations must throw