MCPcopy Index your code
hub / github.com/feast-dev/feast / _convert_uuids_for_arrow

Function _convert_uuids_for_arrow

sdk/python/feast/online_response.py:156–181  ·  view source on GitHub ↗

Convert uuid.UUID objects and sets to Arrow-compatible types.

(result: Dict[str, List[Any]])

Source from the content-addressed store, hash-verified

154
155
156def _convert_uuids_for_arrow(result: Dict[str, List[Any]]) -> Dict[str, List[Any]]:
157 """Convert uuid.UUID objects and sets to Arrow-compatible types."""
158 for key, values in result.items():
159 first_valid = next((v for v in values if v is not None), None)
160 if isinstance(first_valid, uuid_module.UUID):
161 result[key] = [
162 str(v) if isinstance(v, uuid_module.UUID) else v for v in values
163 ]
164 elif isinstance(first_valid, list):
165 inner = next((e for e in first_valid if e is not None), None)
166 if isinstance(inner, uuid_module.UUID):
167 result[key] = [
168 [str(e) if isinstance(e, uuid_module.UUID) else e for e in v]
169 if isinstance(v, list)
170 else v
171 for v in values
172 ]
173 elif isinstance(first_valid, set):
174 inner = next((e for e in first_valid if e is not None), None)
175 if isinstance(inner, uuid_module.UUID):
176 result[key] = [
177 [str(e) for e in v] if isinstance(v, set) else v for v in values
178 ]
179 else:
180 result[key] = [list(v) if isinstance(v, set) else v for v in values]
181 return result

Callers 1

to_arrowMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected