diff --git a/python/python/lancedb/namespace.py b/python/python/lancedb/namespace.py index 2085c90a..0825a3cc 100644 --- a/python/python/lancedb/namespace.py +++ b/python/python/lancedb/namespace.py @@ -99,7 +99,14 @@ def _convert_pyarrow_schema_to_json(schema: pa.Schema) -> JsonArrowSchema: ) fields.append(json_field) - return JsonArrowSchema(fields=fields, metadata=schema.metadata) + # decode binary metadata to strings for JSON + meta = None + if schema.metadata: + meta = { + k.decode("utf-8"): v.decode("utf-8") for k, v in schema.metadata.items() + } + + return JsonArrowSchema(fields=fields, metadata=meta) class LanceNamespaceStorageOptionsProvider(StorageOptionsProvider):