_response.py — anthropic-sdk-python Source File
Architecture documentation for _response.py, a python file in the anthropic-sdk-python codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR aa7d21d4_f6f0_8301_73f8_2ea17597e81e["_response.py"] ae7ef022_1bd6_7df9_dff5_878c21d5bd81["_types"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> ae7ef022_1bd6_7df9_dff5_878c21d5bd81 e013f75f_3bf9_6b70_751b_8998e8987d31["_models"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> e013f75f_3bf9_6b70_751b_8998e8987d31 7c680b7a_888d_7e7d_6ff4_7d8f815c2ccd["_utils._utils"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> 7c680b7a_888d_7e7d_6ff4_7d8f815c2ccd 9cd8aadd_3a49_437e_4d19_96e96790f1df["types.message"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> 9cd8aadd_3a49_437e_4d19_96e96790f1df 94853ebc_5c35_de66_c152_15bdbefe4121["types.parsed_message"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> 94853ebc_5c35_de66_c152_15bdbefe4121 72d245f0_1707_28a2_cfb9_7f975e24af4f["types.beta.beta_message"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> 72d245f0_1707_28a2_cfb9_7f975e24af4f b9d3c142_4c97_eff9_2f08_8f4bcc8752fa["types.beta.parsed_beta_message"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> b9d3c142_4c97_eff9_2f08_8f4bcc8752fa 37c05070_ca59_d596_7250_de9d1939227f["typing_extensions"] aa7d21d4_f6f0_8301_73f8_2ea17597e81e --> 37c05070_ca59_d596_7250_de9d1939227f style aa7d21d4_f6f0_8301_73f8_2ea17597e81e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
from __future__ import annotations
from typing_extensions import TypeVar
from ..._types import NotGiven
from ..._models import TypeAdapter, construct_type_unchecked
from ..._utils._utils import is_given
from ...types.message import Message
from ...types.parsed_message import ParsedMessage, ParsedTextBlock, ParsedContentBlock
from ...types.beta.beta_message import BetaMessage
from ...types.beta.parsed_beta_message import ParsedBetaMessage, ParsedBetaTextBlock, ParsedBetaContentBlock
ResponseFormatT = TypeVar("ResponseFormatT", default=None)
def parse_text(text: str, output_format: ResponseFormatT | NotGiven) -> ResponseFormatT | None:
if is_given(output_format):
adapted_type: TypeAdapter[ResponseFormatT] = TypeAdapter(output_format)
return adapted_type.validate_json(text)
return None
def parse_beta_response(
*,
output_format: ResponseFormatT | NotGiven,
response: BetaMessage,
) -> ParsedBetaMessage[ResponseFormatT]:
content_list: list[ParsedBetaContentBlock[ResponseFormatT]] = []
for content in response.content:
if content.type == "text":
content_list.append(
construct_type_unchecked(
type_=ParsedBetaTextBlock[ResponseFormatT],
value={**content.to_dict(), "parsed_output": parse_text(content.text, output_format)},
)
)
else:
content_list.append(content) # type: ignore
return construct_type_unchecked(
type_=ParsedBetaMessage[ResponseFormatT],
value={
**response.to_dict(),
"content": content_list,
},
)
def parse_response(
*,
output_format: ResponseFormatT | NotGiven,
response: Message,
) -> ParsedMessage[ResponseFormatT]:
content_list: list[ParsedContentBlock[ResponseFormatT]] = []
for content in response.content:
if content.type == "text":
content_list.append(
construct_type_unchecked(
type_=ParsedTextBlock[ResponseFormatT],
value={**content.to_dict(), "parsed_output": parse_text(content.text, output_format)},
)
)
else:
content_list.append(content) # type: ignore
return construct_type_unchecked(
type_=ParsedMessage[ResponseFormatT],
value={
**response.to_dict(),
"content": content_list,
},
)
Domain
Subdomains
Dependencies
- _models
- _types
- _utils._utils
- types.beta.beta_message
- types.beta.parsed_beta_message
- types.message
- types.parsed_message
- typing_extensions
Source
Frequently Asked Questions
What does _response.py do?
_response.py is a source file in the anthropic-sdk-python codebase, written in python. It belongs to the AnthropicClient domain, AsyncAPI subdomain.
What functions are defined in _response.py?
_response.py defines 3 function(s): parse_beta_response, parse_response, parse_text.
What does _response.py depend on?
_response.py imports 8 module(s): _models, _types, _utils._utils, types.beta.beta_message, types.beta.parsed_beta_message, types.message, types.parsed_message, typing_extensions.
Where is _response.py in the architecture?
_response.py is located at src/anthropic/lib/_parse/_response.py (domain: AnthropicClient, subdomain: AsyncAPI, directory: src/anthropic/lib/_parse).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free