anthropic 0.75.0__tar.gz → 0.76.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.
Files changed (538) hide show
  1. anthropic-0.76.0/.release-please-manifest.json +3 -0
  2. {anthropic-0.75.0 → anthropic-0.76.0}/CHANGELOG.md +33 -0
  3. {anthropic-0.75.0 → anthropic-0.76.0}/PKG-INFO +4 -2
  4. {anthropic-0.75.0 → anthropic-0.76.0}/README.md +2 -1
  5. {anthropic-0.75.0 → anthropic-0.76.0}/pyproject.toml +13 -9
  6. anthropic-0.76.0/requirements-dev.lock +135 -0
  7. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_base_client.py +140 -11
  8. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_client.py +4 -12
  9. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_models.py +16 -1
  10. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_streaming.py +78 -76
  11. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_types.py +12 -2
  12. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_version.py +1 -1
  13. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/tools/_beta_compaction_control.py +2 -2
  14. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/tools/_beta_runner.py +17 -0
  15. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/messages/messages.py +62 -27
  16. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/messages/messages.py +2 -0
  17. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_container.py +4 -0
  18. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_container_params.py +2 -0
  19. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_container_upload_block.py +2 -0
  20. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_container_upload_block_param.py +5 -0
  21. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_direct_caller.py +2 -0
  22. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_direct_caller_param.py +2 -0
  23. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_mcp_tool_config_param.py +2 -0
  24. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_mcp_tool_default_config_param.py +2 -0
  25. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_mcp_toolset_param.py +6 -0
  26. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_server_tool_caller.py +2 -0
  27. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_server_tool_caller_param.py +2 -0
  28. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_skill.py +2 -0
  29. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_skill_params.py +2 -0
  30. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_choice_any_param.py +2 -0
  31. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_choice_auto_param.py +2 -0
  32. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_choice_none_param.py +2 -0
  33. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_choice_tool_param.py +2 -0
  34. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_param.py +5 -0
  35. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_reference_block_param.py +2 -0
  36. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_20250305_param.py +5 -0
  37. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch_individual_response.py +4 -0
  38. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch_individual_response.py +4 -0
  39. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_choice_any_param.py +2 -0
  40. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_choice_auto_param.py +2 -0
  41. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_choice_none_param.py +2 -0
  42. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_choice_tool_param.py +2 -0
  43. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_param.py +5 -0
  44. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_tool_20250305_param.py +5 -0
  45. anthropic-0.76.0/tests/lib/_parse/__inline_snapshot__/test_beta_messages/TestAsyncMessages.test_stream_with_raw_schema/48aac7c3-f271-47b3-854b-af4ed31e10bb.json +3 -0
  46. anthropic-0.76.0/tests/lib/_parse/test_beta_messages.py +43 -0
  47. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/snapshots.py +62 -1
  48. anthropic-0.76.0/tests/lib/tools/__init__.py +0 -0
  49. anthropic-0.76.0/tests/lib/tools/__inline_snapshot__/test_runners/TestSyncRunTools.test_server_side_tool/a0a711eb-ee0e-4a42-88d6-5c7f83c0f25a.txt +1 -0
  50. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/tools/test_runners.py +37 -0
  51. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_client.py +185 -2
  52. anthropic-0.76.0/uv.lock +2339 -0
  53. anthropic-0.75.0/.release-please-manifest.json +0 -3
  54. anthropic-0.75.0/requirements-dev.lock +0 -117
  55. anthropic-0.75.0/uv.lock +0 -1855
  56. {anthropic-0.75.0 → anthropic-0.76.0}/.gitignore +0 -0
  57. {anthropic-0.75.0 → anthropic-0.76.0}/CONTRIBUTING.md +0 -0
  58. {anthropic-0.75.0 → anthropic-0.76.0}/LICENSE +0 -0
  59. {anthropic-0.75.0 → anthropic-0.76.0}/SECURITY.md +0 -0
  60. {anthropic-0.75.0 → anthropic-0.76.0}/api.md +0 -0
  61. {anthropic-0.75.0 → anthropic-0.76.0}/bin/check-release-environment +0 -0
  62. {anthropic-0.75.0 → anthropic-0.76.0}/bin/publish-pypi +0 -0
  63. {anthropic-0.75.0 → anthropic-0.76.0}/examples/.keep +0 -0
  64. {anthropic-0.75.0 → anthropic-0.76.0}/examples/auto_compaction.py +0 -0
  65. {anthropic-0.75.0 → anthropic-0.76.0}/examples/azure.py +0 -0
  66. {anthropic-0.75.0 → anthropic-0.76.0}/examples/batch_results.py +0 -0
  67. {anthropic-0.75.0 → anthropic-0.76.0}/examples/bedrock.py +0 -0
  68. {anthropic-0.75.0 → anthropic-0.76.0}/examples/images.py +0 -0
  69. {anthropic-0.75.0 → anthropic-0.76.0}/examples/logo.png +0 -0
  70. {anthropic-0.75.0 → anthropic-0.76.0}/examples/memory/basic.py +0 -0
  71. {anthropic-0.75.0 → anthropic-0.76.0}/examples/messages.py +0 -0
  72. {anthropic-0.75.0 → anthropic-0.76.0}/examples/messages_stream.py +0 -0
  73. {anthropic-0.75.0 → anthropic-0.76.0}/examples/structured_outputs.py +0 -0
  74. {anthropic-0.75.0 → anthropic-0.76.0}/examples/structured_outputs_streaming.py +0 -0
  75. {anthropic-0.75.0 → anthropic-0.76.0}/examples/text_completions_demo_async.py +0 -0
  76. {anthropic-0.75.0 → anthropic-0.76.0}/examples/text_completions_demo_sync.py +0 -0
  77. {anthropic-0.75.0 → anthropic-0.76.0}/examples/text_completions_streaming.py +0 -0
  78. {anthropic-0.75.0 → anthropic-0.76.0}/examples/thinking.py +0 -0
  79. {anthropic-0.75.0 → anthropic-0.76.0}/examples/thinking_stream.py +0 -0
  80. {anthropic-0.75.0 → anthropic-0.76.0}/examples/tools.py +0 -0
  81. {anthropic-0.75.0 → anthropic-0.76.0}/examples/tools_runner.py +0 -0
  82. {anthropic-0.75.0 → anthropic-0.76.0}/examples/tools_runner_search_tool.py +0 -0
  83. {anthropic-0.75.0 → anthropic-0.76.0}/examples/tools_stream.py +0 -0
  84. {anthropic-0.75.0 → anthropic-0.76.0}/examples/vertex.py +0 -0
  85. {anthropic-0.75.0 → anthropic-0.76.0}/examples/web_search.py +0 -0
  86. {anthropic-0.75.0 → anthropic-0.76.0}/examples/web_search_stream.py +0 -0
  87. {anthropic-0.75.0 → anthropic-0.76.0}/helpers.md +0 -0
  88. {anthropic-0.75.0 → anthropic-0.76.0}/release-please-config.json +0 -0
  89. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/__init__.py +0 -0
  90. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_compat.py +0 -0
  91. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_constants.py +0 -0
  92. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_decoders/jsonl.py +0 -0
  93. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_exceptions.py +0 -0
  94. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_files.py +0 -0
  95. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_legacy_response.py +0 -0
  96. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_qs.py +0 -0
  97. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_resource.py +0 -0
  98. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_response.py +0 -0
  99. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/__init__.py +0 -0
  100. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_compat.py +0 -0
  101. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_datetime_parse.py +0 -0
  102. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_httpx.py +0 -0
  103. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_logs.py +0 -0
  104. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_proxy.py +0 -0
  105. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_reflection.py +0 -0
  106. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_resources_proxy.py +0 -0
  107. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_streams.py +0 -0
  108. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_sync.py +0 -0
  109. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_transform.py +0 -0
  110. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_typing.py +0 -0
  111. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/_utils/_utils.py +0 -0
  112. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/.keep +0 -0
  113. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/__init__.py +0 -0
  114. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/_extras/__init__.py +0 -0
  115. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/_extras/_common.py +0 -0
  116. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/_extras/_google_auth.py +0 -0
  117. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/_files.py +0 -0
  118. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/_parse/_response.py +0 -0
  119. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/_parse/_transform.py +0 -0
  120. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/bedrock/__init__.py +0 -0
  121. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/bedrock/_auth.py +0 -0
  122. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/bedrock/_beta.py +0 -0
  123. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/bedrock/_beta_messages.py +0 -0
  124. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/bedrock/_client.py +0 -0
  125. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/bedrock/_stream.py +0 -0
  126. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/bedrock/_stream_decoder.py +0 -0
  127. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/foundry.md +0 -0
  128. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/foundry.py +0 -0
  129. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/streaming/__init__.py +0 -0
  130. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/streaming/_beta_messages.py +0 -0
  131. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/streaming/_beta_types.py +0 -0
  132. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/streaming/_messages.py +0 -0
  133. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/streaming/_types.py +0 -0
  134. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/tools/__init__.py +0 -0
  135. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/tools/_beta_builtin_memory_tool.py +0 -0
  136. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/tools/_beta_functions.py +0 -0
  137. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/vertex/__init__.py +0 -0
  138. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/vertex/_auth.py +0 -0
  139. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/vertex/_beta.py +0 -0
  140. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/vertex/_beta_messages.py +0 -0
  141. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/lib/vertex/_client.py +0 -0
  142. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/pagination.py +0 -0
  143. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/py.typed +0 -0
  144. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/__init__.py +0 -0
  145. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/__init__.py +0 -0
  146. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/beta.py +0 -0
  147. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/files.py +0 -0
  148. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/messages/__init__.py +0 -0
  149. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/messages/batches.py +0 -0
  150. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/models.py +0 -0
  151. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/skills/__init__.py +0 -0
  152. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/skills/skills.py +0 -0
  153. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/beta/skills/versions.py +0 -0
  154. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/completions.py +0 -0
  155. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/messages/__init__.py +0 -0
  156. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/messages/batches.py +0 -0
  157. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/resources/models.py +0 -0
  158. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/__init__.py +0 -0
  159. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/anthropic_beta_param.py +0 -0
  160. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/base64_image_source_param.py +0 -0
  161. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/base64_pdf_source_param.py +0 -0
  162. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/__init__.py +0 -0
  163. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_all_thinking_turns_param.py +0 -0
  164. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_base64_image_source_param.py +0 -0
  165. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_base64_pdf_block_param.py +0 -0
  166. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_base64_pdf_source.py +0 -0
  167. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_base64_pdf_source_param.py +0 -0
  168. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_output_block.py +0 -0
  169. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_output_block_param.py +0 -0
  170. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_result_block.py +0 -0
  171. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_result_block_param.py +0 -0
  172. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_block.py +0 -0
  173. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_block_param.py +0 -0
  174. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_error.py +0 -0
  175. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_bash_code_execution_tool_result_error_param.py +0 -0
  176. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_cache_control_ephemeral_param.py +0 -0
  177. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_cache_creation.py +0 -0
  178. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_char_location.py +0 -0
  179. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_char_location_param.py +0 -0
  180. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_config.py +0 -0
  181. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_content_block_location.py +0 -0
  182. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_content_block_location_param.py +0 -0
  183. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_page_location.py +0 -0
  184. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_page_location_param.py +0 -0
  185. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_search_result_location.py +0 -0
  186. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_search_result_location_param.py +0 -0
  187. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citation_web_search_result_location_param.py +0 -0
  188. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citations_config_param.py +0 -0
  189. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citations_delta.py +0 -0
  190. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_citations_web_search_result_location.py +0 -0
  191. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_clear_thinking_20251015_edit_param.py +0 -0
  192. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_clear_thinking_20251015_edit_response.py +0 -0
  193. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_clear_tool_uses_20250919_edit_param.py +0 -0
  194. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_clear_tool_uses_20250919_edit_response.py +0 -0
  195. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_output_block.py +0 -0
  196. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_output_block_param.py +0 -0
  197. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_result_block.py +0 -0
  198. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_result_block_param.py +0 -0
  199. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_20250522_param.py +0 -0
  200. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_20250825_param.py +0 -0
  201. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block.py +0 -0
  202. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block_content.py +0 -0
  203. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block_param.py +0 -0
  204. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_result_block_param_content_param.py +0 -0
  205. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_result_error.py +0 -0
  206. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_result_error_code.py +0 -0
  207. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_code_execution_tool_result_error_param.py +0 -0
  208. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_content_block.py +0 -0
  209. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_content_block_param.py +0 -0
  210. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_content_block_source_content_param.py +0 -0
  211. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_content_block_source_param.py +0 -0
  212. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_context_management_config_param.py +0 -0
  213. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_context_management_response.py +0 -0
  214. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_count_tokens_context_management_response.py +0 -0
  215. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_document_block.py +0 -0
  216. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_file_document_source_param.py +0 -0
  217. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_file_image_source_param.py +0 -0
  218. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_image_block_param.py +0 -0
  219. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_input_json_delta.py +0 -0
  220. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_input_tokens_clear_at_least_param.py +0 -0
  221. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_input_tokens_trigger_param.py +0 -0
  222. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_json_output_format_param.py +0 -0
  223. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_mcp_tool_result_block.py +0 -0
  224. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_mcp_tool_use_block.py +0 -0
  225. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_mcp_tool_use_block_param.py +0 -0
  226. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_command.py +0 -0
  227. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_create_command.py +0 -0
  228. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_delete_command.py +0 -0
  229. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_insert_command.py +0 -0
  230. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_param.py +0 -0
  231. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_rename_command.py +0 -0
  232. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_str_replace_command.py +0 -0
  233. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_memory_tool_20250818_view_command.py +0 -0
  234. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_message.py +0 -0
  235. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_message_delta_usage.py +0 -0
  236. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_message_param.py +0 -0
  237. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_message_tokens_count.py +0 -0
  238. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_metadata_param.py +0 -0
  239. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_model_info.py +0 -0
  240. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_output_config_param.py +0 -0
  241. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_plain_text_source.py +0 -0
  242. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_plain_text_source_param.py +0 -0
  243. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_content_block_delta.py +0 -0
  244. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_content_block_delta_event.py +0 -0
  245. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_content_block_start_event.py +0 -0
  246. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_content_block_stop_event.py +0 -0
  247. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_message_delta_event.py +0 -0
  248. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_message_start_event.py +0 -0
  249. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_message_stop_event.py +0 -0
  250. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_raw_message_stream_event.py +0 -0
  251. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_redacted_thinking_block.py +0 -0
  252. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_redacted_thinking_block_param.py +0 -0
  253. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_request_document_block_param.py +0 -0
  254. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_request_mcp_server_tool_configuration_param.py +0 -0
  255. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_request_mcp_server_url_definition_param.py +0 -0
  256. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_request_mcp_tool_result_block_param.py +0 -0
  257. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_search_result_block_param.py +0 -0
  258. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_server_tool_usage.py +0 -0
  259. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_server_tool_use_block.py +0 -0
  260. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_server_tool_use_block_param.py +0 -0
  261. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_signature_delta.py +0 -0
  262. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_stop_reason.py +0 -0
  263. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_block.py +0 -0
  264. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_block_param.py +0 -0
  265. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_citation.py +0 -0
  266. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_citation_param.py +0 -0
  267. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_delta.py +0 -0
  268. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_create_result_block.py +0 -0
  269. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_create_result_block_param.py +0 -0
  270. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_str_replace_result_block.py +0 -0
  271. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_str_replace_result_block_param.py +0 -0
  272. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_block.py +0 -0
  273. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_block_param.py +0 -0
  274. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_error.py +0 -0
  275. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_tool_result_error_param.py +0 -0
  276. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_view_result_block.py +0 -0
  277. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_text_editor_code_execution_view_result_block_param.py +0 -0
  278. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_thinking_block.py +0 -0
  279. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_thinking_block_param.py +0 -0
  280. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_thinking_config_disabled_param.py +0 -0
  281. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_thinking_config_enabled_param.py +0 -0
  282. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_thinking_config_param.py +0 -0
  283. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_thinking_delta.py +0 -0
  284. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_thinking_turns_param.py +0 -0
  285. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_bash_20241022_param.py +0 -0
  286. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_bash_20250124_param.py +0 -0
  287. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_choice_param.py +0 -0
  288. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_computer_use_20241022_param.py +0 -0
  289. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_computer_use_20250124_param.py +0 -0
  290. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_computer_use_20251124_param.py +0 -0
  291. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_reference_block.py +0 -0
  292. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_result_block_param.py +0 -0
  293. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_bm25_20251119_param.py +0 -0
  294. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_regex_20251119_param.py +0 -0
  295. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_result_block.py +0 -0
  296. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_result_block_param.py +0 -0
  297. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_result_error.py +0 -0
  298. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_result_error_param.py +0 -0
  299. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_search_result_block.py +0 -0
  300. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_search_tool_search_result_block_param.py +0 -0
  301. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_text_editor_20241022_param.py +0 -0
  302. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_text_editor_20250124_param.py +0 -0
  303. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_text_editor_20250429_param.py +0 -0
  304. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_text_editor_20250728_param.py +0 -0
  305. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_union_param.py +0 -0
  306. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_use_block.py +0 -0
  307. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_use_block_param.py +0 -0
  308. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_uses_keep_param.py +0 -0
  309. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_tool_uses_trigger_param.py +0 -0
  310. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_url_image_source_param.py +0 -0
  311. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_url_pdf_source_param.py +0 -0
  312. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_usage.py +0 -0
  313. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_block.py +0 -0
  314. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_block_param.py +0 -0
  315. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_tool_20250910_param.py +0 -0
  316. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_block.py +0 -0
  317. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_block_param.py +0 -0
  318. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_error_block.py +0 -0
  319. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_error_block_param.py +0 -0
  320. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_fetch_tool_result_error_code.py +0 -0
  321. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_result_block.py +0 -0
  322. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_result_block_param.py +0 -0
  323. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_request_error_param.py +0 -0
  324. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_result_block.py +0 -0
  325. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_result_block_content.py +0 -0
  326. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_result_block_param.py +0 -0
  327. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_result_block_param_content_param.py +0 -0
  328. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_result_error.py +0 -0
  329. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/beta_web_search_tool_result_error_code.py +0 -0
  330. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/deleted_file.py +0 -0
  331. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/file_list_params.py +0 -0
  332. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/file_metadata.py +0 -0
  333. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/file_upload_params.py +0 -0
  334. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/message_count_tokens_params.py +0 -0
  335. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/message_create_params.py +0 -0
  336. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/__init__.py +0 -0
  337. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/batch_create_params.py +0 -0
  338. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/batch_list_params.py +0 -0
  339. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_deleted_message_batch.py +0 -0
  340. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch.py +0 -0
  341. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch_canceled_result.py +0 -0
  342. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch_errored_result.py +0 -0
  343. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch_expired_result.py +0 -0
  344. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch_request_counts.py +0 -0
  345. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch_result.py +0 -0
  346. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/messages/beta_message_batch_succeeded_result.py +0 -0
  347. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/model_list_params.py +0 -0
  348. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/parsed_beta_message.py +0 -0
  349. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skill_create_params.py +0 -0
  350. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skill_create_response.py +0 -0
  351. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skill_delete_response.py +0 -0
  352. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skill_list_params.py +0 -0
  353. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skill_list_response.py +0 -0
  354. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skill_retrieve_response.py +0 -0
  355. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skills/__init__.py +0 -0
  356. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skills/version_create_params.py +0 -0
  357. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skills/version_create_response.py +0 -0
  358. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skills/version_delete_response.py +0 -0
  359. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skills/version_list_params.py +0 -0
  360. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skills/version_list_response.py +0 -0
  361. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta/skills/version_retrieve_response.py +0 -0
  362. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_api_error.py +0 -0
  363. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_authentication_error.py +0 -0
  364. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_billing_error.py +0 -0
  365. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_error.py +0 -0
  366. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_error_response.py +0 -0
  367. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_gateway_timeout_error.py +0 -0
  368. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_invalid_request_error.py +0 -0
  369. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_not_found_error.py +0 -0
  370. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_overloaded_error.py +0 -0
  371. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_permission_error.py +0 -0
  372. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/beta_rate_limit_error.py +0 -0
  373. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/cache_control_ephemeral_param.py +0 -0
  374. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/cache_creation.py +0 -0
  375. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_char_location.py +0 -0
  376. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_char_location_param.py +0 -0
  377. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_content_block_location.py +0 -0
  378. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_content_block_location_param.py +0 -0
  379. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_page_location.py +0 -0
  380. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_page_location_param.py +0 -0
  381. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_search_result_location_param.py +0 -0
  382. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citation_web_search_result_location_param.py +0 -0
  383. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citations_config_param.py +0 -0
  384. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citations_delta.py +0 -0
  385. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citations_search_result_location.py +0 -0
  386. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/citations_web_search_result_location.py +0 -0
  387. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/completion.py +0 -0
  388. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/completion_create_params.py +0 -0
  389. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/content_block.py +0 -0
  390. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/content_block_delta_event.py +0 -0
  391. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/content_block_param.py +0 -0
  392. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/content_block_source_content_param.py +0 -0
  393. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/content_block_source_param.py +0 -0
  394. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/content_block_start_event.py +0 -0
  395. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/content_block_stop_event.py +0 -0
  396. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/document_block_param.py +0 -0
  397. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/image_block_param.py +0 -0
  398. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/input_json_delta.py +0 -0
  399. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message.py +0 -0
  400. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_count_tokens_params.py +0 -0
  401. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_count_tokens_tool_param.py +0 -0
  402. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_create_params.py +0 -0
  403. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_delta_event.py +0 -0
  404. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_delta_usage.py +0 -0
  405. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_param.py +0 -0
  406. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_start_event.py +0 -0
  407. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_stop_event.py +0 -0
  408. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_stream_event.py +0 -0
  409. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/message_tokens_count.py +0 -0
  410. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/__init__.py +0 -0
  411. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/batch_create_params.py +0 -0
  412. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/batch_list_params.py +0 -0
  413. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/deleted_message_batch.py +0 -0
  414. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch.py +0 -0
  415. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch_canceled_result.py +0 -0
  416. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch_errored_result.py +0 -0
  417. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch_expired_result.py +0 -0
  418. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch_request_counts.py +0 -0
  419. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch_result.py +0 -0
  420. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/messages/message_batch_succeeded_result.py +0 -0
  421. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/metadata_param.py +0 -0
  422. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/model.py +0 -0
  423. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/model_info.py +0 -0
  424. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/model_list_params.py +0 -0
  425. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/model_param.py +0 -0
  426. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/plain_text_source_param.py +0 -0
  427. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_content_block_delta.py +0 -0
  428. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_content_block_delta_event.py +0 -0
  429. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_content_block_start_event.py +0 -0
  430. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_content_block_stop_event.py +0 -0
  431. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_message_delta_event.py +0 -0
  432. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_message_start_event.py +0 -0
  433. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_message_stop_event.py +0 -0
  434. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/raw_message_stream_event.py +0 -0
  435. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/redacted_thinking_block.py +0 -0
  436. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/redacted_thinking_block_param.py +0 -0
  437. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/search_result_block_param.py +0 -0
  438. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/server_tool_usage.py +0 -0
  439. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/server_tool_use_block.py +0 -0
  440. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/server_tool_use_block_param.py +0 -0
  441. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/__init__.py +0 -0
  442. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/api_error_object.py +0 -0
  443. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/authentication_error.py +0 -0
  444. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/billing_error.py +0 -0
  445. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/error_object.py +0 -0
  446. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/error_response.py +0 -0
  447. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/gateway_timeout_error.py +0 -0
  448. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/invalid_request_error.py +0 -0
  449. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/not_found_error.py +0 -0
  450. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/overloaded_error.py +0 -0
  451. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/permission_error.py +0 -0
  452. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/shared/rate_limit_error.py +0 -0
  453. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/signature_delta.py +0 -0
  454. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/stop_reason.py +0 -0
  455. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/text_block.py +0 -0
  456. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/text_block_param.py +0 -0
  457. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/text_citation.py +0 -0
  458. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/text_citation_param.py +0 -0
  459. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/text_delta.py +0 -0
  460. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/thinking_block.py +0 -0
  461. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/thinking_block_param.py +0 -0
  462. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/thinking_config_disabled_param.py +0 -0
  463. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/thinking_config_enabled_param.py +0 -0
  464. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/thinking_config_param.py +0 -0
  465. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/thinking_delta.py +0 -0
  466. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_bash_20250124_param.py +0 -0
  467. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_choice_param.py +0 -0
  468. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_result_block_param.py +0 -0
  469. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_text_editor_20250124_param.py +0 -0
  470. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_text_editor_20250429_param.py +0 -0
  471. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_text_editor_20250728_param.py +0 -0
  472. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_union_param.py +0 -0
  473. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_use_block.py +0 -0
  474. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/tool_use_block_param.py +0 -0
  475. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/url_image_source_param.py +0 -0
  476. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/url_pdf_source_param.py +0 -0
  477. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/usage.py +0 -0
  478. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_result_block.py +0 -0
  479. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_result_block_param.py +0 -0
  480. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_tool_request_error_param.py +0 -0
  481. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_tool_result_block.py +0 -0
  482. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_tool_result_block_content.py +0 -0
  483. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_tool_result_block_param.py +0 -0
  484. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_tool_result_block_param_content_param.py +0 -0
  485. {anthropic-0.75.0 → anthropic-0.76.0}/src/anthropic/types/web_search_tool_result_error.py +0 -0
  486. {anthropic-0.75.0 → anthropic-0.76.0}/tests/__init__.py +0 -0
  487. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/__init__.py +0 -0
  488. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/__init__.py +0 -0
  489. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/messages/__init__.py +0 -0
  490. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/messages/test_batches.py +0 -0
  491. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/skills/__init__.py +0 -0
  492. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/skills/test_versions.py +0 -0
  493. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/test_files.py +0 -0
  494. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/test_messages.py +0 -0
  495. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/test_models.py +0 -0
  496. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/beta/test_skills.py +0 -0
  497. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/messages/__init__.py +0 -0
  498. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/messages/test_batches.py +0 -0
  499. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/test_completions.py +0 -0
  500. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/test_messages.py +0 -0
  501. {anthropic-0.75.0 → anthropic-0.76.0}/tests/api_resources/test_models.py +0 -0
  502. {anthropic-0.75.0 → anthropic-0.76.0}/tests/conftest.py +0 -0
  503. {anthropic-0.75.0 → anthropic-0.76.0}/tests/decoders/test_jsonl.py +0 -0
  504. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/__init__.py +0 -0
  505. {anthropic-0.75.0/tests/lib/streaming → anthropic-0.76.0/tests/lib/_parse}/__init__.py +0 -0
  506. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/_parse/test_transform.py +0 -0
  507. {anthropic-0.75.0/tests/lib/tools → anthropic-0.76.0/tests/lib/streaming}/__init__.py +0 -0
  508. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/streaming/fixtures/basic_response.txt +0 -0
  509. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/streaming/fixtures/incomplete_partial_json_response.txt +0 -0
  510. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/streaming/fixtures/tool_use_response.txt +0 -0
  511. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/streaming/helpers.py +0 -0
  512. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/streaming/test_beta_messages.py +0 -0
  513. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/streaming/test_messages.py +0 -0
  514. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/streaming/test_partial_json.py +0 -0
  515. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/test_azure.py +0 -0
  516. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/test_bedrock.py +0 -0
  517. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/test_vertex.py +0 -0
  518. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/tools/__inline_snapshot__/test_runners/TestSyncRunTools.test_compaction_control/ab7b2edd-9c2d-4f53-9c04-92bb659b9caa.json +0 -0
  519. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/tools/__inline_snapshot__/test_runners/TestSyncRunTools.test_streaming_call_sync_events/9cb114c8-69bd-4111-841b-edee30333afd.json +0 -0
  520. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/tools/__inline_snapshot__/test_runners/test_streaming_call_sync_events/9cb114c8-69bd-4111-841b-edee30333afd.json +0 -0
  521. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/tools/test_functions.py +0 -0
  522. {anthropic-0.75.0 → anthropic-0.76.0}/tests/lib/utils.py +0 -0
  523. {anthropic-0.75.0 → anthropic-0.76.0}/tests/sample_file.txt +0 -0
  524. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_deepcopy.py +0 -0
  525. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_extract_files.py +0 -0
  526. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_files.py +0 -0
  527. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_legacy_response.py +0 -0
  528. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_models.py +0 -0
  529. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_qs.py +0 -0
  530. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_required_args.py +0 -0
  531. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_response.py +0 -0
  532. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_streaming.py +0 -0
  533. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_transform.py +0 -0
  534. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_utils/test_datetime_parse.py +0 -0
  535. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_utils/test_proxy.py +0 -0
  536. {anthropic-0.75.0 → anthropic-0.76.0}/tests/test_utils/test_typing.py +0 -0
  537. {anthropic-0.75.0 → anthropic-0.76.0}/tests/utils.py +0 -0
  538. {anthropic-0.75.0 → anthropic-0.76.0}/tools.md +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.76.0"
