Fokko commented on code in PR #305: URL: https://github.com/apache/iceberg-python/pull/305#discussion_r1466705205
########## pyiceberg/catalog/dynamodb.py: ########## @@ -152,6 +156,14 @@ def create_table( ValueError: If the identifier is invalid, or no path is given to store metadata. """ + if not isinstance(schema, Schema): + import pyarrow as pa + + from pyiceberg.io.pyarrow import _ConvertToIcebergWithFreshIds, pre_order_visit_pyarrow + + if isinstance(schema, pa.Schema): + schema: Schema = pre_order_visit_pyarrow(schema, _ConvertToIcebergWithFreshIds()) # type: ignore Review Comment: Alright, maybe then a function in `catalog/__init__.py` that will just do the check: ```python def _convert_schema_if_needed(schema: Union[Schema, "pa.Schema"]) -> Schema: try: import pa # Do the conversion with all the imports except ModuleNotFoundError: pass if not isinstance(schema, Schema): raise ValueError(..) return schema ``` -- 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