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

Reply via email to