guptaakashdeep commented on issue #535:
URL: https://github.com/apache/iceberg-python/issues/535#issuecomment-2815332224

   @kevinjqliu @Fokko Is it still being worked on? I followed the conversation 
on this. I understand the issue that currently `Table` is not JSONSerializable 
but `TableMetadata` is because it extends `IcebergBaseModel`.
   
   Do we want to make a Pydantic `TableModel` that extends IcebergBaseModel 
which will have same properties as Table class and then utilize to serialize 
and deserialize it ? 
   
   Sample Implementation:
   
   ```python
   # __init__.py
   
   class CatalogModel(IcebergBaseModel):
       name: str
       properties: Dict[str, Any]
   
   class TableModel(IcebergBaseModel):
       _identifier: Identifier
       metadata: TableMetadata
       metadata_location: str
       catalog: CatalogModel
       config: Dict[str, str]
       # Excluded IO for now -- as that class is not serializable, do we want 
to just keep the class Name here or make that serializable too?
   
   
   class Table:
       """An Iceberg table."""
   
       _identifier: Identifier = Field()
       metadata: TableMetadata
       metadata_location: str = Field()
       io: FileIO
       catalog: Catalog
       config: Dict[str, str]
   
      .....
       def serialize(self):
           model = TableModel(
               _identifier = self._identifier,
               metadata = self.metadata,
               metadata_location = self.metadata_location,
               catalog = CatalogModel(
                   name = self.catalog.name,
                   properties = self.catalog.properties
               ),
               config = self.config
           )
           return model.model_dump_json()
    
   ```
   something of this sort ?
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to