pydantic-ai 0.2.0__tar.gz → 0.2.1__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.2.0 → pydantic_ai-0.2.1}/PKG-INFO +3 -3
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_anthropic.py +16 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_instrumented.py +2 -2
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/.gitignore +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/LICENSE +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/Makefile +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/README.md +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/pyproject.toml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/__init__.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/conftest.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/__init__.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/evals/utils.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/example_modules/README.md +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/graph/__init__.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/graph/test_state.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/import_examples.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/mcp_server.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/__init__.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_bedrock.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_gemini.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_groq.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_mistral.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_model.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_openai.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/test_openai_responses.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/__init__.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_agent.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_cli.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_deps.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_examples.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_live.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_logfire.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_mcp.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_messages.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_settings.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_streaming.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_tools.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/test_utils.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/typed_agent.py +0 -0
- {pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
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,9 +28,9 @@ 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[anthropic,bedrock,cli,cohere,evals,groq,mcp,mistral,openai,vertexai]==0.2.
|
|
31
|
+
Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cli,cohere,evals,groq,mcp,mistral,openai,vertexai]==0.2.1
|
|
32
32
|
Provides-Extra: examples
|
|
33
|
-
Requires-Dist: pydantic-ai-examples==0.2.
|
|
33
|
+
Requires-Dist: pydantic-ai-examples==0.2.1; extra == 'examples'
|
|
34
34
|
Provides-Extra: logfire
|
|
35
35
|
Requires-Dist: logfire>=3.11.0; extra == 'logfire'
|
|
36
36
|
Description-Content-Type: text/markdown
|
|
@@ -927,6 +927,22 @@ async def test_anthropic_model_instructions(allow_model_requests: None, anthropi
|
|
|
927
927
|
)
|
|
928
928
|
|
|
929
929
|
|
|
930
|
+
async def test_multiple_system_prompt_formatting(allow_model_requests: None):
|
|
931
|
+
c = completion_message([TextBlock(text='world', type='text')], AnthropicUsage(input_tokens=5, output_tokens=10))
|
|
932
|
+
mock_client = MockAnthropic().create_mock(c)
|
|
933
|
+
m = AnthropicModel('claude-3-5-haiku-latest', provider=AnthropicProvider(anthropic_client=mock_client))
|
|
934
|
+
agent = Agent(m, system_prompt='this is the system prompt')
|
|
935
|
+
|
|
936
|
+
@agent.system_prompt
|
|
937
|
+
def system_prompt() -> str:
|
|
938
|
+
return 'and this is another'
|
|
939
|
+
|
|
940
|
+
await agent.run('hello')
|
|
941
|
+
completion_kwargs = get_mock_chat_completion_kwargs(mock_client)[0]
|
|
942
|
+
assert 'system' in completion_kwargs
|
|
943
|
+
assert completion_kwargs['system'] == 'this is the system prompt\n\nand this is another'
|
|
944
|
+
|
|
945
|
+
|
|
930
946
|
def anth_msg(usage: AnthropicUsage) -> AnthropicMessage:
|
|
931
947
|
return AnthropicMessage(
|
|
932
948
|
id='x',
|
|
@@ -36,7 +36,7 @@ from pydantic_ai.models.instrumented import InstrumentationSettings, Instrumente
|
|
|
36
36
|
from pydantic_ai.settings import ModelSettings
|
|
37
37
|
from pydantic_ai.usage import Usage
|
|
38
38
|
|
|
39
|
-
from ..conftest import try_import
|
|
39
|
+
from ..conftest import IsStr, try_import
|
|
40
40
|
|
|
41
41
|
with try_import() as imports_successful:
|
|
42
42
|
from logfire.testing import CaptureLogfire
|
|
@@ -796,7 +796,7 @@ def test_messages_to_otel_events_image_url(document_content: BinaryContent):
|
|
|
796
796
|
'event.name': 'gen_ai.user.message',
|
|
797
797
|
},
|
|
798
798
|
{
|
|
799
|
-
'content': ['user_prompt6', {'kind': 'binary'}],
|
|
799
|
+
'content': ['user_prompt6', {'kind': 'binary', 'content': IsStr(), 'media_type': 'application/pdf'}],
|
|
800
800
|
'role': 'user',
|
|
801
801
|
'gen_ai.message.index': 5,
|
|
802
802
|
'event.name': 'gen_ai.user.message',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_error.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_image.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_none.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_mcp/test_tool_returning_str.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/cassettes/test_settings/test_stop_settings[groq].yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_image_url_input.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_gemini/test_video_url_input.yaml
RENAMED
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_groq/test_extra_headers.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_groq/test_image_url_input.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_extra_headers.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pydantic_ai-0.2.0 → pydantic_ai-0.2.1}/tests/models/cassettes/test_openai/test_user_id.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|