Repository Analysis

confident-ai/deepeval

The LLM Evaluation Framework

21.0 Moderate AI signal View on GitHub
21.0
Adjusted Score
21.0
Raw Score
100%
Time Factor
2026-05-28
Last Push
15,805
Stars
Python
Language
276,792
Lines of Code
1492
Files
3880
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 210MEDIUM 453LOW 3217

Pattern Findings

3880 matches across 16 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers2014 hits · 1982 pts
SeverityFileLineSnippet
LOWtests/test_metrics/test_image_coherence_metric.py20 def test_multimodal_async_metric_measure(self):
LOWtests/test_metrics/test_image_coherence_metric.py41 def test_multimodal_sync_metric_measure(self):
LOWtests/test_metrics/test_image_coherence_metric.py62 def test_invalid_model_throws_error_for_multimodal(self):
LOWtests/test_metrics/test_image_coherence_metric.py82 def test_multimodal_evaluate_method(self):
LOWtests/test_metrics/test_mcp_use_metric.py21 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_mcp_use_metric.py41 def test_normal_async_metric_measure(self):
LOWtests/test_metrics/test_mcp_use_metric.py61 def test_multimodal_async_metric_measure(self):
LOWtests/test_metrics/test_mcp_use_metric.py78 def test_multimodal_sync_metric_measure(self):
LOWtests/test_metrics/test_mcp_use_metric.py95 def test_invalid_model_throws_error_for_multimodal(self):
LOWtests/test_metrics/test_mcp_use_metric.py109 def test_normal_evaluate_method(self):
LOWtests/test_metrics/test_mcp_use_metric.py129 def test_multimodal_evaluate_method(self):
LOWtests/test_metrics/test_topic_adherence_metric.py20 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_topic_adherence_metric.py44 def test_normal_async_metric_measure(self):
LOWtests/test_metrics/test_topic_adherence_metric.py66 def test_multimodal_async_metric_measure(self):
LOWtests/test_metrics/test_topic_adherence_metric.py90 def test_multimodal_sync_metric_measure(self):
LOWtests/test_metrics/test_topic_adherence_metric.py116 def test_invalid_model_throws_error_for_multimodal(self):
LOWtests/test_metrics/test_topic_adherence_metric.py139 def test_normal_evaluate_method(self):
LOWtests/test_metrics/test_topic_adherence_metric.py160 def test_multimodal_evaluate_method(self):
LOWtests/test_metrics/test_pattern_match_metric.py20 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_pattern_match_metric.py44 def test_normal_evaluate_method(self):
LOWtests/test_metrics/test_contextual_precision_metric.py20 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_contextual_precision_metric.py44 def test_normal_async_metric_measure(self):
LOWtests/test_metrics/test_contextual_precision_metric.py68 def test_multimodal_async_metric_measure(self):
LOWtests/test_metrics/test_contextual_precision_metric.py89 def test_multimodal_sync_metric_measure(self):
LOWtests/test_metrics/test_contextual_precision_metric.py110 def test_invalid_model_throws_error_for_multimodal(self):
LOWtests/test_metrics/test_contextual_precision_metric.py130 def test_normal_evaluate_method(self):
LOWtests/test_metrics/test_contextual_precision_metric.py154 def test_multimodal_evaluate_method(self):
LOWtests/test_metrics/test_image_editing_metric.py20 def test_multimodal_async_metric_measure(self):
LOWtests/test_metrics/test_image_editing_metric.py41 def test_multimodal_sync_metric_measure(self):
LOWtests/test_metrics/test_image_editing_metric.py62 def test_invalid_model_throws_error_for_multimodal(self):
LOWtests/test_metrics/test_image_editing_metric.py80 def test_multimodal_evaluate_method(self):
LOWtests/test_metrics/test_dag.py45 def test_is_valid_dag_deep_nested_mixed_nodes(self):
LOWtests/test_metrics/test_dag.py99 def test_extract_required_params(self):
LOWtests/test_metrics/test_dag.py132 def test_extract_required_params_non_binary(self):
LOWtests/test_metrics/test_dag.py151 def test_disallow_multiple_judgement_roots(self):
LOWtests/test_metrics/test_dag.py170 def test_allow_multiple_tasknode_roots(self):
LOWtests/test_metrics/test_dag.py176 def test_copy_graph_isolated_and_deep(self):
LOWtests/test_metrics/test_dag.py234 def test_non_binary_node_in_dag(self):
LOWtests/test_metrics/test_dag.py262 def test_verdict_node_with_child(self):
LOWtests/test_metrics/test_bias_metric.py20 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_bias_metric.py44 def test_normal_async_metric_measure(self):
LOWtests/test_metrics/test_bias_metric.py68 def test_multimodal_async_metric_measure(self):
LOWtests/test_metrics/test_bias_metric.py89 def test_multimodal_sync_metric_measure(self):
LOWtests/test_metrics/test_bias_metric.py110 def test_invalid_model_throws_error_for_multimodal(self):
LOWtests/test_metrics/test_bias_metric.py128 def test_normal_evaluate_method(self):
LOWtests/test_metrics/test_bias_metric.py152 def test_multimodal_evaluate_method(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py21 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py43 def test_normal_async_metric_measure(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py65 def test_multimodal_async_metric_measure(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py89 def test_multimodal_sync_metric_measure(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py113 def test_invalid_model_throws_error_for_multimodal(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py134 def test_normal_evaluate_method(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py155 def test_multimodal_evaluate_method(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py182 def test_knowledge_schema_unpacking(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py189 def test_knowledge_schema_rejects_double_wrap(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py196 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_knowledge_retention_metric.py221 def test_normal_async_metric_measure(self):
LOWtests/test_metrics/test_exact_match_metric.py20 def test_normal_sync_metric_measure(self):
LOWtests/test_metrics/test_exact_match_metric.py44 def test_normal_evaluate_method(self):
LOWtests/test_metrics/test_task_completetion_metric.py21 def test_normal_sync_metric_measure(self):
1954 more matches not shown…
Decorative Section Separators384 hits · 1438 pts
SeverityFileLineSnippet
MEDIUMtests/test_metrics/test_dag_serialization.py31# ----------------------------------------------------------------------------
MEDIUMtests/test_metrics/test_dag_serialization.py33# ----------------------------------------------------------------------------
MEDIUMtests/test_metrics/test_dag_serialization.py224# ----------------------------------------------------------------------------
MEDIUMtests/test_metrics/test_dag_serialization.py226# ----------------------------------------------------------------------------
MEDIUMtests/test_metrics/test_dag_serialization.py396# ----------------------------------------------------------------------------
MEDIUMtests/test_metrics/test_dag_serialization.py398# ----------------------------------------------------------------------------
MEDIUMtests/test_metrics/test_dag_serialization.py287# ----------------------------------------------------------------------------
MEDIUMtests/test_metrics/test_dag_serialization.py289# ----------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py172# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py174# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py281# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py283# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py465# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py468# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py528# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py530# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py1002# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py1004# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py362# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py364# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py702# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py705# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py956# ---------------------------------------------------------------------------
MEDIUM…t_integrations/test_googleadk/test_span_interceptor.py958# ---------------------------------------------------------------------------
MEDIUMtests/test_integrations/test_llamaindex/test_sync.py42# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_sync.py44# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_sync.py66# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_sync.py68# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_sync.py105# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_sync.py107# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py58# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py60# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py83# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py85# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py108# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py110# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py150# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py152# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py175# =============================================================================
MEDIUMtests/test_integrations/test_llamaindex/test_async.py177# =============================================================================
MEDIUMtests/test_integrations/test_crewai/test_sync.py41# =============================================================================
MEDIUMtests/test_integrations/test_crewai/test_sync.py43# =============================================================================
MEDIUMtests/test_integrations/test_crewai/test_async.py33# =============================================================================
MEDIUMtests/test_integrations/test_crewai/test_async.py35# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/conftest.py148# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/conftest.py150# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/conftest.py526# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/conftest.py528# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/conftest.py645# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/conftest.py647# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py310# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py312# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py553# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py555# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py50# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py52# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py72# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py74# =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py105# # =============================================================================
MEDIUMtests/test_integrations/test_langgraph/test_sync.py107# # =============================================================================
324 more matches not shown…
Cross-File Repetition149 hits · 745 pts
SeverityFileLineSnippet
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0falls back to settings when current_trace_context is none.
HIGH…est_integrations/test_strands/test_span_interceptor.py0falls back to settings when current_trace_context is none.
HIGH…_integrations/test_pydanticai/test_span_interceptor.py0falls back to settings when current_trace_context is none.
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0falls back to settings when current_trace_context is none.
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0when a real deepeval span is on ``current_span_context`` and the otel span is a root (no native parent), the interceptor
HIGH…est_integrations/test_strands/test_span_interceptor.py0when a real deepeval span is on ``current_span_context`` and the otel span is a root (no native parent), the interceptor
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0when a real deepeval span is on ``current_span_context`` and the otel span is a root (no native parent), the interceptor
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0otel children already have a real parent_id pointing into the same otel trace — no need to bridge.
HIGH…est_integrations/test_strands/test_span_interceptor.py0otel children already have a real parent_id pointing into the same otel trace — no need to bridge.
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0otel children already have a real parent_id pointing into the same otel trace — no need to bridge.
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0one-shot semantics through the interceptor: a second agent span inside the same ``with`` block does not inherit.
HIGH…est_integrations/test_strands/test_span_interceptor.py0one-shot semantics through the interceptor: a second agent span inside the same ``with`` block does not inherit.
HIGH…_integrations/test_pydanticai/test_span_interceptor.py0one-shot semantics through the interceptor: a second agent span inside the same ``with`` block does not inherit.
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0one-shot semantics through the interceptor: a second agent span inside the same ``with`` block does not inherit.
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0typed slot is not consumed by spans of a different type. an llm span fired inside ``with next_agent_span(...)`` should p
HIGH…est_integrations/test_strands/test_span_interceptor.py0typed slot is not consumed by spans of a different type. an llm span fired inside ``with next_agent_span(...)`` should p
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0typed slot is not consumed by spans of a different type. an llm span fired inside ``with next_agent_span(...)`` should p
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0mirrors the ``test_tool_metric_collection`` flow in test_sync.py — ``with next_tool_span(metric_collection=...)`` sets t
HIGH…est_integrations/test_strands/test_span_interceptor.py0mirrors the ``test_tool_metric_collection`` flow in test_sync.py — ``with next_tool_span(metric_collection=...)`` sets t
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0mirrors the ``test_tool_metric_collection`` flow in test_sync.py — ``with next_tool_span(metric_collection=...)`` sets t
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0last-write-wins: ``next_agent_span`` sets the floor at on_start; later ``update_current_span(...)`` (e.g. from inside a
HIGH…est_integrations/test_strands/test_span_interceptor.py0last-write-wins: ``next_agent_span`` sets the floor at on_start; later ``update_current_span(...)`` (e.g. from inside a
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0last-write-wins: ``next_agent_span`` sets the floor at on_start; later ``update_current_span(...)`` (e.g. from inside a
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0``with next_agent_span(metrics=[...])`` populates the placeholder; at on_end the interceptor calls ``stash_pending_metri
HIGH…est_integrations/test_strands/test_span_interceptor.py0``with next_agent_span(metrics=[...])`` populates the placeholder; at on_end the interceptor calls ``stash_pending_metri
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0``with next_agent_span(metrics=[...])`` populates the placeholder; at on_end the interceptor calls ``stash_pending_metri
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0in production paths (``is_evaluating=false``) the metrics overlay would leak — gate prevents the stash.
HIGH…est_integrations/test_strands/test_span_interceptor.py0in production paths (``is_evaluating=false``) the metrics overlay would leak — gate prevents the stash.
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0in production paths (``is_evaluating=false``) the metrics overlay would leak — gate prevents the stash.
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0span-level kwargs were removed in the otel poc migration. each must raise ``typeerror`` on construction so callers see e
HIGH…est_integrations/test_strands/test_span_interceptor.py0span-level kwargs were removed in the otel poc migration. each must raise ``typeerror`` on construction so callers see e
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0span-level kwargs were removed in the otel poc migration. each must raise ``typeerror`` on construction so callers see e
HIGH…t_integrations/test_googleadk/test_span_interceptor.py0constructor must succeed when no api_key is supplied or in env. the otel pipeline still wires up locally — only the outb
HIGH…est_integrations/test_strands/test_span_interceptor.py0constructor must succeed when no api_key is supplied or in env. the otel pipeline still wires up locally — only the outb
HIGH…t_integrations/test_agentcore/test_span_interceptor.py0constructor must succeed when no api_key is supplied or in env. the otel pipeline still wires up locally — only the outb
HIGH…ns/test_googleadk/apps/googleadk_multiple_tools_app.py0trace-level setup for the multiple-tools fixture. per-tool / per-agent metric collections belong on ``with next_*_span(.
HIGH…ations/test_strands/apps/strands_multiple_tools_app.py0trace-level setup for the multiple-tools fixture. per-tool / per-agent metric collections belong on ``with next_*_span(.
HIGH…ns/test_agentcore/apps/agentcore_multiple_tools_app.py0trace-level setup for the multiple-tools fixture. per-tool / per-agent metric collections belong on ``with next_*_span(.
HIGH…integrations/test_googleadk/apps/googleadk_tool_app.py0trace-only setup. tool / agent / llm span-level fields belong at the call site (``with next_*_span(...)`` or ``update_cu
HIGH…est_integrations/test_strands/apps/strands_tool_app.py0trace-only setup. tool / agent / llm span-level fields belong at the call site (``with next_*_span(...)`` or ``update_cu
HIGH…integrations/test_agentcore/apps/agentcore_tool_app.py0trace-only setup. tool / agent / llm span-level fields belong at the call site (``with next_*_span(...)`` or ``update_cu
HIGH…test_integrations/test_crewai/test_crewai_component.py0fetch weather data for a given city. returns temperature and conditions.
HIGHtests/test_integrations/test_crewai/test_crewai.py0fetch weather data for a given city. returns temperature and conditions.
HIGH…val/test_ai_agent_evals/test_crewai/test_crewai_e2e.py0fetch weather data for a given city. returns temperature and conditions.
HIGHtests/test_integrations/test_langgraph/test_sync.py0decorator that switches between generate and assert mode based on generate_schemas env var. args: schema_name: name of t
HIGHtests/test_integrations/test_langgraph/test_async.py0decorator that switches between generate and assert mode based on generate_schemas env var. args: schema_name: name of t
HIGHtests/test_integrations/test_langchain/test_sync.py0decorator that switches between generate and assert mode based on generate_schemas env var. args: schema_name: name of t
HIGHtests/test_integrations/test_langchain/test_async.py0decorator that switches between generate and assert mode based on generate_schemas env var. args: schema_name: name of t
HIGHtests/test_integrations/test_pydanticai/test_sync.py0decorator that switches between generate and assert mode based on generate_schemas env var. args: schema_name: name of t
HIGHtests/test_integrations/test_pydanticai/test_async.py0decorator that switches between generate and assert mode based on generate_schemas env var. args: schema_name: name of t
HIGH…grations/test_openai_agents/test_scenerios/test_run.py0fetches weather data for a given location using the open-meteo api. args: latitude (float): the latitude of the location
HIGH…i_agents/test_scenerios/test_with_trace_and_wrapped.py0fetches weather data for a given location using the open-meteo api. args: latitude (float): the latitude of the location
HIGH…s/test_openai_agents/test_scenerios/test_with_trace.py0fetches weather data for a given location using the open-meteo api. args: latitude (float): the latitude of the location
HIGH…ons/test_openai_agents/test_scenerios/test_run_sync.py0fetches weather data for a given location using the open-meteo api. args: latitude (float): the latitude of the location
HIGH…ai_agents/test_scenerios/test_weather_agent_patched.py0fetches weather data for a given location using the open-meteo api. args: latitude (float): the latitude of the location
HIGH…test_openai_agents/test_scenerios/test_run_streamed.py0fetches weather data for a given location using the open-meteo api. args: latitude (float): the latitude of the location
HIGH…grations/test_openai_agents/test_scenerios/test_run.py0get latitude and longitude for a city name. args: city_name (str): name of the city returns: dict: dictionary with lat,
HIGH…i_agents/test_scenerios/test_with_trace_and_wrapped.py0get latitude and longitude for a city name. args: city_name (str): name of the city returns: dict: dictionary with lat,
HIGH…s/test_openai_agents/test_scenerios/test_with_trace.py0get latitude and longitude for a city name. args: city_name (str): name of the city returns: dict: dictionary with lat,
HIGH…ons/test_openai_agents/test_scenerios/test_run_sync.py0get latitude and longitude for a city name. args: city_name (str): name of the city returns: dict: dictionary with lat,
89 more matches not shown…
Unused Imports582 hits · 550 pts
SeverityFileLineSnippet
LOWtest_pydantic_agent.py19
LOWtests/test_metrics/test_mcp_use_metric.py4
LOWtests/test_metrics/test_exact_match_metric.py4
LOWtests/test_metrics/test_dag_serialization.py4
LOWtests/test_metrics/test_dag_serialization.py21
LOW…sts/test_metrics/test_turn_contextual_recall_metric.py4
LOWtests/test_metrics/turn_contextual_relevancy_metric.py4
LOW…t_metrics/test_answer_relevancy_metric_empty_output.py19
LOWtests/test_integrations/utils.py1
LOW…t_integrations/test_googleadk/test_span_interceptor.py46
LOW…tegrations/test_googleadk/apps/googleadk_simple_app.py8
LOW…ns/test_googleadk/apps/googleadk_multiple_tools_app.py9
LOW…integrations/test_googleadk/apps/googleadk_tool_app.py8
LOW…integrations/test_googleadk/apps/googleadk_eval_app.py18
LOWtests/test_integrations/test_anthropic/conftest.py6
LOW…ts/test_integrations/test_exporter/test_pydantic_ai.py1
LOWtests/test_integrations/test_crewai/test_stress.py48
LOW…t_integrations/test_crewai/test_knowledge_retriever.py7
LOW…t_integrations/test_crewai/test_knowledge_retriever.py8
LOW…test_integrations/test_crewai/test_crewai_component.py2
LOW…test_integrations/test_crewai/test_crewai_component.py3
LOW…test_integrations/test_crewai/test_crewai_component.py4
LOW…test_integrations/test_crewai/test_crewai_component.py5
LOWtests/test_integrations/test_crewai/test_crewai.py2
LOWtests/test_integrations/test_crewai/test_crewai.py3
LOWtests/test_integrations/test_crewai/test_crewai.py4
LOWtests/test_integrations/test_crewai/test_crewai.py5
LOWtests/test_integrations/test_crewai/test_crewai.py7
LOWtests/test_integrations/test_crewai/test_crewai.py19
LOWtests/test_integrations/test_crewai/apps/simple_app.py7
LOWtests/test_integrations/test_crewai/apps/simple_app.py9
LOWtests/test_integrations/test_crewai/apps/async_app.py7
LOW…rations/test_langgraph/apps/langgraph_next_span_app.py18
LOWtests/test_integrations/test_strands/conftest.py2
LOW…est_integrations/test_strands/test_span_interceptor.py28
LOW…est_integrations/test_strands/test_span_interceptor.py40
LOW…tegrations/test_openai/test_tool_call_flow_response.py6
LOWtests/test_integrations/test_openai/test_sync_openai.py4
LOW…grations/test_openai/test_tool_call_flow_completion.py6
LOW…sts/test_integrations/test_openai/test_async_openai.py1
LOW…sts/test_integrations/test_openai/test_async_openai.py7
LOWtests/test_integrations/test_openai_agents/test_sync.py9
LOW…grations/test_openai_agents/test_scenerios/test_run.py6
LOW…test_openai_agents/test_scenerios/test_multi_agents.py2
LOW…test_openai_agents/test_scenerios/test_multi_agents.py3
LOW…test_openai_agents/test_scenerios/test_multi_agents.py6
LOW…test_openai_agents/test_scenerios/test_multi_agents.py7
LOW…i_agents/test_scenerios/test_with_trace_and_wrapped.py3
LOW…s/test_openai_agents/test_scenerios/test_with_trace.py5
LOW…ons/test_openai_agents/test_scenerios/test_run_sync.py2
LOW…ons/test_openai_agents/test_scenerios/test_run_sync.py3
LOW…ai_agents/test_scenerios/test_weather_agent_patched.py2
LOW…test_openai_agents/test_scenerios/test_run_streamed.py4
LOW…sts/test_integrations/test_langchain/test_next_span.py18
LOWtests/test_integrations/test_pydanticai/conftest.py2
LOWtests/test_integrations/test_agentcore/conftest.py2
LOW…t_integrations/test_agentcore/test_span_interceptor.py28
LOW…t_integrations/test_agentcore/test_span_interceptor.py40
LOWtests/test_confident/test_prompt.py8
LOWtests/test_confident/test_prompt.py8
522 more matches not shown…
Excessive Try-Catch Wrapping313 hits · 342 pts
SeverityFileLineSnippet
LOWtests/test_integrations/test_langgraph/conftest.py143 except Exception:
LOWtests/test_integrations/test_langgraph/conftest.py241 except Exception:
LOWtests/test_integrations/test_langgraph/conftest.py267 except Exception:
LOWtests/test_integrations/test_langgraph/conftest.py691 except Exception:
LOW…ns/test_langgraph/apps/langgraph_multiple_tools_app.py69 except Exception as e:
LOW…ns/test_langgraph/apps/langgraph_parallel_tools_app.py80 except Exception:
LOWtests/test_integrations/test_openai_agents/conftest.py17 except Exception:
LOW…est_integrations/test_openai_agents/apps/tool_agent.py35 except Exception:
LOWtests/test_integrations/test_langchain/conftest.py120 except Exception:
LOWtests/test_integrations/test_langchain/conftest.py199 except Exception:
LOWtests/test_integrations/test_langchain/conftest.py224 except Exception:
LOWtests/test_integrations/test_langchain/conftest.py455 except Exception:
LOW…ntegrations/test_langchain/apps/langchain_agent_app.py39 except Exception as e:
LOW…test_langchain/apps/langchain_metric_collection_app.py34 except Exception as e:
LOW…ns/test_langchain/apps/langchain_parallel_tools_app.py63 except Exception:
LOW…ns/test_langchain/apps/langchain_multiple_tools_app.py68 except Exception as e:
LOWtests/test_core/conftest.py7except Exception:
LOWtests/test_core/conftest.py194 except Exception:
LOW…racing/test_integration/test_current_golden_context.py76 except Exception:
LOW…racing/test_integration/test_current_golden_context.py104 except Exception:
LOWtests/test_core/test_tracing/apps/sync_app.py39 except Exception as e:
LOWtests/test_core/test_tracing/apps/sync_app.py65 except Exception:
LOWtests/test_core/test_tracing/apps/sync_app.py84 except Exception:
LOWtests/test_core/test_tracing/apps/sync_app.py101 except Exception:
LOWtests/test_core/test_tracing/apps/sync_app.py134 except Exception as e:
LOWtests/test_core/test_tracing/apps/sync_app.py159 except Exception as e:
LOWtests/test_core/test_tracing/apps/sync_app.py222 except Exception as e:
LOWtests/test_core/test_tracing/apps/sync_app.py270 except Exception:
MEDIUM…acing/test_generators/test_generator_context_safety.py187def consume(g):
LOW…acing/test_generators/test_generator_context_safety.py191 except Exception as e:
LOWtests/test_core/test_evaluation/test_local_store.py150 except Exception as e: # pragma: no cover
LOW…re/test_evaluation/test_execute/test_error_boundary.py442 except Exception:
LOW…re/test_evaluation/test_execute/test_error_boundary.py481 except Exception:
MEDIUM…re/test_evaluation/test_execute/test_error_boundary.py121def parent_catches():
LOW…s/test_core/test_synthesizer/test_context_generator.py423 except Exception:
LOW.scripts/changelog/generate.py529 except Exception as e:
LOW.scripts/changelog/generate.py947 except Exception as e:
LOW.scripts/changelog/generate.py1090 except Exception as e:
LOW.scripts/changelog/generate.py1119 except Exception:
LOW.scripts/changelog/generate.py1394 except Exception as e:
MEDIUM.scripts/changelog/extract_release_notes.py36 print(f"Error: {args.changelog_dir} does not exist.")
LOWscripts/check_openai_model_capabilities.py89 except Exception as exc:
LOWscripts/check_openai_model_capabilities.py119 except Exception as exc:
LOWdeepeval/telemetry.py140 except Exception:
LOWdeepeval/telemetry.py153 except Exception:
MEDIUMdeepeval/telemetry.py41def blocked_by_firewall():
LOWdeepeval/utils.py452 except Exception as e:
MEDIUMdeepeval/utils.py453 print(f"An error occurred: {e}")
LOWdeepeval/utils.py799 except Exception:
LOWdeepeval/utils.py825 except Exception:
MEDIUMdeepeval/utils.py192def get_or_create_event_loop() -> asyncio.AbstractEventLoop:
LOWdeepeval/metrics/indicator.py139 except Exception as e:
LOWdeepeval/metrics/indicator.py299 except Exception as e:
LOWdeepeval/metrics/utils.py444 except Exception as e:
LOWdeepeval/metrics/g_eval/utils.py382 except Exception:
LOWdeepeval/metrics/role_adherence/role_adherence.py201 except Exception:
LOWdeepeval/metrics/role_adherence/role_adherence.py226 except Exception:
LOWdeepeval/model_integrations/utils.py111 except Exception:
LOWdeepeval/tracing/tracing.py126 except Exception as e:
LOWdeepeval/tracing/tracing.py153 except Exception as e:
253 more matches not shown…
Deep Nesting239 hits · 223 pts
SeverityFileLineSnippet
LOWtests/test_integrations/utils.py28
LOWtests/test_integrations/utils.py87
LOWtests/test_integrations/utils.py43
LOWtests/test_integrations/utils.py156
LOWtests/test_integrations/utils.py270
LOWtests/test_integrations/test_langgraph/conftest.py182
LOWtests/test_integrations/test_langgraph/conftest.py213
LOWtests/test_integrations/test_langgraph/conftest.py347
LOW…grations/test_openai/test_tool_call_flow_completion.py66
LOWtests/test_integrations/test_langchain/conftest.py153
LOWtests/test_integrations/test_langchain/conftest.py176
LOW…ntegrations/test_langchain/apps/langchain_agent_app.py66
LOW…ntegrations/test_langchain/apps/langchain_agent_app.py115
LOW…rations/test_langchain/apps/langchain_streaming_app.py56
LOW…rations/test_langchain/apps/langchain_streaming_app.py101
LOW…rations/test_langchain/apps/langchain_streaming_app.py146
LOW…rations/test_langchain/apps/langchain_streaming_app.py191
LOW…ns/test_langchain/apps/langchain_parallel_tools_app.py86
LOW…ns/test_langchain/apps/langchain_parallel_tools_app.py131
LOW…ns/test_langchain/apps/langchain_multiple_tools_app.py86
LOW…ns/test_langchain/apps/langchain_multiple_tools_app.py131
LOW…tions/test_langchain/apps/langchain_conditional_app.py68
LOW…tions/test_langchain/apps/langchain_conditional_app.py113
LOW…tions/test_langchain/apps/langchain_single_tool_app.py35
LOW…tions/test_langchain/apps/langchain_single_tool_app.py84
LOWtests/test_confident/test_dataset.py72
LOWtests/test_core/stubs.py119
LOWtests/test_core/stubs.py125
LOW…re/test_evaluation/test_execute/test_error_boundary.py436
LOW.scripts/changelog/generate.py811
LOW.scripts/changelog/generate.py840
LOW.scripts/changelog/generate.py906
LOW.scripts/changelog/generate.py1015
LOW.scripts/changelog/generate.py1172
LOW.scripts/changelog/generate.py1182
LOW.scripts/changelog/generate.py1233
LOW.scripts/changelog/extract_release_notes.py16
LOWexamples/mcp_evaluation/mcp_eval_multi_turn.py59
LOWdeepeval/progress_context.py39
LOWdeepeval/utils.py139
LOWdeepeval/utils.py417
LOWdeepeval/utils.py432
LOWdeepeval/metrics/indicator.py73
LOWdeepeval/metrics/indicator.py157
LOWdeepeval/metrics/indicator.py241
LOWdeepeval/metrics/utils.py233
LOWdeepeval/metrics/utils.py305
LOWdeepeval/metrics/utils.py613
LOWdeepeval/metrics/utils.py711
LOWdeepeval/metrics/tool_use/tool_use.py271
LOWdeepeval/metrics/summarization/summarization.py283
LOWdeepeval/metrics/dag/graph.py30
LOWdeepeval/metrics/dag/utils.py33
LOWdeepeval/metrics/dag/utils.py74
LOWdeepeval/metrics/dag/nodes.py648
LOWdeepeval/metrics/dag/nodes.py90
LOWdeepeval/metrics/dag/nodes.py155
LOWdeepeval/metrics/conversational_dag/nodes.py792
LOWdeepeval/metrics/conversational_dag/nodes.py112
LOWdeepeval/metrics/conversational_dag/nodes.py188
179 more matches not shown…
Cross-Language Confusion49 hits · 208 pts
SeverityFileLineSnippet
HIGHtests/test_metrics/test_json_correctness_metric.py30 actual_output="{'name': null}",
HIGHtests/test_metrics/test_json_correctness_metric.py56 actual_output="{'name': null}",
HIGHtests/test_metrics/test_json_correctness_metric.py150 actual_output="{'name': null}",
HIGHtests/test_confident/test_prompt.py172 prompt.push(text=f"Latest content {UUID}")
HIGHtests/test_confident/test_prompt.py185 prompt.push(text=f"Version 1 {UUID1}")
HIGHtests/test_confident/test_prompt.py189 prompt.push(text=f"Version 2 {UUID2}")
HIGHtests/test_confident/test_prompt.py898 prompt.push(messages=MESSAGES)
HIGHtests/test_confident/test_prompt.py913 prompt.push(messages=MESSAGES1)
HIGHtests/test_confident/test_prompt.py918 prompt.push(messages=MESSAGES2)
HIGHtests/test_confident/test_prompt.py136 prompt.push(text=TEXT)
HIGHtests/test_confident/test_prompt.py153 prompt.push(
HIGHtests/test_confident/test_prompt.py263 prompt_setup.push(text=f"Setup cache content {uuid.uuid4()}")
HIGHtests/test_confident/test_prompt.py314 prompt.push(
HIGHtests/test_confident/test_prompt.py341 prompt.push(
HIGHtests/test_confident/test_prompt.py370 prompt.push(
HIGHtests/test_confident/test_prompt.py409 prompt.push(
HIGHtests/test_confident/test_prompt.py428 prompt.push(
HIGHtests/test_confident/test_prompt.py447 prompt.push(
HIGHtests/test_confident/test_prompt.py466 prompt.push(
HIGHtests/test_confident/test_prompt.py485 prompt.push(
HIGHtests/test_confident/test_prompt.py507 prompt.push(
HIGHtests/test_confident/test_prompt.py537 prompt.push(
HIGHtests/test_confident/test_prompt.py587 prompt.push(
HIGHtests/test_confident/test_prompt.py620 prompt.push(
HIGHtests/test_confident/test_prompt.py632 prompt.push(
HIGHtests/test_confident/test_prompt.py659 prompt.push(
HIGHtests/test_confident/test_prompt.py694 prompt.push(
HIGHtests/test_confident/test_prompt.py736 prompt1.push(
HIGHtests/test_confident/test_prompt.py767 prompt.push(text="Main branch push")
HIGHtests/test_confident/test_prompt.py771 prompt.push(text="Different branch push", branch=self.BRANCH_NAME)
HIGHtests/test_confident/test_prompt.py855 prompt.push(messages=MESSAGES)
HIGHtests/test_confident/test_prompt.py875 prompt.push(
HIGHtests/test_confident/test_prompt.py1054 prompt.push(
HIGHtests/test_confident/test_prompt.py1084 prompt.push(
HIGHtests/test_confident/test_prompt.py1118 prompt.push(
HIGHtests/test_confident/test_prompt.py1168 prompt.push(
HIGHtests/test_confident/test_prompt.py1221 prompt.push(
HIGHtests/test_confident/test_prompt.py1257 prompt.push(
HIGHtests/test_confident/test_prompt.py1269 prompt.push(
HIGHtests/test_confident/test_prompt.py1299 prompt.push(
HIGHtests/test_confident/test_prompt.py1337 prompt.push(
HIGHtests/test_confident/test_prompt.py1380 prompt1.push(
HIGHtests/test_confident/test_prompt.py1411 prompt.push(
HIGHtests/test_confident/test_prompt.py1417 prompt.push(
HIGHtests/test_confident/test_dataset.py125 dataset.push(alias=self.PUSH_ALIAS)
HIGHtests/test_confident/test_dataset.py162 dataset.push(alias=self.PUSH_ALIAS)
HIGHdeepeval/prompt/prompt.py856 return self.push(
HIGHdeepeval/simulator/simulation_graph/template.py40 "index": null,
HIGHdeepeval/test_run/hyperparameters.py48 value.push(_verbose=verbose)
Self-Referential Comments44 hits · 138 pts
SeverityFileLineSnippet
MEDIUMtests/test_integrations/test_exporter/readable_spans.py5# Create a simple span context
MEDIUMtests/test_integrations/test_exporter/readable_spans.py13# Create the ReadableSpan with one attribute
MEDIUMtests/test_integrations/test_exporter/readable_spans.py184# Create a multi-turn span context
MEDIUMtests/test_integrations/test_exporter/readable_spans.py192# Create the multi-turn readable span
MEDIUM…t_integrations/test_crewai/test_knowledge_retriever.py18 # Create a knowledge source
MEDIUM…t_integrations/test_crewai/test_knowledge_retriever.py24 # Create an LLM with a temperature of 0 to ensure deterministic outputs
MEDIUM…t_integrations/test_crewai/test_knowledge_retriever.py27 # Create an agent with the knowledge store
MEDIUMtests/test_integrations/test_langgraph/conftest.py78 # Create a unique identifier for this test run
MEDIUM…test_langgraph/apps/langgraph_metric_collection_app.py19# Create a Prompt object for prompt tracking
MEDIUM…grations/test_openai_agents/test_scenerios/test_run.py63# Create the weather specialist agent
MEDIUM…i_agents/test_scenerios/test_with_trace_and_wrapped.py82# Create the weather specialist agent
MEDIUM…s/test_openai_agents/test_scenerios/test_with_trace.py65# Create the weather specialist agent
MEDIUM…ons/test_openai_agents/test_scenerios/test_run_sync.py62# Create the weather specialist agent
MEDIUM…ai_agents/test_scenerios/test_weather_agent_patched.py78# Create the weather specialist agent
MEDIUM…test_openai_agents/test_scenerios/test_run_streamed.py63# Create the weather specialist agent
MEDIUMtests/test_integrations/test_langchain/conftest.py58 # Create a unique identifier for this test run
MEDIUM…test_langchain/apps/langchain_metric_collection_app.py16# Create a Prompt object for prompt tracking
MEDIUMtests/test_core/stubs.py189 # Define the mock types
MEDIUMtests/test_core/test_models/test_openai_model.py166 # Create a mock parsed response
MEDIUMtests/test_core/test_models/test_openai_model.py215 # Create a mock that tracks the call arguments
MEDIUMtests/test_core/test_models/test_openai_model.py263 # Create a mock parsed response
MEDIUMtests/test_core/test_cli/test_cli.py648 # Create a real JSON file (with whitespace) so we can verify normalization.
MEDIUM…agent_evals/test_langgraph/test_langgraph_component.py12# Define the tool
MEDIUM…ocs/test_confident/test_integrations/test_langgraph.py23# Create a metric
MEDIUM.scripts/changelog/extract_release_notes.py85 # Create an empty file so the workflow knows fallback is needed
MEDIUMdeepeval/metrics/ragas.py76 # Create a dataset from the test case
MEDIUMdeepeval/metrics/ragas.py516 # Create a dataset from the test case
MEDIUMdeepeval/tracing/tracing.py589 # Create a new event loop
MEDIUMdeepeval/tracing/tracing.py927 # Create the base API span
MEDIUMdeepeval/synthesizer/synthesizer.py1490 # Create the pandas DataFrame
MEDIUMdeepeval/benchmarks/math_qa/math_qa.py144 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/bbq/bbq.py106 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/human_eval/human_eval.py21 # Create a restricted globals dictionary with only safe built-ins
MEDIUMdeepeval/benchmarks/human_eval/human_eval.py160 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/logi_qa/logi_qa.py146 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/drop/drop.py148 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/truthful_qa/truthful_qa.py155 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/big_bench_hard/big_bench_hard.py178 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/squad/squad.py113 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/mmlu/mmlu.py145 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/equity_med_qa/equity_med_qa.py88 # Create a DataFrame from task_results_data
MEDIUMdeepeval/benchmarks/hellaswag/hellaswag.py149 # Create a DataFrame from task_results_data
MEDIUMdeepeval/test_run/test_run.py377 # Create a single TraceMetricScores object instead of a list
MEDIUMdeepeval/test_run/hyperparameters.py72 # Define the wrapper function that will be the actual decorator
Docstring Block Structure11 hits · 55 pts
SeverityFileLineSnippet
HIGHdeepeval/utils.py883 Ensures that a required parameter is provided. If the parameter is `None`, raises a `DeepEvalError` with a help
HIGHdeepeval/utils.py915 Imports an optional dependency module or raises a `DeepEvalError` if the module is not found. The error message
HIGHdeepeval/dataset/dataset.py259 Load test cases from a CSV file. This method reads a CSV file, extracting test case data based on spec
HIGHdeepeval/dataset/dataset.py406 Load test cases from a JSON file. This method reads a JSON file containing a list of objects, each rep
HIGHdeepeval/models/utils.py11Extract base model name from provider-prefixed format. This function is useful for extracting the actual model name
HIGHdeepeval/models/utils.py47 Normalize and validate a provider API key stored as a SecretStr. Args: secret: The SecretS
HIGHdeepeval/models/retry_policy.py515 Run a synchronous callable with a soft timeout enforced by a helper thread, with a global cap on concurrent tim
HIGHdeepeval/scorer/scorer.py276 Calculate the toxicity score of a given text prediction using the Detoxify model. Args: pr
HIGHdeepeval/synthesizer/synthesizer.py1507Save synthetic goldens to a file. Args: file_type: Type of file to save as ('json' or 'csv').
HIGHdeepeval/anthropic/utils.py10 Return a short, human-readable summary string for an Anthropic-style multimodal `content` value. This is used
HIGHdeepeval/openai/utils.py42 Return a short, human-readable summary string for an OpenAI-style multimodal `content` value. This is used to
Over-Commented Block47 hits · 45 pts
SeverityFileLineSnippet
LOW…_integrations/test_pydanticai/test_span_interceptor.py801 DeepEvalInstrumentationSettings(api_key="dummy", is_test_mode=False)
LOWtests/test_confident/test_dataset.py181
LOW…i_agent_evals/test_pydanticai/test_pydanticai_setup.py21# result = await agent.run("What are the LLMs?")
LOW…_deepeval/test_llm_evals/test_component_level_evals.py61# dataset.evaluate(task)
LOWdocs/source.config.ts101 // `next/image`. Our blog + tutorial content references dozens of
LOWdocs/app/layout.tsx61 // this unless it overrides `openGraph.images` (the docs section
LOW…ts/MetricTagsDisplayer/MetricTagsDisplayer.module.scss1// Metric classification tags shown under each metric's H1. Each variant
LOWexamples/tracing/test_chatbot.py1# from deepeval.tracing import trace, TraceType
LOWexamples/tracing/test_chatbot.py21# ],
LOWexamples/tracing/test_chatbot.py41# def retriever(self, input=input):
LOWexamples/tracing/test_chatbot.py61
LOWexamples/tracing/test_chatbot.py81# "Be at least 35 years old.",
LOWdeepeval/metrics/ragas.py261# """This metric checks the noise sensitivity using Ragas"""
LOWdeepeval/metrics/ragas.py281# import_ragas()
LOWdeepeval/metrics/ragas.py301# data = {
LOWdeepeval/tracing/types.py201
LOWdeepeval/tracing/context.py281# only callsite the user owns is the one wrapping the framework call.
LOWdeepeval/tracing/context.py601 _pending_next_retriever_span.reset(token)
LOWdeepeval/tracing/otel/exporter.py121 api_key: Optional[str] = None, # dynamic api key,
LOWdeepeval/tracing/otel/exporter.py181 ################ Set Trace Attributes from ################
LOWdeepeval/config/settings.py841 #
LOWdeepeval/openai_agents/runner.py1# from __future__ import annotations
LOWdeepeval/openai_agents/runner.py21# from agents.models.interface import Model
LOWdeepeval/openai_agents/runner.py41# # Import observed provider/model helpers from our agent module
LOWdeepeval/openai_agents/runner.py61
LOWdeepeval/openai_agents/runner.py81# patched_get_model.__doc__ = original_get_model.__doc__
LOWdeepeval/openai_agents/runner.py101# context: Optional[TContext] = None,
LOWdeepeval/openai_agents/runner.py121# span_type="custom",
LOWdeepeval/openai_agents/runner.py141# current_span.input = input
LOWdeepeval/openai_agents/runner.py161# update_trace_attributes(output=_output)
LOWdeepeval/openai_agents/runner.py181# metadata: Optional[dict] = None,
LOWdeepeval/openai_agents/runner.py201# metric_collection=metric_collection,
LOWdeepeval/openai_agents/runner.py221# **kwargs, # backwards compatibility
LOWdeepeval/openai_agents/runner.py241# max_turns: int = DEFAULT_MAX_TURNS,
LOWdeepeval/openai_agents/runner.py261# metrics=metrics,
LOWdeepeval/openai_agents/runner.py281# if current_span:
LOWdeepeval/openai_agents/runner.py301# try:
LOWdeepeval/openai_agents/runner.py321# output: Any = None,
LOWdeepeval/openai_agents/runner.py341# if thread_id:
LOWdeepeval/models/retry_policy.py861
LOWdeepeval/models/retry_policy.py901 + _HTTPX_NET_EXCS
LOWdeepeval/integrations/pydantic_ai/instrumentator.py281 # within a process so this is safe across threads / asyncio tasks.
LOWdeepeval/integrations/pydantic_ai/instrumentator.py301 # change) are written at ``on_end`` instead of here, so the OTel span
LOWdeepeval/integrations/pydantic_ai/instrumentator.py321 # OTel sees no parent and the exporter would otherwise emit it as a
LOWdeepeval/evaluate/utils.py161 # Fall back to the golden's input when the trace didn't capture a
LOWdeepeval/evaluate/utils.py181 # ``metadata``, ``environment``) are forwarded from the trace so that
LOWdeepeval/test_run/api.py21 # multimodal_input: Optional[str] = Field(None, alias="multimodalInput")
Redundant / Tautological Comments25 hits · 40 pts
SeverityFileLineSnippet
LOWtests/test_integrations/test_langgraph/conftest.py630 # Print values when present
LOW…ntegrations/test_langchain/apps/langchain_agent_app.py82 # Check if we have tool calls
LOW…ntegrations/test_langchain/apps/langchain_agent_app.py131 # Check if we have tool calls
LOWtests/test_core/test_evaluation/test_console_report.py113 # Check if the aggregate table is built correctly
LOWtests/test_core/test_evaluation/test_console_report.py119 # Check if it's a Panel and contains the aggregate metrics table
LOW…al/test_ai_agent_evals/test_setup_end_to_end_python.py24# Loop through dataset
LOWdeepeval/utils.py386 # Check if obj is iterable (but not a string)
LOWdeepeval/metrics/dag/nodes.py395 # Check if all children are ClassificationResultNode and their classifications are boolean
LOWdeepeval/metrics/dag/nodes.py405 # Check if there is one True and one False classification
LOWdeepeval/metrics/dag/nodes.py520 # Check if children is not empty
LOWdeepeval/metrics/dag/nodes.py531 # Check if the verdict attribute of each child is a string
LOWdeepeval/metrics/conversational_dag/nodes.py467 # Check if all children are ClassificationResultNode and their classifications are boolean
LOWdeepeval/metrics/conversational_dag/nodes.py479 # Check if there is one True and one False classification
LOWdeepeval/metrics/conversational_dag/nodes.py630 # Check if children is not empty
LOWdeepeval/metrics/conversational_dag/nodes.py643 # Check if the verdict attribute of each child is a string
LOWdeepeval/metrics/g_eval/utils.py193 # Check if both criteria and evaluation_steps are not None at the same time
LOWdeepeval/metrics/g_eval/utils.py199 # Check if criteria is provided, it cannot be an empty string
LOWdeepeval/metrics/g_eval/utils.py203 # Check if evaluation_steps is provided, it cannot be an empty list
LOWdeepeval/metrics/g_eval/utils.py224 # Check if ranges overlap
LOWdeepeval/tracing/tracing.py575 # Add the trace to the queue
LOWdeepeval/tracing/tracing.py822 # Add children to the stack for processing
LOWdeepeval/models/llms/openrouter_model.py332 # Check if response has cost information
LOWdeepeval/synthesizer/chunking/context_generator.py341 # Check if chunk_size and max_context_size is valid for document lengths
LOWdeepeval/evaluate/execute/agentic.py303 # Set it to None to ensure the test_case is added
LOWdeepeval/prompt/prompt.py520 # Check if we need to bootstrap the cache
AI Slop Vocabulary11 hits · 20 pts
SeverityFileLineSnippet
MEDIUMtests/test_core/test_tracing/apps/sync_app.py212 research_prompt = f"""Based on the following retrieved documents, provide a comprehensive research analysis of '
MEDIUMdocs/src/sections/home/HomeSection.module.scss96 // Duplicated content length is 200%; shift by half for a seamless loop.
MEDIUMdeepeval/metrics/role_violation/template.py12 return f"""Based on the role violations identified: {role_violations}, and the role violation score: {score}, pl
MEDIUMdeepeval/metrics/misuse/template.py15 return f"""Based on the misuse violations identified: {misuse_violations}, and the misuse score: {score}, please
MEDIUMdeepeval/metrics/pii_leakage/template.py14 return f"""Based on the privacy violations identified: {privacy_violations}, and the privacy violation score: {s
MEDIUMdeepeval/metrics/faithfulness/template.py13 f"""Based on the given {'excerpt' if multimodal else 'text'}, please extract a comprehensive list of FACTUAL
MEDIUMdeepeval/metrics/faithfulness/template.py63 f"""Based on the given {'excerpt (text and images)' if multimodal else 'text'}, please generate a comprehens
MEDIUMdeepeval/metrics/non_advice/template.py15 return f"""Based on the inappropriate advice violations identified: {non_advice_violations}, and the non-advice
MEDIUMdeepeval/tracing/otel/context_aware_processor.py139 # Trace-shape testing override: when a test harness has set
LOWdeepeval/dataset/utils.py221 # already a Task so just return it
LOWdeepeval/dataset/utils.py225 # If it is a future, it is already scheduled, so just return it
Fake / Example Data9 hits · 10 pts
SeverityFileLineSnippet
LOW…acing/schemas/masking/comprehensive_masked_schema.json15 "name": "John Doe"
LOW…acing/schemas/masking/comprehensive_masked_schema.json23 "name": "John Doe"
LOW…acing/schemas/masking/comprehensive_masked_schema.json39 "name": "John Doe"
LOW…acing/schemas/masking/comprehensive_masked_schema.json47 "name": "John Doe"
LOW…ts/test_core/test_tracing/test_masking/test_masking.py80 "email": "user@example.com",
LOW…ts/test_core/test_tracing/test_masking/test_masking.py82 "name": "John Doe",
LOW…test_tracing/test_configuration/test_masking_config.py183 return "user@example.com"
LOW…test_tracing/test_configuration/test_masking_config.py186 assert result == "user@example.com" # Function returns original
LOWdeepeval/metrics/knowledge_retention/template.py84 "Phone Number": "555-1029"
Magic Placeholder Names1 hit · 2 pts
SeverityFileLineSnippet
HIGHdeepeval/models/llms/gemini_model.py52 api_key="your-api-key"
Overly Generic Function Names1 hit · 0 pts
SeverityFileLineSnippet
LOWtests/test_integrations/utils.py441 async def my_function():
Slop Phrases1 hit · 0 pts
SeverityFileLineSnippet
LOWtests/test_core/test_prompts/test_interpolation.py568 This ensures users don't forget to provide required template variables.