@@ -340,8 +340,8 @@ class NestedField(IcebergType):
340340 field_type : SerializeAsAny [IcebergType ] = Field (alias = "type" )
341341 required : bool = Field (default = False )
342342 doc : Optional [str ] = Field (default = None , repr = False )
343- initial_default : Optional [DefaultValue ] = Field (alias = "initial-default" , default = None , repr = False ) # type: ignore
344- write_default : Optional [DefaultValue ] = Field (alias = "write-default" , default = None , repr = False ) # type: ignore
343+ initial_default : Optional [DefaultValue ] = Field (alias = "initial-default" , default = None , repr = True ) # type: ignore
344+ write_default : Optional [DefaultValue ] = Field (alias = "write-default" , default = None , repr = True ) # type: ignore
345345
346346 @field_validator ("field_type" , mode = "before" )
347347 def convert_field_type (cls , v : Any ) -> IcebergType :
@@ -401,6 +401,21 @@ def __str__(self) -> str:
401401 req = "required" if self .required else "optional"
402402 return f"{ self .field_id } : { self .name } : { req } { self .field_type } { doc } "
403403
404+ def __repr__ (self ) -> str :
405+ """Return the string representation of the NestedField class."""
406+ parts = [
407+ f"field_id={ self .field_id } " ,
408+ f"name={ self .name !r} " ,
409+ f"field_type={ self .field_type !r} " ,
410+ f"required={ self .required } " ,
411+ ]
412+ if self .initial_default is not None :
413+ parts .append (f"initial_default={ self .initial_default !r} " )
414+ if self .write_default is not None :
415+ parts .append (f"write_default={ self .write_default !r} " )
416+
417+ return f"NestedField({ ', ' .join (parts )} )"
418+
404419 def __getnewargs__ (self ) -> Tuple [int , str , IcebergType , bool , Optional [str ]]:
405420 """Pickle the NestedField class."""
406421 return (self .field_id , self .name , self .field_type , self .required , self .doc )
0 commit comments