anthropic 0.72.0__tar.gz → 0.73.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- anthropic-0.73.0/.release-please-manifest.json +3 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/CHANGELOG.md +25 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/PKG-INFO +4 -5
- {anthropic-0.72.0 → anthropic-0.73.0}/README.md +2 -2
- {anthropic-0.72.0 → anthropic-0.73.0}/api.md +1 -0
- anthropic-0.73.0/examples/structured_outputs.py +37 -0
- anthropic-0.73.0/examples/structured_outputs_streaming.py +38 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/pyproject.toml +4 -5
- {anthropic-0.72.0 → anthropic-0.73.0}/requirements-dev.lock +15 -50
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/__init__.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_compat.py +6 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_models.py +50 -16
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_streaming.py +4 -6
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_sync.py +3 -31
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_transform.py +1 -1
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_utils.py +1 -1
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_version.py +1 -1
- anthropic-0.73.0/src/anthropic/lib/_parse/_response.py +44 -0
- anthropic-0.73.0/src/anthropic/lib/_parse/_transform.py +167 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/streaming/__init__.py +14 -4
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/streaming/_beta_messages.py +82 -43
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/streaming/_beta_types.py +21 -13
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/tools/_beta_runner.py +102 -101
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/messages/batches.py +12 -12
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/messages/messages.py +365 -29
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/messages/batches.py +12 -12
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/messages/messages.py +14 -8
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/__init__.py +1 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_20250522_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_20250825_param.py +2 -0
- anthropic-0.73.0/src/anthropic/types/beta/beta_json_output_format_param.py +15 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_bash_20241022_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_bash_20250124_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_computer_use_20241022_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_computer_use_20250124_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_text_editor_20241022_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_text_editor_20250124_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_text_editor_20250429_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_text_editor_20250728_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_tool_20250910_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_20250305_param.py +2 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/message_count_tokens_params.py +4 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/message_create_params.py +24 -2
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/batch_create_params.py +8 -2
- anthropic-0.73.0/src/anthropic/types/beta/parsed_beta_message.py +68 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/batch_create_params.py +0 -1
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/messages/test_batches.py +10 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/test_messages.py +65 -0
- anthropic-0.73.0/tests/lib/_parse/test_transform.py +191 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/test_beta_messages.py +7 -4
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/test_partial_json.py +3 -3
- anthropic-0.73.0/tests/lib/tools/__inline_snapshot__/test_runners/TestSyncRunTools.test_streaming_call_sync_events/9cb114c8-69bd-4111-841b-edee30333afd.json +4 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/tools/test_runners.py +40 -143
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/utils.py +7 -13
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_client.py +202 -170
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_models.py +4 -4
- anthropic-0.73.0/uv.lock +1855 -0
- anthropic-0.72.0/.release-please-manifest.json +0 -3
- anthropic-0.72.0/tests/lib/tools/__inline_snapshot__/test_runners/TestSyncRunTools.test_max_iterations/ef758469-6fa6-454c-b2e6-19d0b450a8c5.json +0 -4
- anthropic-0.72.0/tests/lib/tools/__inline_snapshot__/test_runners/TestSyncRunTools.test_streaming_call_sync_events/9cb114c8-69bd-4111-841b-edee30333afd.json +0 -4
- anthropic-0.72.0/tests/lib/tools/__inline_snapshot__/test_runners/test_streaming_call_sync/e2140c0f-07db-47ee-b86b-c2ec476866d5.json +0 -4
- anthropic-0.72.0/uv.lock +0 -3083
- {anthropic-0.72.0 → anthropic-0.73.0}/.gitignore +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/CONTRIBUTING.md +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/LICENSE +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/SECURITY.md +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/bin/check-release-environment +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/bin/publish-pypi +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/.keep +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/batch_results.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/bedrock.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/images.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/logo.png +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/memory/basic.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/messages.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/messages_stream.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/text_completions_demo_async.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/text_completions_demo_sync.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/text_completions_streaming.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/thinking.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/thinking_stream.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/tools.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/tools_runner.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/tools_stream.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/vertex.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/web_search.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/examples/web_search_stream.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/helpers.md +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/release-please-config.json +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_base_client.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_client.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_constants.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_decoders/jsonl.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_exceptions.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_files.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_legacy_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_qs.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_resource.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_types.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_compat.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_datetime_parse.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_httpx.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_logs.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_proxy.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_reflection.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_resources_proxy.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_streams.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/_utils/_typing.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/.keep +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/_extras/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/_extras/_common.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/_extras/_google_auth.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/_files.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/bedrock/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/bedrock/_auth.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/bedrock/_beta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/bedrock/_beta_messages.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/bedrock/_client.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/bedrock/_stream.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/bedrock/_stream_decoder.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/streaming/_messages.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/streaming/_types.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/tools/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/tools/_beta_builtin_memory_tool.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/tools/_beta_functions.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/vertex/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/vertex/_auth.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/vertex/_beta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/vertex/_beta_messages.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/lib/vertex/_client.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/pagination.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/py.typed +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/beta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/files.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/messages/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/models.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/skills/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/skills/skills.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/beta/skills/versions.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/completions.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/messages/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/resources/models.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/anthropic_beta_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/base64_image_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/base64_pdf_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_all_thinking_turns_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_base64_image_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_base64_pdf_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_base64_pdf_source.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_base64_pdf_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_output_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_output_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_error_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_cache_control_ephemeral_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_cache_creation.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_char_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_char_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_config.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_content_block_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_content_block_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_page_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_page_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_search_result_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_search_result_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citation_web_search_result_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citations_config_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citations_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_citations_web_search_result_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_clear_thinking_20251015_edit_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_clear_thinking_20251015_edit_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_clear_tool_uses_20250919_edit_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_clear_tool_uses_20250919_edit_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_output_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_output_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block_content.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block_param_content_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_result_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_result_error_code.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_code_execution_tool_result_error_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_container.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_container_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_container_upload_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_container_upload_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_content_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_content_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_content_block_source_content_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_content_block_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_context_management_config_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_context_management_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_count_tokens_context_management_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_document_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_file_document_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_file_image_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_image_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_input_json_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_input_tokens_clear_at_least_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_input_tokens_trigger_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_mcp_tool_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_mcp_tool_use_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_mcp_tool_use_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_command.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_create_command.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_delete_command.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_insert_command.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_rename_command.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_str_replace_command.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_memory_tool_20250818_view_command.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_message.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_message_delta_usage.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_message_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_message_tokens_count.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_metadata_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_model_info.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_plain_text_source.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_plain_text_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_content_block_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_content_block_delta_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_content_block_start_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_content_block_stop_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_message_delta_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_message_start_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_message_stop_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_raw_message_stream_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_redacted_thinking_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_redacted_thinking_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_request_document_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_request_mcp_server_tool_configuration_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_request_mcp_server_url_definition_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_request_mcp_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_search_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_server_tool_usage.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_server_tool_use_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_server_tool_use_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_signature_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_skill.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_skill_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_stop_reason.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_citation.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_citation_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_create_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_create_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_str_replace_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_str_replace_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_error_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_view_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_text_editor_code_execution_view_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_thinking_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_thinking_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_thinking_config_disabled_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_thinking_config_enabled_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_thinking_config_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_thinking_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_thinking_turns_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_choice_any_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_choice_auto_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_choice_none_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_choice_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_choice_tool_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_union_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_use_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_use_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_uses_keep_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_tool_uses_trigger_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_url_image_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_url_pdf_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_usage.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_error_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_error_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_error_code.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_request_error_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_result_block_content.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_result_block_param_content_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_result_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/beta_web_search_tool_result_error_code.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/deleted_file.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/file_list_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/file_metadata.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/file_upload_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/batch_list_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_deleted_message_batch.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch_canceled_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch_errored_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch_expired_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch_individual_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch_request_counts.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/messages/beta_message_batch_succeeded_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/model_list_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skill_create_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skill_create_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skill_delete_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skill_list_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skill_list_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skill_retrieve_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skills/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skills/version_create_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skills/version_create_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skills/version_delete_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skills/version_list_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skills/version_list_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta/skills/version_retrieve_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_api_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_authentication_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_billing_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_error_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_gateway_timeout_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_invalid_request_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_not_found_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_overloaded_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_permission_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/beta_rate_limit_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/cache_control_ephemeral_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/cache_creation.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_char_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_char_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_content_block_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_content_block_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_page_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_page_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_search_result_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citation_web_search_result_location_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citations_config_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citations_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citations_search_result_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/citations_web_search_result_location.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/completion.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/completion_create_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/content_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/content_block_delta_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/content_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/content_block_source_content_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/content_block_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/content_block_start_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/content_block_stop_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/document_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/image_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/input_json_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_count_tokens_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_count_tokens_tool_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_create_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_delta_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_delta_usage.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_start_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_stop_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_stream_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/message_tokens_count.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/batch_list_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/deleted_message_batch.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch_canceled_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch_errored_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch_expired_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch_individual_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch_request_counts.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/messages/message_batch_succeeded_result.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/metadata_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/model.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/model_info.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/model_list_params.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/model_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/plain_text_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_content_block_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_content_block_delta_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_content_block_start_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_content_block_stop_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_message_delta_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_message_start_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_message_stop_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/raw_message_stream_event.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/redacted_thinking_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/redacted_thinking_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/search_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/server_tool_usage.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/server_tool_use_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/server_tool_use_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/api_error_object.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/authentication_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/billing_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/error_object.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/error_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/gateway_timeout_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/invalid_request_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/not_found_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/overloaded_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/permission_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/shared/rate_limit_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/signature_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/stop_reason.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/text_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/text_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/text_citation.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/text_citation_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/text_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/thinking_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/thinking_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/thinking_config_disabled_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/thinking_config_enabled_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/thinking_config_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/thinking_delta.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_bash_20250124_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_choice_any_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_choice_auto_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_choice_none_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_choice_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_choice_tool_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_text_editor_20250124_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_text_editor_20250429_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_text_editor_20250728_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_union_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_use_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/tool_use_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/url_image_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/url_pdf_source_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/usage.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_tool_20250305_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_tool_request_error_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_tool_result_block.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_tool_result_block_content.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_tool_result_block_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_tool_result_block_param_content_param.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/src/anthropic/types/web_search_tool_result_error.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/messages/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/skills/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/skills/test_versions.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/test_files.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/test_models.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/beta/test_skills.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/messages/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/messages/test_batches.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/test_completions.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/test_messages.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/api_resources/test_models.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/conftest.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/decoders/test_jsonl.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/snapshots.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/fixtures/basic_response.txt +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/fixtures/incomplete_partial_json_response.txt +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/fixtures/tool_use_response.txt +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/helpers.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/streaming/test_messages.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/test_bedrock.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/test_vertex.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/tools/__init__.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/tools/__inline_snapshot__/test_runners/test_streaming_call_sync_events/9cb114c8-69bd-4111-841b-edee30333afd.json +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/lib/tools/test_functions.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/sample_file.txt +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_deepcopy.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_extract_files.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_files.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_legacy_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_qs.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_required_args.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_response.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_streaming.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_transform.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_utils/test_proxy.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/test_utils/test_typing.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tests/utils.py +0 -0
- {anthropic-0.72.0 → anthropic-0.73.0}/tools.md +0 -0
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.73.0 (2025-11-14)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.72.1...v0.73.0](https://github.com/anthropics/anthropic-sdk-python/compare/v0.72.1...v0.73.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** add support for structured outputs beta ([688da81](https://github.com/anthropics/anthropic-sdk-python/commit/688da8126df8a304c5f01f0dc63cda437a62c217))
|
|
10
|
+
|
|
11
|
+
## 0.72.1 (2025-11-11)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.72.0...v0.72.1](https://github.com/anthropics/anthropic-sdk-python/compare/v0.72.0...v0.72.1)
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **client:** close streams without requiring full consumption ([109b771](https://github.com/anthropics/anthropic-sdk-python/commit/109b77175c844c37e6e57899a732a0ba293a2942))
|
|
18
|
+
* compat with Python 3.14 ([bd2a137](https://github.com/anthropics/anthropic-sdk-python/commit/bd2a137a46cd899e28e81dd8d445dad23440674c))
|
|
19
|
+
* **compat:** update signatures of `model_dump` and `model_dump_json` for Pydantic v1 ([540f0f8](https://github.com/anthropics/anthropic-sdk-python/commit/540f0f8fdb0aa5d0d104259a59a0ee359296953e))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Chores
|
|
23
|
+
|
|
24
|
+
* **internal/tests:** avoid race condition with implicit client cleanup ([72767ce](https://github.com/anthropics/anthropic-sdk-python/commit/72767cebc31a9d5608f08533888a1cf69862a598))
|
|
25
|
+
* **internal:** grammar fix (it's -> its) ([9efe993](https://github.com/anthropics/anthropic-sdk-python/commit/9efe99371577c3ff51050aeab5d480a442577b46))
|
|
26
|
+
* **package:** drop Python 3.8 support ([e9af5d3](https://github.com/anthropics/anthropic-sdk-python/commit/e9af5d3676a0a77881a18bc9b4e8a30ecf46b017))
|
|
27
|
+
|
|
3
28
|
## 0.72.0 (2025-10-28)
|
|
4
29
|
|
|
5
30
|
Full Changelog: [v0.71.1...v0.72.0](https://github.com/anthropics/anthropic-sdk-python/compare/v0.71.1...v0.72.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: anthropic
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.73.0
|
|
4
4
|
Summary: The official Python library for the anthropic API
|
|
5
5
|
Project-URL: Homepage, https://github.com/anthropics/anthropic-sdk-python
|
|
6
6
|
Project-URL: Repository, https://github.com/anthropics/anthropic-sdk-python
|
|
@@ -13,7 +13,6 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Classifier: Operating System :: POSIX
|
|
15
15
|
Classifier: Operating System :: POSIX :: Linux
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.9
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -21,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
21
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
22
|
Classifier: Typing :: Typed
|
|
24
|
-
Requires-Python: >=3.
|
|
23
|
+
Requires-Python: >=3.9
|
|
25
24
|
Requires-Dist: anyio<5,>=3.5.0
|
|
26
25
|
Requires-Dist: distro<2,>=1.7.0
|
|
27
26
|
Requires-Dist: docstring-parser<1,>=0.15
|
|
@@ -45,7 +44,7 @@ Description-Content-Type: text/markdown
|
|
|
45
44
|
<!-- prettier-ignore -->
|
|
46
45
|
[)](https://pypi.org/project/anthropic/)
|
|
47
46
|
|
|
48
|
-
The Anthropic Python library provides convenient access to the Anthropic REST API from any Python 3.
|
|
47
|
+
The Anthropic Python library provides convenient access to the Anthropic REST API from any Python 3.9+
|
|
49
48
|
application. It includes type definitions for all request params and response fields,
|
|
50
49
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
|
51
50
|
|
|
@@ -909,7 +908,7 @@ print(anthropic.__version__)
|
|
|
909
908
|
|
|
910
909
|
## Requirements
|
|
911
910
|
|
|
912
|
-
Python 3.
|
|
911
|
+
Python 3.9 or higher.
|
|
913
912
|
|
|
914
913
|
## Contributing
|
|
915
914
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<!-- prettier-ignore -->
|
|
4
4
|
[)](https://pypi.org/project/anthropic/)
|
|
5
5
|
|
|
6
|
-
The Anthropic Python library provides convenient access to the Anthropic REST API from any Python 3.
|
|
6
|
+
The Anthropic Python library provides convenient access to the Anthropic REST API from any Python 3.9+
|
|
7
7
|
application. It includes type definitions for all request params and response fields,
|
|
8
8
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
|
9
9
|
|
|
@@ -867,7 +867,7 @@ print(anthropic.__version__)
|
|
|
867
867
|
|
|
868
868
|
## Requirements
|
|
869
869
|
|
|
870
|
-
Python 3.
|
|
870
|
+
Python 3.9 or higher.
|
|
871
871
|
|
|
872
872
|
## Contributing
|
|
873
873
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# /// script
|
|
2
|
+
# requires-python = ">=3.9"
|
|
3
|
+
# dependencies = [
|
|
4
|
+
# "anthropic",
|
|
5
|
+
# ]
|
|
6
|
+
#
|
|
7
|
+
# [tool.uv.sources]
|
|
8
|
+
# anthropic = { path = "../", editable = true }
|
|
9
|
+
# ///
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
import pydantic
|
|
13
|
+
|
|
14
|
+
import anthropic
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Order(pydantic.BaseModel):
|
|
18
|
+
product_name: str
|
|
19
|
+
price: float
|
|
20
|
+
quantity: int
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
client = anthropic.Anthropic()
|
|
24
|
+
|
|
25
|
+
prompt = """
|
|
26
|
+
Extract the product name, price, and quantity from this customer message:
|
|
27
|
+
"Hi, I’d like to order 2 packs of Green Tea for 5.50 dollars each."
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
parsed_message = client.beta.messages.parse(
|
|
31
|
+
model="claude-sonnet-4-5-20250929-structured-outputs",
|
|
32
|
+
messages=[{"role": "user", "content": prompt}],
|
|
33
|
+
max_tokens=1024,
|
|
34
|
+
output_format=Order,
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
print(parsed_message.parsed_output) # Order(product_name='Green Tea', price=5.5, quantity=2)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# /// script
|
|
2
|
+
# requires-python = ">=3.9"
|
|
3
|
+
# dependencies = [
|
|
4
|
+
# "anthropic",
|
|
5
|
+
# ]
|
|
6
|
+
#
|
|
7
|
+
# [tool.uv.sources]
|
|
8
|
+
# anthropic = { path = "../", editable = true }
|
|
9
|
+
# ///
|
|
10
|
+
|
|
11
|
+
import pydantic
|
|
12
|
+
|
|
13
|
+
import anthropic
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Order(pydantic.BaseModel):
|
|
17
|
+
product_name: str
|
|
18
|
+
price: float
|
|
19
|
+
quantity: int
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
client = anthropic.Anthropic()
|
|
23
|
+
|
|
24
|
+
prompt = """
|
|
25
|
+
Extract the product name, price, and quantity from this customer message:
|
|
26
|
+
"Hi, I’d like to order 2 packs of Green Tea for 5.50 dollars each."
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
with client.beta.messages.stream(
|
|
30
|
+
model="claude-sonnet-4-5-20250929-structured-outputs",
|
|
31
|
+
messages=[{"role": "user", "content": prompt}],
|
|
32
|
+
betas=["structured-outputs-2025-09-17"],
|
|
33
|
+
max_tokens=1024,
|
|
34
|
+
output_format=Order,
|
|
35
|
+
) as stream:
|
|
36
|
+
for event in stream:
|
|
37
|
+
if event.type == "text":
|
|
38
|
+
print(event.parsed_snapshot())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "anthropic"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.73.0"
|
|
4
4
|
description = "The official Python library for the anthropic API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "MIT"
|
|
@@ -17,11 +17,10 @@ dependencies = [
|
|
|
17
17
|
"jiter>=0.4.0, <1",
|
|
18
18
|
"docstring-parser>=0.15,<1",
|
|
19
19
|
]
|
|
20
|
-
requires-python = ">= 3.
|
|
20
|
+
requires-python = ">= 3.9"
|
|
21
21
|
classifiers = [
|
|
22
22
|
"Typing :: Typed",
|
|
23
23
|
"Intended Audience :: Developers",
|
|
24
|
-
"Programming Language :: Python :: 3.8",
|
|
25
24
|
"Programming Language :: Python :: 3.9",
|
|
26
25
|
"Programming Language :: Python :: 3.10",
|
|
27
26
|
"Programming Language :: Python :: 3.11",
|
|
@@ -136,7 +135,7 @@ format-command="ruff format --stdin-filename {filename}"
|
|
|
136
135
|
# there are a couple of flags that are still disabled by
|
|
137
136
|
# default in strict mode as they are experimental and niche.
|
|
138
137
|
typeCheckingMode = "strict"
|
|
139
|
-
pythonVersion = "3.
|
|
138
|
+
pythonVersion = "3.9"
|
|
140
139
|
|
|
141
140
|
exclude = [
|
|
142
141
|
".git",
|
|
@@ -161,7 +160,7 @@ show_error_codes = true
|
|
|
161
160
|
#
|
|
162
161
|
# We also exclude our `tests` as mypy doesn't always infer
|
|
163
162
|
# types correctly and Pyright will still catch any type errors.
|
|
164
|
-
exclude = ['src/anthropic/_files.py', '_dev/.*.py', 'tests/.*', 'examples/mcp_server_weather.py', 'examples/tools_with_mcp.py', 'examples/memory/basic.py']
|
|
163
|
+
exclude = ['src/anthropic/_files.py', '_dev/.*.py', 'tests/.*', 'examples/mcp_server_weather.py', 'examples/tools_with_mcp.py', 'examples/memory/basic.py', 'src/anthropic/lib/_parse/_transform.py']
|
|
165
164
|
|
|
166
165
|
strict_equality = true
|
|
167
166
|
implicit_reexport = true
|
|
@@ -3,22 +3,14 @@
|
|
|
3
3
|
-e .
|
|
4
4
|
annotated-types==0.7.0
|
|
5
5
|
# via pydantic
|
|
6
|
-
anyio==4.
|
|
7
|
-
# via
|
|
8
|
-
# anthropic
|
|
9
|
-
# httpx
|
|
10
|
-
anyio==4.8.0 ; python_full_version >= '3.9'
|
|
6
|
+
anyio==4.8.0
|
|
11
7
|
# via
|
|
12
8
|
# anthropic
|
|
13
9
|
# httpx
|
|
14
10
|
asttokens==3.0.0
|
|
15
11
|
# via inline-snapshot
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
boto3-stubs==1.40.54
|
|
19
|
-
botocore-stubs==1.38.30 ; python_full_version < '3.9'
|
|
20
|
-
# via boto3-stubs
|
|
21
|
-
botocore-stubs==1.40.54 ; python_full_version >= '3.9'
|
|
12
|
+
boto3-stubs==1.40.69
|
|
13
|
+
botocore-stubs==1.40.69
|
|
22
14
|
# via boto3-stubs
|
|
23
15
|
certifi==2024.12.14
|
|
24
16
|
# via
|
|
@@ -41,8 +33,7 @@ execnet==2.1.1
|
|
|
41
33
|
# via pytest-xdist
|
|
42
34
|
executing==2.2.1
|
|
43
35
|
# via inline-snapshot
|
|
44
|
-
griffe==1.
|
|
45
|
-
griffe==1.13.0 ; python_full_version >= '3.9'
|
|
36
|
+
griffe==1.13.0
|
|
46
37
|
h11==0.16.0
|
|
47
38
|
# via httpcore
|
|
48
39
|
httpcore==1.0.9
|
|
@@ -55,14 +46,11 @@ idna==3.10
|
|
|
55
46
|
# via
|
|
56
47
|
# anyio
|
|
57
48
|
# httpx
|
|
58
|
-
importlib-metadata==8.
|
|
59
|
-
importlib-metadata==8.6.1 ; python_full_version >= '3.9'
|
|
49
|
+
importlib-metadata==8.6.1
|
|
60
50
|
iniconfig==2.0.0
|
|
61
51
|
# via pytest
|
|
62
|
-
inline-snapshot==0.
|
|
63
|
-
jiter==0.
|
|
64
|
-
# via anthropic
|
|
65
|
-
jiter==0.11.0 ; python_full_version >= '3.9'
|
|
52
|
+
inline-snapshot==0.31.1
|
|
53
|
+
jiter==0.12.0
|
|
66
54
|
# via anthropic
|
|
67
55
|
markdown-it-py==3.0.0
|
|
68
56
|
# via rich
|
|
@@ -77,62 +65,46 @@ packaging==24.2
|
|
|
77
65
|
# via pytest
|
|
78
66
|
pluggy==1.5.0
|
|
79
67
|
# via pytest
|
|
80
|
-
pydantic==2.10.
|
|
81
|
-
# via anthropic
|
|
82
|
-
pydantic==2.11.9 ; python_full_version >= '3.9'
|
|
68
|
+
pydantic==2.10.3
|
|
83
69
|
# via anthropic
|
|
84
|
-
pydantic-core==2.27.
|
|
85
|
-
# via pydantic
|
|
86
|
-
pydantic-core==2.33.2 ; python_full_version >= '3.9'
|
|
70
|
+
pydantic-core==2.27.1
|
|
87
71
|
# via pydantic
|
|
88
72
|
pygments==2.19.1
|
|
89
73
|
# via
|
|
90
74
|
# pytest
|
|
91
75
|
# rich
|
|
92
76
|
pyright==1.1.399
|
|
93
|
-
pytest==8.
|
|
94
|
-
# via
|
|
95
|
-
# inline-snapshot
|
|
96
|
-
# pytest-asyncio
|
|
97
|
-
# pytest-xdist
|
|
98
|
-
pytest==8.4.1 ; python_full_version >= '3.9'
|
|
77
|
+
pytest==8.4.1
|
|
99
78
|
# via
|
|
100
79
|
# inline-snapshot
|
|
101
80
|
# pytest-asyncio
|
|
102
81
|
# pytest-xdist
|
|
103
82
|
pytest-asyncio==0.24.0
|
|
104
|
-
pytest-xdist==3.
|
|
105
|
-
pytest-xdist==3.7.0 ; python_full_version >= '3.9'
|
|
83
|
+
pytest-xdist==3.7.0
|
|
106
84
|
python-dateutil==2.9.0.post0
|
|
107
85
|
# via time-machine
|
|
108
|
-
pytz==2024.2 ; python_full_version < '3.9'
|
|
109
|
-
# via dirty-equals
|
|
110
86
|
respx==0.22.0
|
|
111
87
|
rich==13.9.4
|
|
112
88
|
# via inline-snapshot
|
|
113
89
|
ruff==0.9.4
|
|
114
90
|
six==1.17.0
|
|
115
|
-
# via
|
|
116
|
-
# astunparse
|
|
117
|
-
# python-dateutil
|
|
91
|
+
# via python-dateutil
|
|
118
92
|
sniffio==1.3.1
|
|
119
93
|
# via
|
|
120
94
|
# anthropic
|
|
121
95
|
# anyio
|
|
122
|
-
time-machine==2.
|
|
123
|
-
time-machine==2.16.0 ; python_full_version >= '3.9'
|
|
96
|
+
time-machine==2.16.0
|
|
124
97
|
tomli==2.2.1 ; python_full_version < '3.11'
|
|
125
98
|
# via
|
|
126
99
|
# inline-snapshot
|
|
127
100
|
# mypy
|
|
128
101
|
# pytest
|
|
129
|
-
types-awscrt==0.28.
|
|
102
|
+
types-awscrt==0.28.2
|
|
130
103
|
# via botocore-stubs
|
|
131
104
|
types-s3transfer==0.14.0
|
|
132
105
|
# via boto3-stubs
|
|
133
106
|
typing-extensions==4.12.2
|
|
134
107
|
# via
|
|
135
|
-
# annotated-types
|
|
136
108
|
# anthropic
|
|
137
109
|
# anyio
|
|
138
110
|
# boto3-stubs
|
|
@@ -141,12 +113,5 @@ typing-extensions==4.12.2
|
|
|
141
113
|
# pydantic-core
|
|
142
114
|
# pyright
|
|
143
115
|
# rich
|
|
144
|
-
|
|
145
|
-
typing-inspection==0.4.1 ; python_full_version >= '3.9'
|
|
146
|
-
# via pydantic
|
|
147
|
-
wheel==0.45.1 ; python_full_version < '3.9'
|
|
148
|
-
# via astunparse
|
|
149
|
-
zipp==3.20.2 ; python_full_version < '3.9'
|
|
150
|
-
# via importlib-metadata
|
|
151
|
-
zipp==3.21.0 ; python_full_version >= '3.9'
|
|
116
|
+
zipp==3.21.0
|
|
152
117
|
# via importlib-metadata
|
|
@@ -44,6 +44,7 @@ from ._exceptions import (
|
|
|
44
44
|
)
|
|
45
45
|
from ._base_client import DefaultHttpxClient, DefaultAioHttpClient, DefaultAsyncHttpxClient
|
|
46
46
|
from ._utils._logs import setup_logging as _setup_logging
|
|
47
|
+
from .lib._parse._transform import transform_schema
|
|
47
48
|
|
|
48
49
|
__all__ = [
|
|
49
50
|
"types",
|
|
@@ -91,6 +92,7 @@ __all__ = [
|
|
|
91
92
|
"AI_PROMPT",
|
|
92
93
|
"beta_tool",
|
|
93
94
|
"beta_async_tool",
|
|
95
|
+
"transform_schema",
|
|
94
96
|
]
|
|
95
97
|
|
|
96
98
|
if not _t.TYPE_CHECKING:
|
|
@@ -131,6 +131,12 @@ def model_json(model: pydantic.BaseModel, *, indent: int | None = None) -> str:
|
|
|
131
131
|
return model.model_dump_json(indent=indent)
|
|
132
132
|
|
|
133
133
|
|
|
134
|
+
def model_parse_json(model: type[_ModelT], data: str | bytes) -> _ModelT:
|
|
135
|
+
if PYDANTIC_V1:
|
|
136
|
+
return model.parse_raw(data) # pyright: ignore[reportDeprecated]
|
|
137
|
+
return model.model_validate_json(data)
|
|
138
|
+
|
|
139
|
+
|
|
134
140
|
def model_dump(
|
|
135
141
|
model: pydantic.BaseModel,
|
|
136
142
|
*,
|
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
4
|
import inspect
|
|
5
|
+
import weakref
|
|
5
6
|
from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, Optional, cast
|
|
6
7
|
from datetime import date, datetime
|
|
7
8
|
from typing_extensions import (
|
|
@@ -272,15 +273,16 @@ class BaseModel(pydantic.BaseModel):
|
|
|
272
273
|
mode: Literal["json", "python"] | str = "python",
|
|
273
274
|
include: IncEx | None = None,
|
|
274
275
|
exclude: IncEx | None = None,
|
|
276
|
+
context: Any | None = None,
|
|
275
277
|
by_alias: bool | None = None,
|
|
276
278
|
exclude_unset: bool = False,
|
|
277
279
|
exclude_defaults: bool = False,
|
|
278
280
|
exclude_none: bool = False,
|
|
281
|
+
exclude_computed_fields: bool = False,
|
|
279
282
|
round_trip: bool = False,
|
|
280
283
|
warnings: bool | Literal["none", "warn", "error"] = True,
|
|
281
|
-
context: dict[str, Any] | None = None,
|
|
282
|
-
serialize_as_any: bool = False,
|
|
283
284
|
fallback: Callable[[Any], Any] | None = None,
|
|
285
|
+
serialize_as_any: bool = False,
|
|
284
286
|
) -> dict[str, Any]:
|
|
285
287
|
"""Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#modelmodel_dump
|
|
286
288
|
|
|
@@ -288,16 +290,24 @@ class BaseModel(pydantic.BaseModel):
|
|
|
288
290
|
|
|
289
291
|
Args:
|
|
290
292
|
mode: The mode in which `to_python` should run.
|
|
291
|
-
If mode is 'json', the
|
|
292
|
-
If mode is 'python', the
|
|
293
|
-
include: A
|
|
294
|
-
exclude: A
|
|
293
|
+
If mode is 'json', the output will only contain JSON serializable types.
|
|
294
|
+
If mode is 'python', the output may contain non-JSON-serializable Python objects.
|
|
295
|
+
include: A set of fields to include in the output.
|
|
296
|
+
exclude: A set of fields to exclude from the output.
|
|
297
|
+
context: Additional context to pass to the serializer.
|
|
295
298
|
by_alias: Whether to use the field's alias in the dictionary key if defined.
|
|
296
|
-
exclude_unset: Whether to exclude fields that
|
|
297
|
-
exclude_defaults: Whether to exclude fields that are set to their default value
|
|
298
|
-
exclude_none: Whether to exclude fields that have a value of `None
|
|
299
|
-
|
|
300
|
-
|
|
299
|
+
exclude_unset: Whether to exclude fields that have not been explicitly set.
|
|
300
|
+
exclude_defaults: Whether to exclude fields that are set to their default value.
|
|
301
|
+
exclude_none: Whether to exclude fields that have a value of `None`.
|
|
302
|
+
exclude_computed_fields: Whether to exclude computed fields.
|
|
303
|
+
While this can be useful for round-tripping, it is usually recommended to use the dedicated
|
|
304
|
+
`round_trip` parameter instead.
|
|
305
|
+
round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
|
|
306
|
+
warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
|
|
307
|
+
"error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
|
|
308
|
+
fallback: A function to call when an unknown value is encountered. If not provided,
|
|
309
|
+
a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
|
|
310
|
+
serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
|
|
301
311
|
|
|
302
312
|
Returns:
|
|
303
313
|
A dictionary representation of the model.
|
|
@@ -314,6 +324,8 @@ class BaseModel(pydantic.BaseModel):
|
|
|
314
324
|
raise ValueError("serialize_as_any is only supported in Pydantic v2")
|
|
315
325
|
if fallback is not None:
|
|
316
326
|
raise ValueError("fallback is only supported in Pydantic v2")
|
|
327
|
+
if exclude_computed_fields != False:
|
|
328
|
+
raise ValueError("exclude_computed_fields is only supported in Pydantic v2")
|
|
317
329
|
dumped = super().dict( # pyright: ignore[reportDeprecated]
|
|
318
330
|
include=include,
|
|
319
331
|
exclude=exclude,
|
|
@@ -330,15 +342,17 @@ class BaseModel(pydantic.BaseModel):
|
|
|
330
342
|
self,
|
|
331
343
|
*,
|
|
332
344
|
indent: int | None = None,
|
|
345
|
+
ensure_ascii: bool = False,
|
|
333
346
|
include: IncEx | None = None,
|
|
334
347
|
exclude: IncEx | None = None,
|
|
348
|
+
context: Any | None = None,
|
|
335
349
|
by_alias: bool | None = None,
|
|
336
350
|
exclude_unset: bool = False,
|
|
337
351
|
exclude_defaults: bool = False,
|
|
338
352
|
exclude_none: bool = False,
|
|
353
|
+
exclude_computed_fields: bool = False,
|
|
339
354
|
round_trip: bool = False,
|
|
340
355
|
warnings: bool | Literal["none", "warn", "error"] = True,
|
|
341
|
-
context: dict[str, Any] | None = None,
|
|
342
356
|
fallback: Callable[[Any], Any] | None = None,
|
|
343
357
|
serialize_as_any: bool = False,
|
|
344
358
|
) -> str:
|
|
@@ -370,6 +384,10 @@ class BaseModel(pydantic.BaseModel):
|
|
|
370
384
|
raise ValueError("serialize_as_any is only supported in Pydantic v2")
|
|
371
385
|
if fallback is not None:
|
|
372
386
|
raise ValueError("fallback is only supported in Pydantic v2")
|
|
387
|
+
if ensure_ascii != False:
|
|
388
|
+
raise ValueError("ensure_ascii is only supported in Pydantic v2")
|
|
389
|
+
if exclude_computed_fields != False:
|
|
390
|
+
raise ValueError("exclude_computed_fields is only supported in Pydantic v2")
|
|
373
391
|
return super().json( # type: ignore[reportDeprecated]
|
|
374
392
|
indent=indent,
|
|
375
393
|
include=include,
|
|
@@ -589,6 +607,9 @@ class CachedDiscriminatorType(Protocol):
|
|
|
589
607
|
__discriminator__: DiscriminatorDetails
|
|
590
608
|
|
|
591
609
|
|
|
610
|
+
DISCRIMINATOR_CACHE: weakref.WeakKeyDictionary[type, DiscriminatorDetails] = weakref.WeakKeyDictionary()
|
|
611
|
+
|
|
612
|
+
|
|
592
613
|
class DiscriminatorDetails:
|
|
593
614
|
field_name: str
|
|
594
615
|
"""The name of the discriminator field in the variant class, e.g.
|
|
@@ -631,8 +652,9 @@ class DiscriminatorDetails:
|
|
|
631
652
|
|
|
632
653
|
|
|
633
654
|
def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any, ...]) -> DiscriminatorDetails | None:
|
|
634
|
-
|
|
635
|
-
|
|
655
|
+
cached = DISCRIMINATOR_CACHE.get(union)
|
|
656
|
+
if cached is not None:
|
|
657
|
+
return cached
|
|
636
658
|
|
|
637
659
|
discriminator_field_name: str | None = None
|
|
638
660
|
|
|
@@ -685,7 +707,7 @@ def _build_discriminated_union_meta(*, union: type, meta_annotations: tuple[Any,
|
|
|
685
707
|
discriminator_field=discriminator_field_name,
|
|
686
708
|
discriminator_alias=discriminator_alias,
|
|
687
709
|
)
|
|
688
|
-
|
|
710
|
+
DISCRIMINATOR_CACHE.setdefault(union, details)
|
|
689
711
|
return details
|
|
690
712
|
|
|
691
713
|
|
|
@@ -752,7 +774,7 @@ else:
|
|
|
752
774
|
|
|
753
775
|
|
|
754
776
|
if not PYDANTIC_V1:
|
|
755
|
-
from pydantic import TypeAdapter as _TypeAdapter
|
|
777
|
+
from pydantic import TypeAdapter as _TypeAdapter, computed_field as computed_field
|
|
756
778
|
|
|
757
779
|
_CachedTypeAdapter = cast("TypeAdapter[object]", lru_cache(maxsize=None)(_TypeAdapter))
|
|
758
780
|
|
|
@@ -789,6 +811,18 @@ elif not TYPE_CHECKING: # TODO: condition is weird
|
|
|
789
811
|
def TypeAdapter(*_args: Any, **_kwargs: Any) -> Any:
|
|
790
812
|
raise RuntimeError("attempted to use TypeAdapter in pydantic v1")
|
|
791
813
|
|
|
814
|
+
def computed_field(func: Any | None = None, /, **__: Any) -> Any:
|
|
815
|
+
def _exc_func(*_: Any, **__: Any) -> Any:
|
|
816
|
+
raise RuntimeError("attempted to use computed_field in pydantic v1")
|
|
817
|
+
|
|
818
|
+
def _dec(*_: Any, **__: Any) -> Any:
|
|
819
|
+
return _exc_func
|
|
820
|
+
|
|
821
|
+
if func is not None:
|
|
822
|
+
return _dec(func)
|
|
823
|
+
else:
|
|
824
|
+
return _dec
|
|
825
|
+
|
|
792
826
|
|
|
793
827
|
class FinalRequestOptionsInput(TypedDict, total=False):
|
|
794
828
|
method: Required[str]
|
|
@@ -113,9 +113,8 @@ class Stream(Generic[_T], metaclass=_SyncStreamMeta):
|
|
|
113
113
|
response=self.response,
|
|
114
114
|
)
|
|
115
115
|
|
|
116
|
-
#
|
|
117
|
-
|
|
118
|
-
...
|
|
116
|
+
# As we might not fully consume the response stream, we need to close it explicitly
|
|
117
|
+
response.close()
|
|
119
118
|
|
|
120
119
|
def __enter__(self) -> Self:
|
|
121
120
|
return self
|
|
@@ -231,9 +230,8 @@ class AsyncStream(Generic[_T], metaclass=_AsyncStreamMeta):
|
|
|
231
230
|
response=self.response,
|
|
232
231
|
)
|
|
233
232
|
|
|
234
|
-
#
|
|
235
|
-
|
|
236
|
-
...
|
|
233
|
+
# As we might not fully consume the response stream, we need to close it explicitly
|
|
234
|
+
await response.aclose()
|
|
237
235
|
|
|
238
236
|
async def __aenter__(self) -> Self:
|
|
239
237
|
return self
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import sys
|
|
4
3
|
import asyncio
|
|
5
4
|
import functools
|
|
6
|
-
import
|
|
7
|
-
from typing import Any, TypeVar, Callable, Awaitable
|
|
5
|
+
from typing import TypeVar, Callable, Awaitable
|
|
8
6
|
from typing_extensions import ParamSpec
|
|
9
7
|
|
|
10
8
|
import anyio
|
|
@@ -15,34 +13,11 @@ T_Retval = TypeVar("T_Retval")
|
|
|
15
13
|
T_ParamSpec = ParamSpec("T_ParamSpec")
|
|
16
14
|
|
|
17
15
|
|
|
18
|
-
if sys.version_info >= (3, 9):
|
|
19
|
-
_asyncio_to_thread = asyncio.to_thread
|
|
20
|
-
else:
|
|
21
|
-
# backport of https://docs.python.org/3/library/asyncio-task.html#asyncio.to_thread
|
|
22
|
-
# for Python 3.8 support
|
|
23
|
-
async def _asyncio_to_thread(
|
|
24
|
-
func: Callable[T_ParamSpec, T_Retval], /, *args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs
|
|
25
|
-
) -> Any:
|
|
26
|
-
"""Asynchronously run function *func* in a separate thread.
|
|
27
|
-
|
|
28
|
-
Any *args and **kwargs supplied for this function are directly passed
|
|
29
|
-
to *func*. Also, the current :class:`contextvars.Context` is propagated,
|
|
30
|
-
allowing context variables from the main thread to be accessed in the
|
|
31
|
-
separate thread.
|
|
32
|
-
|
|
33
|
-
Returns a coroutine that can be awaited to get the eventual result of *func*.
|
|
34
|
-
"""
|
|
35
|
-
loop = asyncio.events.get_running_loop()
|
|
36
|
-
ctx = contextvars.copy_context()
|
|
37
|
-
func_call = functools.partial(ctx.run, func, *args, **kwargs)
|
|
38
|
-
return await loop.run_in_executor(None, func_call)
|
|
39
|
-
|
|
40
|
-
|
|
41
16
|
async def to_thread(
|
|
42
17
|
func: Callable[T_ParamSpec, T_Retval], /, *args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs
|
|
43
18
|
) -> T_Retval:
|
|
44
19
|
if sniffio.current_async_library() == "asyncio":
|
|
45
|
-
return await
|
|
20
|
+
return await asyncio.to_thread(func, *args, **kwargs)
|
|
46
21
|
|
|
47
22
|
return await anyio.to_thread.run_sync(
|
|
48
23
|
functools.partial(func, *args, **kwargs),
|
|
@@ -53,10 +28,7 @@ async def to_thread(
|
|
|
53
28
|
def asyncify(function: Callable[T_ParamSpec, T_Retval]) -> Callable[T_ParamSpec, Awaitable[T_Retval]]:
|
|
54
29
|
"""
|
|
55
30
|
Take a blocking function and create an async one that receives the same
|
|
56
|
-
positional and keyword arguments.
|
|
57
|
-
asyncio.to_thread to run the function in a separate thread. For python version
|
|
58
|
-
3.8, it uses locally defined copy of the asyncio.to_thread function which was
|
|
59
|
-
introduced in python 3.9.
|
|
31
|
+
positional and keyword arguments.
|
|
60
32
|
|
|
61
33
|
Usage:
|
|
62
34
|
|
|
@@ -218,7 +218,7 @@ def _transform_recursive(
|
|
|
218
218
|
return data
|
|
219
219
|
|
|
220
220
|
if isinstance(data, pydantic.BaseModel):
|
|
221
|
-
return model_dump(data, exclude_unset=True, mode="json")
|
|
221
|
+
return model_dump(data, exclude_unset=True, mode="json", exclude=getattr(data, "__api_exclude__", None))
|
|
222
222
|
|
|
223
223
|
annotated_type = _get_annotated_type(annotation)
|
|
224
224
|
if annotated_type is None:
|
|
@@ -133,7 +133,7 @@ def is_given(obj: _T | NotGiven | Omit) -> TypeGuard[_T]:
|
|
|
133
133
|
# Type safe methods for narrowing types with TypeVars.
|
|
134
134
|
# The default narrowing for isinstance(obj, dict) is dict[unknown, unknown],
|
|
135
135
|
# however this cause Pyright to rightfully report errors. As we know we don't
|
|
136
|
-
# care about the contained types we can safely use `object` in
|
|
136
|
+
# care about the contained types we can safely use `object` in its place.
|
|
137
137
|
#
|
|
138
138
|
# There are two separate functions defined, `is_*` and `is_*_t` for different use cases.
|
|
139
139
|
# `is_*` is for when you're dealing with an unknown input
|