MCPcopy Create free account
hub / github.com/anthropics/anthropic-sdk-python / _format_data

Function _format_data

src/anthropic/_utils/_transform.py:235–259  ·  view source on GitHub ↗
(data: object, format_: PropertyFormat, format_template: str | None)

Source from the content-addressed store, hash-verified

233
234
235def _format_data(data: object, format_: PropertyFormat, format_template: str | None) -> object:
236 if isinstance(data, (date, datetime)):
237 if format_ == "iso8601":
238 return data.isoformat()
239
240 if format_ == "custom" and format_template is not None:
241 return data.strftime(format_template)
242
243 if format_ == "base64" and is_base64_file_input(data):
244 binary: str | bytes | None = None
245
246 if isinstance(data, pathlib.Path):
247 binary = data.read_bytes()
248 elif isinstance(data, io.IOBase):
249 binary = data.read()
250
251 if isinstance(binary, str): # type: ignore[unreachable]
252 binary = binary.encode()
253
254 if not isinstance(binary, bytes):
255 raise RuntimeError(f"Could not read bytes from {data}; Received {type(binary)}")
256
257 return base64.b64encode(binary).decode("ascii")
258
259 return data
260
261
262def _transform_typeddict(

Callers 1

_transform_recursiveFunction · 0.85

Calls 3

is_base64_file_inputFunction · 0.85
decodeMethod · 0.80
readMethod · 0.45

Tested by

no test coverage detected