3
+ }
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.76.0 (2026-01-13)
4
+
5
+ Full Changelog: [v0.75.0...v0.76.0](https://github.com/anthropics/anthropic-sdk-python/compare/v0.75.0...v0.76.0)
6
+
7
+ ### Features
8
+
9
+ * allow raw JSON schema to be passed to messages.stream() ([955c61d](https://github.com/anthropics/anthropic-sdk-python/commit/955c61dd5aae4c8a2c7b8fab1f97a0b88c0ef03b))
10
+ * **client:** add support for binary request streaming ([5302f27](https://github.com/anthropics/anthropic-sdk-python/commit/5302f2724c9890340c1b0dd042a1e670ed00eb93))
11
+ * **tool runner:** add support for server-side tools ([#1086](https://github.com/anthropics/anthropic-sdk-python/issues/1086)) ([1521316](https://github.com/anthropics/anthropic-sdk-python/commit/15213160a016a70538c81163c49ce5948fe06879))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **client:** loosen auth header validation ([5a0b89b](https://github.com/anthropics/anthropic-sdk-python/commit/5a0b89bb2c808cd0a413697a1141d4835ce00181))
17
+ * ensure streams are always closed ([388bd0c](https://github.com/anthropics/anthropic-sdk-python/commit/388bd0cbc53c4d8d8884d17a3051623728588eb4))
18
+ * **types:** allow pyright to infer TypedDict types within SequenceNotStr ([ede3242](https://github.com/anthropics/anthropic-sdk-python/commit/ede32426043273f9b31e70893207ad6519240591))
19
+ * use async_to_httpx_files in patch method ([718fa8e](https://github.com/anthropics/anthropic-sdk-python/commit/718fa8e62aa939dd8c5d46430aa1d1b05a5906d9))
20
+
21
+
22
+ ### Chores
23
+
24
+ * add missing docstrings ([d306605](https://github.com/anthropics/anthropic-sdk-python/commit/d306605103649320e900ab3a2413d0dbd6b118c5))
25
+ * bump required `uv` version ([90634f3](https://github.com/anthropics/anthropic-sdk-python/commit/90634f3ef0a9d7ae5a1945f005b13aad245f6b32))
26
+ * **ci:** Add Claude Code GitHub Workflow ([#1293](https://github.com/anthropics/anthropic-sdk-python/issues/1293)) ([83d1c4a](https://github.com/anthropics/anthropic-sdk-python/commit/83d1c4aef1ae34b1aebe4ca25de8b0cd2d37a493))
27
+ * **deps:** mypy 1.18.1 has a regression, pin to 1.17 ([21c6374](https://github.com/anthropics/anthropic-sdk-python/commit/21c6374f3825f43e104bad4a5df71941bcf09844))
28
+ * **docs:** use environment variables for authentication in code snippets ([87aa378](https://github.com/anthropics/anthropic-sdk-python/commit/87aa378f13f64099bec9513cba85ba9723773ec4))
29
+ * fix docstring ([51fca79](https://github.com/anthropics/anthropic-sdk-python/commit/51fca7942b4e74e1357fb72828e8e39a8b8eea6a))
30
+ * **internal:** add `--fix` argument to lint script ([8914b7a](https://github.com/anthropics/anthropic-sdk-python/commit/8914b7abe9b98565f08f4965f7fd0da8cd9f1f08))
31
+ * **internal:** add missing files argument to base client ([6285abc](https://github.com/anthropics/anthropic-sdk-python/commit/6285abcba9945a7c6c6b713940ee0478dfe25008))
32
+ * **internal:** avoid using unstable Python versions in tests ([4547171](https://github.com/anthropics/anthropic-sdk-python/commit/4547171aba17e41ff2f2e2c13d319b6bc1a13e85))
33
+ * update lockfile ([d7ae1fc](https://github.com/anthropics/anthropic-sdk-python/commit/d7ae1fc9c06d7565b909e5c2d48ebeb63ee9d8c9))
34
+ * update uv.lock ([746ac05](https://github.com/anthropics/anthropic-sdk-python/commit/746ac05cbb18c7d596a381e2fe89d0ee3e4e94b9))
35
+
3
36
  ## 0.75.0 (2025-11-24)
4
37
 
5
38
  Full Changelog: [v0.74.1...v0.75.0](https://github.com/anthropics/anthropic-sdk-python/compare/v0.74.1...v0.75.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anthropic
3
- Version: 0.75.0
3
+ Version: 0.76.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
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.9
@@ -136,6 +137,7 @@ pip install anthropic[aiohttp]
136
137
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
137
138
 
138
139
  ```python
140
+ import os
139
141
  import asyncio
140
142
  from anthropic import DefaultAioHttpClient
141
143
  from anthropic import AsyncAnthropic
@@ -143,7 +145,7 @@ from anthropic import AsyncAnthropic
143
145
 
144
146
  async def main() -> None:
145
147
  async with AsyncAnthropic(
146
- api_key="my-anthropic-api-key",
148
+ api_key=os.environ.get("ANTHROPIC_API_KEY"), # This is the default and can be omitted
147
149
  http_client=DefaultAioHttpClient(),
148
150
  ) as client:
149
151
  message = await client.messages.create(
@@ -95,6 +95,7 @@ pip install anthropic[aiohttp]
95
95
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
96
96
 
97
97
  ```python
98
+ import os
98
99
  import asyncio
99
100
  from anthropic import DefaultAioHttpClient
100
101
  from anthropic import AsyncAnthropic
@@ -102,7 +103,7 @@ from anthropic import AsyncAnthropic
102
103
 
103
104
  async def main() -> None:
104
105
  async with AsyncAnthropic(
105
- api_key="my-anthropic-api-key",
106
+ api_key=os.environ.get("ANTHROPIC_API_KEY"), # This is the default and can be omitted
106
107
  http_client=DefaultAioHttpClient(),
107
108
  ) as client:
108
109
  message = await client.messages.create(
@@ -1,22 +1,24 @@
1
1
  [project]
2
2
  name = "anthropic"
3
- version = "0.75.0"
3
+ version = "0.76.0"
4
4
  description = "The official Python library for the anthropic API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
7
7
  authors = [
8
8
  { name = "Anthropic", email = "support@anthropic.com" },
9
9
  ]
10
+
10
11
  dependencies = [
11
12
  "httpx>=0.25.0, <1",
12
- "pydantic>=1.9.0, <3",
13
- "typing-extensions>=4.10, <5",
14
- "anyio>=3.5.0, <5",
15
- "distro>=1.7.0, <2",
16
- "sniffio",
13
+ "pydantic>=1.9.0, <3",
14
+ "typing-extensions>=4.10, <5",
15
+ "anyio>=3.5.0, <5",
16
+ "distro>=1.7.0, <2",
17
+ "sniffio",
17
18
  "jiter>=0.4.0, <1",
18
19
  "docstring-parser>=0.15,<1",
19
20
  ]
21
+
20
22
  requires-python = ">= 3.9"
21
23
  classifiers = [
22
24
  "Typing :: Typed",
@@ -26,6 +28,7 @@ classifiers = [
26
28
  "Programming Language :: Python :: 3.11",
27
29
  "Programming Language :: Python :: 3.12",
28
30
  "Programming Language :: Python :: 3.13",
31
+ "Programming Language :: Python :: 3.14",
29
32
  "Operating System :: OS Independent",
30
33
  "Operating System :: POSIX",
31
34
  "Operating System :: MacOS",
@@ -46,7 +49,7 @@ Repository = "https://github.com/anthropics/anthropic-sdk-python"
46
49
 
47
50
  [tool.uv]
48
51
  managed = true
49
- required-version = ">=0.5.0"
52
+ required-version = ">=0.9"
50
53
  conflicts = [
51
54
  [
52
55
  { group = "pydantic-v1" },
@@ -58,7 +61,7 @@ conflicts = [
58
61
  # version pins are in uv.lock
59
62
  dev = [
60
63
  "pyright==1.1.399",
61
- "mypy",
64
+ "mypy==1.17",
62
65
  "respx",
63
66
  "pytest",
64
67
  "pytest-asyncio",
@@ -76,7 +79,8 @@ pydantic-v1 = [
76
79
  "pydantic>=1.9.0,<2",
77
80
  ]
78
81
  pydantic-v2 = [
79
- "pydantic>=2,<3",
82
+ "pydantic~=2.0 ; python_full_version < '3.14'",
83
+ "pydantic~=2.12 ; python_full_version >= '3.14'",
80
84
  ]
81
85
 
82
86
  [build-system]
@@ -0,0 +1,135 @@
1
+ # This file was autogenerated by uv via the following command:
2
+ # uv export -o requirements-dev.lock --no-hashes
3
+ -e .
4
+ annotated-types==0.7.0
5
+ # via pydantic
6
+ anyio==4.12.0
7
+ # via
8
+ # anthropic
9
+ # httpx
10
+ asttokens==3.0.1
11
+ # via inline-snapshot
12
+ backports-asyncio-runner==1.2.0 ; python_full_version < '3.11'
13
+ # via pytest-asyncio
14
+ boto3-stubs==1.41.5
15
+ botocore-stubs==1.41.6
16
+ # via boto3-stubs
17
+ certifi==2025.11.12
18
+ # via
19
+ # httpcore
20
+ # httpx
21
+ colorama==0.4.6
22
+ # via
23
+ # griffe
24
+ # pytest
25
+ dirty-equals==0.11
26
+ distro==1.9.0
27
+ # via anthropic
28
+ docstring-parser==0.17.0
29
+ # via anthropic
30
+ exceptiongroup==1.3.1 ; python_full_version < '3.11'
31
+ # via
32
+ # anyio
33
+ # pytest
34
+ execnet==2.1.2
35
+ # via pytest-xdist
36
+ executing==2.2.1
37
+ # via inline-snapshot
38
+ griffe==1.14.0 ; python_full_version < '3.10'
39
+ griffe==1.15.0 ; python_full_version >= '3.10'
40
+ h11==0.16.0
41
+ # via httpcore
42
+ httpcore==1.0.9
43
+ # via httpx
44
+ httpx==0.28.1
45
+ # via
46
+ # anthropic
47
+ # respx
48
+ idna==3.11
49
+ # via
50
+ # anyio
51
+ # httpx
52
+ importlib-metadata==8.7.0
53
+ iniconfig==2.1.0 ; python_full_version < '3.10'
54
+ # via pytest
55
+ iniconfig==2.3.0 ; python_full_version >= '3.10'
56
+ # via pytest
57
+ inline-snapshot==0.31.1
58
+ jiter==0.12.0
59
+ # via anthropic
60
+ markdown-it-py==3.0.0 ; python_full_version < '3.10'
61
+ # via rich
62
+ markdown-it-py==4.0.0 ; python_full_version >= '3.10'
63
+ # via rich
64
+ mdurl==0.1.2
65
+ # via markdown-it-py
66
+ mypy==1.17.0
67
+ mypy-extensions==1.1.0
68
+ # via mypy
69
+ nodeenv==1.9.1
70
+ # via pyright
71
+ packaging==25.0
72
+ # via pytest
73
+ pathspec==0.12.1
74
+ # via mypy
75
+ pluggy==1.6.0
76
+ # via pytest
77
+ pydantic==2.12.5
78
+ # via anthropic
79
+ pydantic-core==2.41.5
80
+ # via pydantic
81
+ pygments==2.19.2
82
+ # via
83
+ # pytest
84
+ # rich
85
+ pyright==1.1.399
86
+ pytest==8.4.2 ; python_full_version < '3.10'
87
+ # via
88
+ # inline-snapshot
89
+ # pytest-asyncio
90
+ # pytest-xdist
91
+ pytest==9.0.1 ; python_full_version >= '3.10'
92
+ # via
93
+ # inline-snapshot
94
+ # pytest-asyncio
95
+ # pytest-xdist
96
+ pytest-asyncio==1.2.0 ; python_full_version < '3.10'
97
+ pytest-asyncio==1.3.0 ; python_full_version >= '3.10'
98
+ pytest-xdist==3.8.0
99
+ python-dateutil==2.9.0.post0 ; python_full_version < '3.10'
100
+ # via time-machine
101
+ respx==0.22.0
102
+ rich==14.2.0
103
+ # via inline-snapshot
104
+ ruff==0.14.7
105
+ six==1.17.0 ; python_full_version < '3.10'
106
+ # via python-dateutil
107
+ sniffio==1.3.1
108
+ # via anthropic
109
+ time-machine==2.19.0 ; python_full_version < '3.10'
110
+ time-machine==3.1.0 ; python_full_version >= '3.10'
111
+ tomli==2.3.0 ; python_full_version < '3.11'
112
+ # via
113
+ # inline-snapshot
114
+ # mypy
115
+ # pytest
116
+ types-awscrt==0.29.1
117
+ # via botocore-stubs
118
+ types-s3transfer==0.15.0
119
+ # via boto3-stubs
120
+ typing-extensions==4.15.0
121
+ # via
122
+ # anthropic
123
+ # anyio
124
+ # boto3-stubs
125
+ # exceptiongroup
126
+ # mypy
127
+ # pydantic
128
+ # pydantic-core
129
+ # pyright
130
+ # pytest-asyncio
131
+ # typing-inspection
132
+ typing-inspection==0.4.2
133
+ # via pydantic
134
+ zipp==3.23.0
135
+ # via importlib-metadata
@@ -10,6 +10,7 @@ import asyncio
10
10
  import inspect
11
11
  import logging
12
12
  import platform
13
+ import warnings
13
14
  import email.utils
14
15
  from types import TracebackType
15
16
  from random import random
@@ -54,9 +55,11 @@ from ._types import (
54
55
  ResponseT,
55
56
  AnyMapping,
56
57
  PostParser,
58
+ BinaryTypes,
57
59
  RequestFiles,
58
60
  HttpxSendArgs,
59
61
  RequestOptions,
62
+ AsyncBinaryTypes,
60
63
  HttpxRequestFiles,
61
64
  ModelBuilderProtocol,
62
65
  not_given,
@@ -490,8 +493,19 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
490
493
  retries_taken: int = 0,
491
494
  ) -> httpx.Request:
492
495
  if log.isEnabledFor(logging.DEBUG):
493
- log.debug("Request options: %s", model_dump(options, exclude_unset=True))
494
-
496
+ log.debug(
497
+ "Request options: %s",
498
+ model_dump(
499
+ options,
500
+ exclude_unset=True,
501
+ # Pydantic v1 can't dump every type we support in content, so we exclude it for now.
502
+ exclude={
503
+ "content",
504
+ }
505
+ if PYDANTIC_V1
506
+ else {},
507
+ ),
508
+ )
495
509
  kwargs: dict[str, Any] = {}
496
510
 
497
511
  json_data = options.json_data
@@ -545,7 +559,13 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
545
559
  is_body_allowed = options.method.lower() != "get"
546
560
 
547
561
  if is_body_allowed:
548
- if isinstance(json_data, bytes):
562
+ if options.content is not None and json_data is not None:
563
+ raise TypeError("Passing both `content` and `json_data` is not supported")
564
+ if options.content is not None and files is not None:
565
+ raise TypeError("Passing both `content` and `files` is not supported")
566
+ if options.content is not None:
567
+ kwargs["content"] = options.content
568
+ elif isinstance(json_data, bytes):
549
569
  kwargs["content"] = json_data
550
570
  else:
551
571
  kwargs["json"] = json_data if is_given(json_data) else None
@@ -1278,6 +1298,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1278
1298
  *,
1279
1299
  cast_to: Type[ResponseT],
1280
1300
  body: Body | None = None,
1301
+ content: BinaryTypes | None = None,
1281
1302
  options: RequestOptions = {},
1282
1303
  files: RequestFiles | None = None,
1283
1304
  stream: Literal[False] = False,
@@ -1290,6 +1311,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1290
1311
  *,
1291
1312
  cast_to: Type[ResponseT],
1292
1313
  body: Body | None = None,
1314
+ content: BinaryTypes | None = None,
1293
1315
  options: RequestOptions = {},
1294
1316
  files: RequestFiles | None = None,
1295
1317
  stream: Literal[True],
@@ -1303,6 +1325,7 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1303
1325
  *,
1304
1326
  cast_to: Type[ResponseT],
1305
1327
  body: Body | None = None,
1328
+ content: BinaryTypes | None = None,
1306
1329
  options: RequestOptions = {},
1307
1330
  files: RequestFiles | None = None,
1308
1331
  stream: bool,
@@ -1315,13 +1338,25 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1315
1338
  *,
1316
1339
  cast_to: Type[ResponseT],
1317
1340
  body: Body | None = None,
1341
+ content: BinaryTypes | None = None,
1318
1342
  options: RequestOptions = {},
1319
1343
  files: RequestFiles | None = None,
1320
1344
  stream: bool = False,
1321
1345
  stream_cls: type[_StreamT] | None = None,
1322
1346
  ) -> ResponseT | _StreamT:
1347
+ if body is not None and content is not None:
1348
+ raise TypeError("Passing both `body` and `content` is not supported")
1349
+ if files is not None and content is not None:
1350
+ raise TypeError("Passing both `files` and `content` is not supported")
1351
+ if isinstance(body, bytes):
1352
+ warnings.warn(
1353
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1354
+ "Please pass raw bytes via the `content` parameter instead.",
1355
+ DeprecationWarning,
1356
+ stacklevel=2,
1357
+ )
1323
1358
  opts = FinalRequestOptions.construct(
1324
- method="post", url=path, json_data=body, files=to_httpx_files(files), **options
1359
+ method="post", url=path, json_data=body, content=content, files=to_httpx_files(files), **options
1325
1360
  )
1326
1361
  return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
1327
1362
 
@@ -1331,9 +1366,24 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1331
1366
  *,
1332
1367
  cast_to: Type[ResponseT],
1333
1368
  body: Body | None = None,
1369
+ content: BinaryTypes | None = None,
1370
+ files: RequestFiles | None = None,
1334
1371
  options: RequestOptions = {},
1335
1372
  ) -> ResponseT:
1336
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
1373
+ if body is not None and content is not None:
1374
+ raise TypeError("Passing both `body` and `content` is not supported")
1375
+ if files is not None and content is not None:
1376
+ raise TypeError("Passing both `files` and `content` is not supported")
1377
+ if isinstance(body, bytes):
1378
+ warnings.warn(
1379
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1380
+ "Please pass raw bytes via the `content` parameter instead.",
1381
+ DeprecationWarning,
1382
+ stacklevel=2,
1383
+ )
1384
+ opts = FinalRequestOptions.construct(
1385
+ method="patch", url=path, json_data=body, content=content, files=to_httpx_files(files), **options
1386
+ )
1337
1387
  return self.request(cast_to, opts)
1338
1388
 
1339
1389
  def put(
@@ -1342,11 +1392,23 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1342
1392
  *,
1343
1393
  cast_to: Type[ResponseT],
1344
1394
  body: Body | None = None,
1395
+ content: BinaryTypes | None = None,
1345
1396
  files: RequestFiles | None = None,
1346
1397
  options: RequestOptions = {},
1347
1398
  ) -> ResponseT:
1399
+ if body is not None and content is not None:
1400
+ raise TypeError("Passing both `body` and `content` is not supported")
1401
+ if files is not None and content is not None:
1402
+ raise TypeError("Passing both `files` and `content` is not supported")
1403
+ if isinstance(body, bytes):
1404
+ warnings.warn(
1405
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1406
+ "Please pass raw bytes via the `content` parameter instead.",
1407
+ DeprecationWarning,
1408
+ stacklevel=2,
1409
+ )
1348
1410
  opts = FinalRequestOptions.construct(
1349
- method="put", url=path, json_data=body, files=to_httpx_files(files), **options
1411
+ method="put", url=path, json_data=body, content=content, files=to_httpx_files(files), **options
1350
1412
  )
1351
1413
  return self.request(cast_to, opts)
1352
1414
 
@@ -1356,9 +1418,19 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
1356
1418
  *,
1357
1419
  cast_to: Type[ResponseT],
1358
1420
  body: Body | None = None,
1421
+ content: BinaryTypes | None = None,
1359
1422
  options: RequestOptions = {},
1360
1423
  ) -> ResponseT:
1361
- opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, **options)
1424
+ if body is not None and content is not None:
1425
+ raise TypeError("Passing both `body` and `content` is not supported")
1426
+ if isinstance(body, bytes):
1427
+ warnings.warn(
1428
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1429
+ "Please pass raw bytes via the `content` parameter instead.",
1430
+ DeprecationWarning,
1431
+ stacklevel=2,
1432
+ )
1433
+ opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, content=content, **options)
1362
1434
  return self.request(cast_to, opts)
1363
1435
 
1364
1436
  def get_api_list(
@@ -1854,6 +1926,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1854
1926
  *,
1855
1927
  cast_to: Type[ResponseT],
1856
1928
  body: Body | None = None,
1929
+ content: AsyncBinaryTypes | None = None,
1857
1930
  files: RequestFiles | None = None,
1858
1931
  options: RequestOptions = {},
1859
1932
  stream: Literal[False] = False,
@@ -1866,6 +1939,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1866
1939
  *,
1867
1940
  cast_to: Type[ResponseT],
1868
1941
  body: Body | None = None,
1942
+ content: AsyncBinaryTypes | None = None,
1869
1943
  files: RequestFiles | None = None,
1870
1944
  options: RequestOptions = {},
1871
1945
  stream: Literal[True],
@@ -1879,6 +1953,7 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1879
1953
  *,
1880
1954
  cast_to: Type[ResponseT],
1881
1955
  body: Body | None = None,
1956
+ content: AsyncBinaryTypes | None = None,
1882
1957
  files: RequestFiles | None = None,
1883
1958
  options: RequestOptions = {},
1884
1959
  stream: bool,
@@ -1891,13 +1966,25 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1891
1966
  *,
1892
1967
  cast_to: Type[ResponseT],
1893
1968
  body: Body | None = None,
1969
+ content: AsyncBinaryTypes | None = None,
1894
1970
  files: RequestFiles | None = None,
1895
1971
  options: RequestOptions = {},
1896
1972
  stream: bool = False,
1897
1973
  stream_cls: type[_AsyncStreamT] | None = None,
1898
1974
  ) -> ResponseT | _AsyncStreamT:
1975
+ if body is not None and content is not None:
1976
+ raise TypeError("Passing both `body` and `content` is not supported")
1977
+ if files is not None and content is not None:
1978
+ raise TypeError("Passing both `files` and `content` is not supported")
1979
+ if isinstance(body, bytes):
1980
+ warnings.warn(
1981
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
1982
+ "Please pass raw bytes via the `content` parameter instead.",
1983
+ DeprecationWarning,
1984
+ stacklevel=2,
1985
+ )
1899
1986
  opts = FinalRequestOptions.construct(
1900
- method="post", url=path, json_data=body, files=await async_to_httpx_files(files), **options
1987
+ method="post", url=path, json_data=body, content=content, files=await async_to_httpx_files(files), **options
1901
1988
  )
1902
1989
  return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
1903
1990
 
@@ -1907,9 +1994,29 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1907
1994
  *,
1908
1995
  cast_to: Type[ResponseT],
1909
1996
  body: Body | None = None,
1997
+ content: AsyncBinaryTypes | None = None,
1998
+ files: RequestFiles | None = None,
1910
1999
  options: RequestOptions = {},
1911
2000
  ) -> ResponseT:
1912
- opts = FinalRequestOptions.construct(method="patch", url=path, json_data=body, **options)
2001
+ if body is not None and content is not None:
2002
+ raise TypeError("Passing both `body` and `content` is not supported")
2003
+ if files is not None and content is not None:
2004
+ raise TypeError("Passing both `files` and `content` is not supported")
2005
+ if isinstance(body, bytes):
2006
+ warnings.warn(
2007
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
2008
+ "Please pass raw bytes via the `content` parameter instead.",
2009
+ DeprecationWarning,
2010
+ stacklevel=2,
2011
+ )
2012
+ opts = FinalRequestOptions.construct(
2013
+ method="patch",
2014
+ url=path,
2015
+ json_data=body,
2016
+ content=content,
2017
+ files=await async_to_httpx_files(files),
2018
+ **options,
2019
+ )
1913
2020
  return await self.request(cast_to, opts)
1914
2021
 
1915
2022
  async def put(
@@ -1918,11 +2025,23 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1918
2025
  *,
1919
2026
  cast_to: Type[ResponseT],
1920
2027
  body: Body | None = None,
2028
+ content: AsyncBinaryTypes | None = None,
1921
2029
  files: RequestFiles | None = None,
1922
2030
  options: RequestOptions = {},
1923
2031
  ) -> ResponseT:
2032
+ if body is not None and content is not None:
2033
+ raise TypeError("Passing both `body` and `content` is not supported")
2034
+ if files is not None and content is not None:
2035
+ raise TypeError("Passing both `files` and `content` is not supported")
2036
+ if isinstance(body, bytes):
2037
+ warnings.warn(
2038
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
2039
+ "Please pass raw bytes via the `content` parameter instead.",
2040
+ DeprecationWarning,
2041
+ stacklevel=2,
2042
+ )
1924
2043
  opts = FinalRequestOptions.construct(
1925
- method="put", url=path, json_data=body, files=await async_to_httpx_files(files), **options
2044
+ method="put", url=path, json_data=body, content=content, files=await async_to_httpx_files(files), **options
1926
2045
  )
1927
2046
  return await self.request(cast_to, opts)
1928
2047
 
@@ -1932,9 +2051,19 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
1932
2051
  *,
1933
2052
  cast_to: Type[ResponseT],
1934
2053
  body: Body | None = None,
2054
+ content: AsyncBinaryTypes | None = None,
1935
2055
  options: RequestOptions = {},
1936
2056
  ) -> ResponseT:
1937
- opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, **options)
2057
+ if body is not None and content is not None:
2058
+ raise TypeError("Passing both `body` and `content` is not supported")
2059
+ if isinstance(body, bytes):
2060
+ warnings.warn(
2061
+ "Passing raw bytes as `body` is deprecated and will be removed in a future version. "
2062
+ "Please pass raw bytes via the `content` parameter instead.",
2063
+ DeprecationWarning,
2064
+ stacklevel=2,
2065
+ )
2066
+ opts = FinalRequestOptions.construct(method="delete", url=path, json_data=body, content=content, **options)
1938
2067
  return await self.request(cast_to, opts)
1939
2068
 
1940
2069
  def get_api_list(
@@ -187,14 +187,10 @@ class Anthropic(SyncAPIClient):
187
187
  # valid
188
188
  return
189
189
 
190
- if self.api_key and headers.get("X-Api-Key"):
191
- return
192
- if isinstance(custom_headers.get("X-Api-Key"), Omit):
190
+ if headers.get("X-Api-Key") or isinstance(custom_headers.get("X-Api-Key"), Omit):
193
191
  return
194
192
 
195
- if self.auth_token and headers.get("Authorization"):
196
- return
197
- if isinstance(custom_headers.get("Authorization"), Omit):
193
+ if headers.get("Authorization") or isinstance(custom_headers.get("Authorization"), Omit):
198
194
  return
199
195
 
200
196
  raise TypeError(
@@ -431,14 +427,10 @@ class AsyncAnthropic(AsyncAPIClient):
431
427
  # valid
432
428
  return
433
429
 
434
- if self.api_key and headers.get("X-Api-Key"):
435
- return
436
- if isinstance(custom_headers.get("X-Api-Key"), Omit):
430
+ if headers.get("X-Api-Key") or isinstance(custom_headers.get("X-Api-Key"), Omit):
437
431
  return
438
432
 
439
- if self.auth_token and headers.get("Authorization"):
440
- return
441
- if isinstance(custom_headers.get("Authorization"), Omit):
433
+ if headers.get("Authorization") or isinstance(custom_headers.get("Authorization"), Omit):
442
434
  return
443
435
 
444
436
  raise TypeError(
@@ -3,7 +3,20 @@ from __future__ import annotations
3
3
  import os
4
4
  import inspect
5
5
  import weakref
6
- from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, Optional, cast
6
+ from typing import (
7
+ IO,
8
+ TYPE_CHECKING,
9
+ Any,
10
+ Type,
11
+ Union,
12
+ Generic,
13
+ TypeVar,
14
+ Callable,
15
+ Iterable,
16
+ Optional,
17
+ AsyncIterable,
18
+ cast,
19
+ )
7
20
  from datetime import date, datetime
8
21
  from typing_extensions import (
9
22
  List,
@@ -833,6 +846,7 @@ class FinalRequestOptionsInput(TypedDict, total=False):
833
846
  timeout: float | Timeout | None
834
847
  files: HttpxRequestFiles | None
835
848
  idempotency_key: str
849
+ content: Union[bytes, bytearray, IO[bytes], Iterable[bytes], AsyncIterable[bytes], None]
836
850
  json_data: Body
837
851
  extra_json: AnyMapping
838
852
  follow_redirects: bool
@@ -851,6 +865,7 @@ class FinalRequestOptions(pydantic.BaseModel):
851
865
  post_parser: Union[Callable[[Any], Any], NotGiven] = NotGiven()
852
866
  follow_redirects: Union[bool, None] = None
853
867
 
868
+ content: Union[bytes, bytearray, IO[bytes], Iterable[bytes], AsyncIterable[bytes], None] = None
854
869
  # It should be noted that we cannot use `json` here as that would override
855
870
  # a BaseModel method in an incompatible fashion.
856
871
  json_data: Union[Body, None] = None