pydantic-ai 0.4.5__tar.gz → 0.4.6__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.
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/.gitignore +0 -1
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/PKG-INFO +3 -3
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_dataset.py +132 -1
- pydantic_ai-0.4.6/tests/models/cassettes/test_download_item/test_download_item_audio_mpeg.yaml +487 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_download_item.py +10 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_mistral.py +87 -3
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_messages.py +1 -8
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_tools.py +20 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/LICENSE +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/Makefile +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/README.md +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/pyproject.toml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/__init__.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_agent_with_server_not_running.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_audio_resource.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/conftest.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/__init__.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/evals/utils.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/example_modules/README.md +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/example_modules/mcp_server.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/ext/__init__.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/graph/__init__.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/graph/test_state.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/import_examples.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/mcp_server.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/__init__.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_text_output_function.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_tool_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_anthropic_tool_with_thinking.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_thinking_part_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_cohere/test_cohere_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_deepseek/test_deepseek_model_thinking_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_native_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_prompted_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_text_output_function.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_tool_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_labels.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_empty_assistant_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_structured_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_model_youtube_video_url_input_with_vendor_metadata.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_native_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_prompted_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_prompted_output_with_tools.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_text_output_function.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_timeout.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_tool_config_any_with_tool_without_args.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_tool_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_groq/test_groq_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_hf_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_hf_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[Qwen-Qwen2.5-72B-Instruct].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[deepseek-ai-DeepSeek-R1-0528].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_max_completion_tokens[meta-llama-Llama-3.3-70B-Instruct].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_request_simple_usage.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_simple_completion.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_huggingface/test_stream_completion.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_mistral/test_mistral_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_invalid_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_model_thinking_part_iter.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_native_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_prompted_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_responses_model_thinking_part.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_text_output_function.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_openai_tool_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_text_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai/test_valid_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_native_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_native_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_prompted_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_prompted_output_multiple.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_text_output_function.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/cassettes/test_openai_responses/test_tool_output.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_anthropic.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_bedrock.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_deepseek.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_gemini.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_gemini_vertex.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_google.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_groq.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_huggingface.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_instrumented.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_mcp_sampling.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_model.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_model_settings.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_openai.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/models/test_openai_responses.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/__init__.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_github.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_huggingface.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_openrouter.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/providers/test_together.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_a2a.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_ag_ui.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_agent.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_cli.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_deps.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_direct.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_examples.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_history_processor.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_live.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_logfire.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_mcp.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_settings.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_streaming.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_thinking_part.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_toolsets.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/test_utils.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/typed_agent.py +0 -0
- {pydantic_ai-0.4.5 → pydantic_ai-0.4.6}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.6
|
|
4
4
|
Summary: Agent Framework / shim to use Pydantic with LLMs
|
|
5
5
|
Project-URL: Homepage, https://ai.pydantic.dev
|
|
6
6
|
Project-URL: Source, https://github.com/pydantic/pydantic-ai
|
|
@@ -28,11 +28,11 @@ Classifier: Topic :: Internet
|
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
29
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
30
|
Requires-Python: >=3.9
|
|
31
|
-
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.
|
|
31
|
+
Requires-Dist: pydantic-ai-slim[ag-ui,anthropic,bedrock,cli,cohere,evals,google,groq,huggingface,mcp,mistral,openai,vertexai]==0.4.6
|
|
32
32
|
Provides-Extra: a2a
|
|
33
33
|
Requires-Dist: fasta2a>=0.4.1; extra == 'a2a'
|
|
34
34
|
Provides-Extra: examples
|
|
35
|
-
Requires-Dist: pydantic-ai-examples==0.4.
|
|
35
|
+
Requires-Dist: pydantic-ai-examples==0.4.6; extra == 'examples'
|
|
36
36
|
Provides-Extra: logfire
|
|
37
37
|
Requires-Dist: logfire>=3.11.0; extra == 'logfire'
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
@@ -11,7 +11,7 @@ from dirty_equals import HasRepr, IsNumber
|
|
|
11
11
|
from inline_snapshot import snapshot
|
|
12
12
|
from pydantic import BaseModel
|
|
13
13
|
|
|
14
|
-
from ..conftest import try_import
|
|
14
|
+
from ..conftest import IsStr, try_import
|
|
15
15
|
from .utils import render_table
|
|
16
16
|
|
|
17
17
|
with try_import() as imports_successful:
|
|
@@ -1086,3 +1086,134 @@ def test_evaluate_non_serializable_inputs():
|
|
|
1086
1086
|
│ Averages │ │ 1.0s │
|
|
1087
1087
|
└──────────┴────────────────────────────────────────────────────────────────────────────────────┴──────────┘
|
|
1088
1088
|
""")
|
|
1089
|
+
|
|
1090
|
+
|
|
1091
|
+
async def test_evaluate_async_logfire(
|
|
1092
|
+
example_dataset: Dataset[TaskInput, TaskOutput, TaskMetadata],
|
|
1093
|
+
simple_evaluator: type[Evaluator[TaskInput, TaskOutput, TaskMetadata]],
|
|
1094
|
+
capfire: CaptureLogfire,
|
|
1095
|
+
):
|
|
1096
|
+
"""Test evaluating a dataset."""
|
|
1097
|
+
example_dataset.add_evaluator(simple_evaluator())
|
|
1098
|
+
|
|
1099
|
+
async def mock_async_task(inputs: TaskInput) -> TaskOutput:
|
|
1100
|
+
if inputs.query == 'What is 2+2?':
|
|
1101
|
+
return TaskOutput(answer='4')
|
|
1102
|
+
elif inputs.query == 'What is the capital of France?':
|
|
1103
|
+
return TaskOutput(answer='Paris')
|
|
1104
|
+
return TaskOutput(answer='Unknown') # pragma: no cover
|
|
1105
|
+
|
|
1106
|
+
await example_dataset.evaluate(mock_async_task)
|
|
1107
|
+
|
|
1108
|
+
spans = capfire.exporter.exported_spans_as_dict()
|
|
1109
|
+
spans.sort(key=lambda s: s['start_time'])
|
|
1110
|
+
assert spans == [
|
|
1111
|
+
{
|
|
1112
|
+
'attributes': {
|
|
1113
|
+
'averages': '{"name":"Averages","scores":{"confidence":1.0},"labels":{},"metrics":{},"assertions":1.0,"task_duration":1.0,"total_duration":5.0}',
|
|
1114
|
+
'cases': '[{"name":"case1","inputs":{"query":"What is '
|
|
1115
|
+
'2+2?"},"metadata":{"difficulty":"easy","category":"general"},"expected_output":{"answer":"4","confidence":1.0},"output":{"answer":"4","confidence":1.0},"metrics":{},"attributes":{},"scores":{"confidence":{"name":"confidence","value":1.0,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}},"labels":{},"assertions":{"correct":{"name":"correct","value":true,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}},"task_duration":1.0,"total_duration":6.0,"trace_id":"00000000000000000000000000000001","span_id":"0000000000000003"},{"name":"case2","inputs":{"query":"What '
|
|
1116
|
+
'is the capital of '
|
|
1117
|
+
'France?"},"metadata":{"difficulty":"medium","category":"geography"},"expected_output":{"answer":"Paris","confidence":1.0},"output":{"answer":"Paris","confidence":1.0},"metrics":{},"attributes":{},"scores":{"confidence":{"name":"confidence","value":1.0,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}},"labels":{},"assertions":{"correct":{"name":"correct","value":true,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}},"task_duration":1.0,"total_duration":4.0,"trace_id":"00000000000000000000000000000001","span_id":"0000000000000007"}]',
|
|
1118
|
+
'code.filepath': 'test_dataset.py',
|
|
1119
|
+
'code.function': 'test_evaluate_async_logfire',
|
|
1120
|
+
'code.lineno': 123,
|
|
1121
|
+
'logfire.json_schema': '{"type":"object","properties":{"name":{},"cases":{"type":"array"},"averages":{"type":"object"}}}',
|
|
1122
|
+
'logfire.msg': 'evaluate mock_async_task',
|
|
1123
|
+
'logfire.msg_template': 'evaluate {name}',
|
|
1124
|
+
'logfire.span_type': 'span',
|
|
1125
|
+
'name': 'mock_async_task',
|
|
1126
|
+
},
|
|
1127
|
+
'context': {'is_remote': False, 'span_id': 1, 'trace_id': 1},
|
|
1128
|
+
'end_time': 10000000000,
|
|
1129
|
+
'name': 'evaluate {name}',
|
|
1130
|
+
'parent': None,
|
|
1131
|
+
'start_time': 1000000000,
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
'attributes': {
|
|
1135
|
+
'assertions': '{"correct":{"name":"correct","value":true,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}}',
|
|
1136
|
+
'attributes': '{}',
|
|
1137
|
+
'case_name': 'case1',
|
|
1138
|
+
'code.filepath': IsStr(),
|
|
1139
|
+
'code.lineno': 123,
|
|
1140
|
+
'expected_output': '{"answer":"4","confidence":1.0}',
|
|
1141
|
+
'inputs': '{"query":"What is 2+2?"}',
|
|
1142
|
+
'labels': '{}',
|
|
1143
|
+
'logfire.json_schema': '{"type":"object","properties":{"task_name":{},"case_name":{},"inputs":{"type":"object","title":"TaskInput","x-python-datatype":"PydanticModel"},"metadata":{"type":"object","title":"TaskMetadata","x-python-datatype":"PydanticModel"},"expected_output":{"type":"object","title":"TaskOutput","x-python-datatype":"PydanticModel"},"output":{"type":"object","title":"TaskOutput","x-python-datatype":"PydanticModel"},"task_duration":{},"metrics":{"type":"object"},"attributes":{"type":"object"},"assertions":{"type":"object"},"scores":{"type":"object"},"labels":{"type":"object"}}}',
|
|
1144
|
+
'logfire.msg': 'case: case1',
|
|
1145
|
+
'logfire.msg_template': 'case: {case_name}',
|
|
1146
|
+
'logfire.span_type': 'span',
|
|
1147
|
+
'metadata': '{"difficulty":"easy","category":"general"}',
|
|
1148
|
+
'metrics': '{}',
|
|
1149
|
+
'output': '{"answer":"4","confidence":1.0}',
|
|
1150
|
+
'scores': '{"confidence":{"name":"confidence","value":1.0,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}}',
|
|
1151
|
+
'task_duration': 1.0,
|
|
1152
|
+
'task_name': 'mock_async_task',
|
|
1153
|
+
},
|
|
1154
|
+
'context': {'is_remote': False, 'span_id': 3, 'trace_id': 1},
|
|
1155
|
+
'end_time': 8000000000,
|
|
1156
|
+
'name': 'case: {case_name}',
|
|
1157
|
+
'parent': {'is_remote': False, 'span_id': 1, 'trace_id': 1},
|
|
1158
|
+
'start_time': 2000000000,
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
'attributes': {
|
|
1162
|
+
'code.filepath': IsStr(),
|
|
1163
|
+
'code.lineno': 123,
|
|
1164
|
+
'logfire.json_schema': '{"type":"object","properties":{"task":{}}}',
|
|
1165
|
+
'logfire.msg': 'execute mock_async_task',
|
|
1166
|
+
'logfire.msg_template': 'execute {task}',
|
|
1167
|
+
'logfire.span_type': 'span',
|
|
1168
|
+
'task': 'mock_async_task',
|
|
1169
|
+
},
|
|
1170
|
+
'context': {'is_remote': False, 'span_id': 5, 'trace_id': 1},
|
|
1171
|
+
'end_time': 4000000000,
|
|
1172
|
+
'name': 'execute {task}',
|
|
1173
|
+
'parent': {'is_remote': False, 'span_id': 3, 'trace_id': 1},
|
|
1174
|
+
'start_time': 3000000000,
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
'attributes': {
|
|
1178
|
+
'assertions': '{"correct":{"name":"correct","value":true,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}}',
|
|
1179
|
+
'attributes': '{}',
|
|
1180
|
+
'case_name': 'case2',
|
|
1181
|
+
'code.filepath': IsStr(),
|
|
1182
|
+
'code.lineno': 123,
|
|
1183
|
+
'expected_output': '{"answer":"Paris","confidence":1.0}',
|
|
1184
|
+
'inputs': '{"query":"What is the capital of France?"}',
|
|
1185
|
+
'labels': '{}',
|
|
1186
|
+
'logfire.json_schema': '{"type":"object","properties":{"task_name":{},"case_name":{},"inputs":{"type":"object","title":"TaskInput","x-python-datatype":"PydanticModel"},"metadata":{"type":"object","title":"TaskMetadata","x-python-datatype":"PydanticModel"},"expected_output":{"type":"object","title":"TaskOutput","x-python-datatype":"PydanticModel"},"output":{"type":"object","title":"TaskOutput","x-python-datatype":"PydanticModel"},"task_duration":{},"metrics":{"type":"object"},"attributes":{"type":"object"},"assertions":{"type":"object"},"scores":{"type":"object"},"labels":{"type":"object"}}}',
|
|
1187
|
+
'logfire.msg': 'case: case2',
|
|
1188
|
+
'logfire.msg_template': 'case: {case_name}',
|
|
1189
|
+
'logfire.span_type': 'span',
|
|
1190
|
+
'metadata': '{"difficulty":"medium","category":"geography"}',
|
|
1191
|
+
'metrics': '{}',
|
|
1192
|
+
'output': '{"answer":"Paris","confidence":1.0}',
|
|
1193
|
+
'scores': '{"confidence":{"name":"confidence","value":1.0,"reason":null,"source":{"name":"SimpleEvaluator","arguments":null}}}',
|
|
1194
|
+
'task_duration': 1.0,
|
|
1195
|
+
'task_name': 'mock_async_task',
|
|
1196
|
+
},
|
|
1197
|
+
'context': {'is_remote': False, 'span_id': 7, 'trace_id': 1},
|
|
1198
|
+
'end_time': 9000000000,
|
|
1199
|
+
'name': 'case: {case_name}',
|
|
1200
|
+
'parent': {'is_remote': False, 'span_id': 1, 'trace_id': 1},
|
|
1201
|
+
'start_time': 5000000000,
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
'attributes': {
|
|
1205
|
+
'code.filepath': IsStr(),
|
|
1206
|
+
'code.lineno': 123,
|
|
1207
|
+
'logfire.json_schema': '{"type":"object","properties":{"task":{}}}',
|
|
1208
|
+
'logfire.msg': 'execute mock_async_task',
|
|
1209
|
+
'logfire.msg_template': 'execute {task}',
|
|
1210
|
+
'logfire.span_type': 'span',
|
|
1211
|
+
'task': 'mock_async_task',
|
|
1212
|
+
},
|
|
1213
|
+
'context': {'is_remote': False, 'span_id': 9, 'trace_id': 1},
|
|
1214
|
+
'end_time': 7000000000,
|
|
1215
|
+
'name': 'execute {task}',
|
|
1216
|
+
'parent': {'is_remote': False, 'span_id': 7, 'trace_id': 1},
|
|
1217
|
+
'start_time': 6000000000,
|
|
1218
|
+
},
|
|
1219
|
+
]
|