PydanticAI coverage for 8b2a33ec12cc41479b0bd2bff0e757359fad073b: 96.86%

Files Functions Classes

coverage.py v7.6.12, created at 2025-03-28 17:27 +0000

File function statements missing excluded branches partial coverage
pydantic_ai_slim/pydantic_ai/_agent_graph.py UserPromptNode._reevaluate_dynamic_prompts 8 0 0 12 1 95.00%
pydantic_ai_slim/pydantic_ai/_agent_graph.py ModelRequestNode.run 5 1 0 4 1 77.78%
pydantic_ai_slim/pydantic_ai/_agent_graph.py ModelRequestNode._make_request 6 1 0 2 1 75.00%
pydantic_ai_slim/pydantic_ai/_agent_graph.py ModelRequestNode._prepare_request 7 0 0 2 1 88.89%
pydantic_ai_slim/pydantic_ai/_agent_graph.py ModelRequestNode._finish_handling 6 0 0 2 1 87.50%
pydantic_ai_slim/pydantic_ai/_agent_graph.py _tool_from_mcp_server 6 0 0 4 1 90.00%
pydantic_ai_slim/pydantic_ai/_parts_manager.py ModelResponsePartsManager.handle_tool_call_delta 30 0 0 20 1 98.00%
pydantic_ai_slim/pydantic_ai/_result.py ResultSchema.find_named_tool 4 0 0 6 2 80.00%
pydantic_ai_slim/pydantic_ai/_result.py ResultSchema.find_tool 4 0 0 6 1 90.00%
pydantic_ai_slim/pydantic_ai/_result.py ResultTool.__init__ 18 1 0 8 1 92.31%
pydantic_ai_slim/pydantic_ai/_result.py ResultTool.validate 13 0 0 6 1 94.74%
pydantic_ai_slim/pydantic_ai/_result.py extract_str_from_union 12 1 0 10 2 86.36%
pydantic_ai_slim/pydantic_ai/agent.py Agent.run_stream 28 3 0 14 3 85.71%
pydantic_ai_slim/pydantic_ai/agent.py Agent.system_prompt.decorator 5 0 0 2 1 85.71%
pydantic_ai_slim/pydantic_ai/agent.py Agent._infer_name 12 0 0 14 1 96.15%
pydantic_ai_slim/pydantic_ai/agent.py AgentRun.result 4 1 0 2 1 66.67%
pydantic_ai_slim/pydantic_ai/agent.py AgentRun.__repr__ 3 3 0 0 0 0.00%
pydantic_ai_slim/pydantic_ai/messages.py AudioUrl.media_type 5 5 0 4 0 0.00%
pydantic_ai_slim/pydantic_ai/messages.py ImageUrl.media_type 9 3 0 8 3 64.71%
pydantic_ai_slim/pydantic_ai/messages.py BinaryContent.format 10 1 0 10 2 85.00%
pydantic_ai_slim/pydantic_ai/messages.py _document_format 17 1 0 16 1 93.94%
pydantic_ai_slim/pydantic_ai/messages.py _image_format 9 1 0 8 1 88.24%
pydantic_ai_slim/pydantic_ai/messages.py ToolReturnPart.model_response_object 3 1 0 2 1 60.00%
pydantic_ai_slim/pydantic_ai/messages.py TextPartDelta.apply 3 1 0 2 1 60.00%
pydantic_ai_slim/pydantic_ai/messages.py ToolCallPartDelta.apply 5 1 0 4 1 77.78%
pydantic_ai_slim/pydantic_ai/models/__init__.py infer_model 41 2 0 26 2 94.03%
pydantic_ai_slim/pydantic_ai/models/anthropic.py AnthropicModel._messages_create 15 0 0 8 1 95.65%
pydantic_ai_slim/pydantic_ai/models/anthropic.py AnthropicModel._process_streamed_response 6 1 0 2 1 75.00%
pydantic_ai_slim/pydantic_ai/models/anthropic.py AnthropicModel._map_message 29 1 2 22 2 94.12%
pydantic_ai_slim/pydantic_ai/models/anthropic.py AnthropicModel._map_user_prompt 31 2 4 18 2 91.84%
pydantic_ai_slim/pydantic_ai/models/anthropic.py AnthropicStreamedResponse._get_event_iterator 27 1 0 20 5 87.23%
pydantic_ai_slim/pydantic_ai/models/bedrock.py BedrockConverseModel._process_response 10 0 0 6 1 93.75%
pydantic_ai_slim/pydantic_ai/models/bedrock.py BedrockConverseModel._messages_create 15 1 0 6 1 90.48%
pydantic_ai_slim/pydantic_ai/models/bedrock.py BedrockConverseModel._map_inference_config 9 1 0 6 1 86.67%
pydantic_ai_slim/pydantic_ai/models/bedrock.py BedrockConverseModel._map_user_prompt 31 0 5 14 1 97.78%
pydantic_ai_slim/pydantic_ai/models/bedrock.py BedrockStreamedResponse._get_event_iterator 30 1 0 24 4 90.74%
pydantic_ai_slim/pydantic_ai/models/bedrock.py _AsyncIteratorWrapper.__anext__ 7 0 0 2 1 88.89%
pydantic_ai_slim/pydantic_ai/models/cohere.py CohereModel._chat 8 0 0 2 1 90.00%
pydantic_ai_slim/pydantic_ai/models/cohere.py CohereModel._process_response 8 0 0 6 1 92.86%
pydantic_ai_slim/pydantic_ai/models/cohere.py CohereModel._map_user_message 13 1 2 12 1 92.00%
pydantic_ai_slim/pydantic_ai/models/cohere.py _map_usage 16 2 0 12 4 78.57%
pydantic_ai_slim/pydantic_ai/models/fallback.py FallbackModel.request_stream 14 1 0 4 1 88.89%
pydantic_ai_slim/pydantic_ai/models/fallback.py FallbackModel._set_span_attributes 6 0 0 4 1 90.00%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiModel.base_url 2 2 0 0 0 0.00%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiModel._get_tool_config 5 1 0 4 1 77.78%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiModel._make_request 36 1 0 26 2 95.16%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiModel._process_response 8 2 0 6 2 71.43%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiModel._process_streamed_response 14 0 0 8 1 95.45%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiModel._message_to_gemini_content 22 1 4 16 2 92.11%
pydantic_ai_slim/pydantic_ai/models/gemini.py ApiKeyAuth.headers 1 1 0 0 0 0.00%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiStreamedResponse._get_event_iterator 12 2 0 12 3 79.17%
pydantic_ai_slim/pydantic_ai/models/gemini.py GeminiStreamedResponse._get_gemini_responses 14 0 0 6 1 95.00%
pydantic_ai_slim/pydantic_ai/models/gemini.py _process_response_from_parts 9 2 0 8 1 70.59%
pydantic_ai_slim/pydantic_ai/models/gemini.py _part_discriminator 12 2 0 12 3 79.17%
pydantic_ai_slim/pydantic_ai/models/gemini.py _function_from_abstract_tool 5 0 0 2 1 85.71%
pydantic_ai_slim/pydantic_ai/models/gemini.py _metadata_as_usage 7 2 0 4 2 63.64%
pydantic_ai_slim/pydantic_ai/models/gemini.py _GeminiJsonSchema._simplify 31 0 0 22 3 94.34%
pydantic_ai_slim/pydantic_ai/models/gemini.py _GeminiJsonSchema._object 6 1 0 6 1 83.33%
pydantic_ai_slim/pydantic_ai/models/groq.py GroqModel._completions_create 13 0 0 6 1 94.74%
pydantic_ai_slim/pydantic_ai/models/groq.py GroqModel._process_streamed_response 5 1 0 2 1 71.43%
pydantic_ai_slim/pydantic_ai/models/groq.py GroqModel._map_user_message 11 1 0 12 2 86.96%
pydantic_ai_slim/pydantic_ai/models/groq.py _map_usage 8 1 0 6 1 85.71%
pydantic_ai_slim/pydantic_ai/models/instrumented.py InstrumentedModel.request_stream 7 0 0 2 1 88.89%
pydantic_ai_slim/pydantic_ai/models/instrumented.py InstrumentedModel.model_attributes 9 0 2 6 2 86.67%
pydantic_ai_slim/pydantic_ai/models/instrumented.py InstrumentedModel.event_to_dict 6 1 0 4 1 80.00%
pydantic_ai_slim/pydantic_ai/models/instrumented.py InstrumentedModel.messages_to_otel_events 15 0 0 14 1 96.55%
pydantic_ai_slim/pydantic_ai/models/mistral.py MistralModel._completions_create 8 0 0 2 1 90.00%
pydantic_ai_slim/pydantic_ai/models/mistral.py MistralModel._process_streamed_response 8 1 0 4 1 83.33%
pydantic_ai_slim/pydantic_ai/models/mistral.py MistralModel._get_timeout_ms 4 2 1 2 1 50.00%
pydantic_ai_slim/pydantic_ai/models/mistral.py MistralModel._map_user_message 11 1 2 10 1 90.48%
pydantic_ai_slim/pydantic_ai/models/mistral.py MistralModel._map_user_prompt 17 2 2 12 1 89.66%
pydantic_ai_slim/pydantic_ai/models/mistral.py _map_usage 3 1 0 2 1 60.00%
pydantic_ai_slim/pydantic_ai/models/mistral.py _map_content 13 2 0 12 3 80.00%
pydantic_ai_slim/pydantic_ai/models/openai.py OpenAIModel._completions_create 16 0 0 10 1 96.15%
pydantic_ai_slim/pydantic_ai/models/openai.py OpenAIModel._process_streamed_response 5 1 0 2 1 71.43%
pydantic_ai_slim/pydantic_ai/models/openai.py OpenAIModel._map_user_message 15 1 2 14 1 93.10%
pydantic_ai_slim/pydantic_ai/models/test.py TestModel._get_result 15 1 0 10 1 92.00%
pydantic_ai_slim/pydantic_ai/models/test.py TestModel._request 33 0 0 24 1 98.25%
pydantic_ai_slim/pydantic_ai/models/wrapper.py WrapperModel.__getattr__ 1 1 0 0 0 0.00%
pydantic_ai_slim/pydantic_ai/providers/google_vertex.py _VertexAIAuth.async_auth_flow 11 0 0 6 1 94.12%
pydantic_ai_slim/pydantic_ai/providers/google_vertex.py _VertexAIAuth._get_credentials 17 1 0 8 2 88.00%
pydantic_ai_slim/pydantic_ai/result.py AgentStream.stream_output 5 0 0 6 1 90.91%
pydantic_ai_slim/pydantic_ai/result.py AgentStream.stream_responses 8 3 0 6 1 57.14%
pydantic_ai_slim/pydantic_ai/result.py AgentStream._validate_response 13 1 0 8 1 90.48%
pydantic_ai_slim/pydantic_ai/result.py AgentStream.__aiter__.aiter._get_final_result_event 9 0 0 10 2 89.47%
pydantic_ai_slim/pydantic_ai/result.py StreamedRunResult.all_messages_json 1 1 0 0 0 0.00%
pydantic_ai_slim/pydantic_ai/result.py StreamedRunResult.new_messages 1 1 0 0 0 0.00%
pydantic_ai_slim/pydantic_ai/result.py StreamedRunResult.new_messages_json 1 1 0 0 0 0.00%
pydantic_ai_slim/pydantic_ai/result.py StreamedRunResult.validate_structured_result 13 3 0 8 3 71.43%
pydantic_ai_slim/pydantic_ai/result.py StreamedRunResult._validate_text_result 3 1 0 2 1 60.00%
pydantic_ai_slim/pydantic_ai/result.py StreamedRunResult._stream_response_text._stream_text_deltas_ungrouped 9 1 0 10 2 84.21%
pydantic_ai_slim/pydantic_ai/result.py _get_usage_checking_stream_response 4 2 0 2 1 50.00%
pydantic_ai_slim/pydantic_ai/result.py _get_usage_checking_stream_response._usage_checking_iterator 3 3 0 2 0 0.00%
pydantic_ai_slim/pydantic_ai/tools.py RunContext.replace_with 6 0 0 4 1 90.00%
pydantic_ai_slim/pydantic_ai/tools.py GenerateToolJsonSchema.typed_dict_schema 5 0 0 2 1 85.71%
pydantic_ai_slim/pydantic_ai/tools.py Tool._run 17 2 0 4 0 90.48%
pydantic_ai_slim/pydantic_ai/tools.py Tool._call_args 9 1 0 6 1 86.67%
pydantic_ai_slim/pydantic_ai/tools.py Tool._on_error 7 1 0 4 1 81.82%
pydantic_evals/pydantic_evals/dataset.py Dataset._params 4 0 3 2 1 83.33%
pydantic_evals/pydantic_evals/dataset.py Dataset.to_file 21 0 4 8 3 89.66%
pydantic_evals/pydantic_evals/dataset.py Dataset.model_json_schema_with_evaluators 40 0 0 18 2 96.55%
pydantic_evals/pydantic_evals/dataset.py Dataset._save_schema 5 0 0 2 1 85.71%
pydantic_evals/pydantic_evals/dataset.py _run_task 21 0 2 14 1 97.14%
pydantic_evals/pydantic_evals/dataset.py _group_evaluator_outputs_by_type 19 0 0 12 1 96.77%
pydantic_evals/pydantic_evals/dataset.py set_eval_attribute 3 0 0 2 1 80.00%
pydantic_evals/pydantic_evals/dataset.py increment_eval_metric 3 0 0 2 1 80.00%
pydantic_evals/pydantic_evals/evaluators/evaluator.py Evaluator.serialize 16 0 0 14 1 96.67%
pydantic_evals/pydantic_evals/otel/span_tree.py SpanNode.find_ancestors 7 0 0 4 1 90.91%
pydantic_evals/pydantic_evals/reporting/__init__.py _ValueRenderer.render_diff 13 0 2 6 1 94.74%
pydantic_evals/pydantic_evals/reporting/__init__.py _NumberRenderer.render_diff 15 0 0 8 2 91.30%
pydantic_evals/pydantic_evals/reporting/__init__.py _AbstractRenderer.render_value 1 0 0 2 1 66.67%
pydantic_evals/pydantic_evals/reporting/__init__.py _AbstractRenderer.render_diff 1 0 0 2 1 66.67%
pydantic_evals/pydantic_evals/reporting/__init__.py ReportCaseRenderer.build_diff_row 22 0 0 12 6 82.35%
pydantic_evals/pydantic_evals/reporting/__init__.py ReportCaseRenderer.build_diff_aggregate_row 20 0 0 12 6 81.25%
pydantic_evals/pydantic_evals/reporting/__init__.py ReportCaseRenderer._render_durations_diff 6 0 0 2 1 87.50%
pydantic_evals/pydantic_evals/reporting/__init__.py EvaluationRenderer.build_table 8 0 0 4 1 91.67%
pydantic_evals/pydantic_evals/reporting/__init__.py EvaluationRenderer.build_diff_table 34 0 2 14 1 97.92%
pydantic_graph/pydantic_graph/_utils.py get_union_args 6 1 0 4 1 80.00%
pydantic_graph/pydantic_graph/_utils.py get_parent_namespace 5 0 0 6 2 81.82%
pydantic_graph/pydantic_graph/graph.py Graph.run_sync 3 0 0 2 1 80.00%
pydantic_graph/pydantic_graph/graph.py Graph.iter 12 0 0 10 1 95.45%
pydantic_graph/pydantic_graph/graph.py Graph.iter_from_persistence 14 0 0 10 2 91.67%
pydantic_graph/pydantic_graph/graph.py Graph.next 5 0 0 2 1 85.71%
pydantic_graph/pydantic_graph/graph.py Graph.inferred_types 22 0 0 20 1 97.62%
pydantic_graph/pydantic_graph/graph.py Graph._infer_name 11 0 0 12 2 91.30%
pydantic_graph/pydantic_graph/nodes.py BaseNode.get_note 9 1 0 6 2 80.00%
pydantic_graph/pydantic_graph/persistence/file.py FileStatePersistence.snapshot_node_if_new 4 0 0 2 1 83.33%
pydantic_graph/pydantic_graph/persistence/in_mem.py SimpleStatePersistence.snapshot_node_if_new 3 1 0 2 1 60.00%
tests/graph/test_graph.py test_next.Bar.run 1 1 0 0 0 0.00%
tests/json_body_serializer.py serialize 24 5 0 16 4 72.50%
tests/json_body_serializer.py (no function) 15 2 2 0 0 86.67%
tests/models/test_anthropic.py MockAnthropic.messages_create 14 1 0 6 1 90.00%
tests/models/test_anthropic.py test_parallel_tool_calls.get_location 3 1 0 2 1 60.00%
tests/models/test_gemini.py gemini_no_content_response 4 0 0 2 1 83.33%
tests/models/test_groq.py MockGroq.chat_completions_create 13 1 0 6 1 89.47%
tests/models/test_instrumented.py test_instrumented_model_stream_break 9 0 0 2 1 90.91%
tests/providers/test_google_vertex.py NoOpCredentials.refresh 1 0 0 2 1 66.67%
tests/test_agent.py test_heterogeneous_responses_non_streaming.get_location 3 1 0 2 1 60.00%
tests/test_examples.py rich_prompt_ask 12 4 2 10 1 68.18%
tests/test_examples.py mock_infer_model 19 2 1 10 0 93.10%
tests/test_tools.py test_plain_tool_name.my_tool 1 0 0 2 1 66.67%
tests/test_tools.py test_tool_name.my_tool 1 0 0 2 1 66.67%
tests/test_utils.py test_package_versions 6 0 0 4 1 90.00%
Total   8069 116 945 2128 190 96.86%

No items found using the specified filter.

857 functions skipped due to complete coverage.