chore: import upstream snapshot with attribution
TypeScript SDK Compatibility V1.x E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / TypeScript SDK Compatibility V1.x E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
TypeScript SDK E2E Tests / TypeScript SDK E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
Python SDK E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK E2E Tests / Python SDK E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK E2E Tests / build-opik (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Python SDK Compatibility V1.x E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK E2E Tests / build-opik (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer E2E Tests Python ${{matrix.python_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer Integration Smoke Tests (push) Has been cancelled
🐙 Code Quality / detect (push) Has been cancelled
🐙 Code Quality / lint (${{ matrix.leg.name }}) (push) Has been cancelled
🐙 Code Quality / summary (push) Has been cancelled
TypeScript SDK Library Integration Tests / Check Secrets (push) Has been cancelled
TypeScript SDK Library Integration Tests / opik-vercel (Vercel AI SDK / eve) (push) Has been cancelled
SDK Library Integration Tests Runner / Check Secrets (push) Has been cancelled
SDK Library Integration Tests Runner / Missed OpenAI API Key Warning (push) Has been cancelled
SDK Library Integration Tests Runner / Build (push) Has been cancelled
SDK Library Integration Tests Runner / openai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_legacy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / llama_index_tests (push) Has been cancelled
SDK Library Integration Tests Runner / anthropic_tests (push) Has been cancelled
SDK Library Integration Tests Runner / mistral_tests (push) Has been cancelled
SDK Library Integration Tests Runner / groq_tests (push) Has been cancelled
SDK Library Integration Tests Runner / aisuite_tests (push) Has been cancelled
SDK Library Integration Tests Runner / haystack_tests (push) Has been cancelled
SDK Library Integration Tests Runner / dspy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v1_tests (push) Has been cancelled
SDK Library Integration Tests Runner / genai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_legacy_1_3_0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / evaluation_metrics_tests (push) Has been cancelled
SDK Library Integration Tests Runner / bedrock_tests (push) Has been cancelled
SDK Library Integration Tests Runner / litellm_tests (push) Has been cancelled
SDK Library Integration Tests Runner / harbor_tests (push) Has been cancelled
SDK Library Integration Tests Runner / Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / render-equality (push) Has been cancelled
Opik Optimizer - Unit Tests / Opik Optimizer Unit Tests Python ${{matrix.python_version}} (push) Has been cancelled
Python BE E2E Tests / Python BE E2E (push) Has been cancelled
Python Backend Tests / run-python-backend-tests (push) Has been cancelled
Python SDK Unit Tests / Python SDK Unit Tests ${{matrix.python_version}} (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
SDK E2E Libraries Integration Tests / Check Secrets (push) Has been cancelled
SDK E2E Libraries Integration Tests / Missed OpenAI API Key Warning (push) Has been cancelled
SDK E2E Libraries Integration Tests / build-opik (push) Has been cancelled
SDK E2E Libraries Integration Tests / E2E Lib Integration Python ${{matrix.python_version}} (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-gemini) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-langchain) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-openai) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-otel) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-vercel) (push) Has been cancelled
TypeScript SDK Build & Publish / build-and-publish (push) Has been cancelled
TypeScript SDK Unit Tests / Test on Node ${{ matrix.node-version }} (push) Has been cancelled
Backend Tests / discover-tests (push) Has been cancelled
Backend Tests / ${{ matrix.name }} (push) Has been cancelled
Build and Publish SDK / build-and-publish (push) Has been cancelled
Build Opik Docker Images / set-version (push) Has been cancelled
Build Opik Docker Images / build-backend (push) Has been cancelled
Build Opik Docker Images / build-sandbox-executor-python (push) Has been cancelled
Build Opik Docker Images / build-python-backend (push) Has been cancelled
Build Opik Docker Images / build-frontend (push) Has been cancelled
Build Opik Docker Images / create-git-tag (push) Has been cancelled
ClickHouse Migration Cluster Check / validate-clickhouse-migrations (push) Has been cancelled
Docs - Publish / run (push) Has been cancelled
E2E Tests - Post Merge (v2) / 🧪 E2E v2 Tests (${{ github.event.inputs.tier || 't1' }}) (push) Has been cancelled
E2E Tests - Post Merge (v2) / 📢 Slack Notification (push) Has been cancelled
Frontend Unit Tests / Test on Node 20 (push) Has been cancelled
Guardrails E2E Tests / Select Python version matrix (push) Has been cancelled
Guardrails E2E Tests / Guardrails E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Guardrails E2E Tests / 📢 Slack Notification (push) Has been cancelled
Guardrails Backend Unit Tests / Guardrails Backend Unit Tests (push) Has been cancelled
Guardrails Backend Unit Tests / 📢 Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v3.21.0) (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v4.2.0) (push) Has been cancelled
Lint Opik Helm Chart / unittest-helm-chart (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 13:25:44 +08:00
commit 5a558eb09e
11579 changed files with 1795921 additions and 0 deletions
@@ -0,0 +1,51 @@
Annotation Queues Client
========================
The Annotation Queues client provides methods for managing annotation queues in the Opik platform.
Annotation queues enable human-in-the-loop workflows for reviewing and annotating traces or threads.
.. autoclass:: opik.rest_api.annotation_queues.client.AnnotationQueuesClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Create an annotation queue for traces
queue = client.create_annotation_queue(
name="Review Queue",
scope="trace",
description="Queue for reviewing model outputs",
instructions="Check for accuracy and relevance"
)
# Get traces and add them to the queue
traces = client.search_traces(project_name="my-project")
queue.add_traces(traces[:10])
# Fetch all the traces currently in the queue
items = queue.get_items()
# Get an existing queue by ID
existing_queue = client.get_annotation_queue("queue-id")
# List all annotation queues
queues = client.get_annotation_queues()
# Update queue properties
queue.update(description="Updated description")
# Remove traces from the queue
queue.remove_traces(traces[:5])
# Delete the queue
queue.delete()
@@ -0,0 +1,40 @@
Attachments Client
==================
The Attachments client provides methods for managing file attachments in the Opik platform.
.. autoclass:: opik.rest_api.attachments.client.AttachmentsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Upload an attachment
client.rest_client.attachments.upload_attachment(
entity_type="trace",
entity_id="trace-id",
name="results.json",
content=b"{'result': 'success'}"
)
# List attachments for an entity
attachments = client.rest_client.attachments.list_attachments(
entity_type="trace",
entity_id="trace-id"
)
# Download an attachment
content = client.rest_client.attachments.download_attachment(
entity_type="trace",
attachment_id="attachment-id"
)
@@ -0,0 +1,38 @@
Automation Rule Evaluators Client
=================================
The Automation Rule Evaluators client provides methods for managing automated evaluation rules in the Opik platform.
.. autoclass:: opik.rest_api.automation_rule_evaluators.client.AutomationRuleEvaluatorsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# List automation rule evaluators
evaluators = client.rest_client.automation_rule_evaluators.find_automation_rule_evaluators(
page=0,
size=10
)
# Get an evaluator by ID
evaluator = client.rest_client.automation_rule_evaluators.get_automation_rule_evaluator_by_id(
"evaluator-id"
)
# Create a new evaluator
client.rest_client.automation_rule_evaluators.create_automation_rule_evaluator(
name="my-evaluator",
project_id="project-id",
code="def evaluate(trace): return {'score': 0.8}"
)
@@ -0,0 +1,29 @@
Chat Completions Client
=======================
The Chat Completions client provides methods for interacting with chat completion endpoints in the Opik platform.
.. autoclass:: opik.rest_api.chat_completions.client.ChatCompletionsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Create a chat completion
response = client.rest_client.chat_completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hello, how are you?"}
],
temperature=0.7
)
@@ -0,0 +1,29 @@
Check Client
============
The Check client provides methods for checking system status and access in the Opik platform.
.. autoclass:: opik.rest_api.check.client.CheckClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Check access to the workspace
client.rest_client.check.access(request={})
# Get workspace name
workspace_info = client.rest_client.check.get_workspace_name()
# Get bootstrap info
bootstrap_info = client.rest_client.check.bootstrap()
@@ -0,0 +1,42 @@
Datasets Client
===============
The Datasets client provides methods for managing datasets in the Opik platform.
.. autoclass:: opik.rest_api.datasets.client.DatasetsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Find datasets
datasets = client.rest_client.datasets.find_datasets(
page=0,
size=10
)
# Get a dataset by ID
dataset = client.rest_client.datasets.get_dataset_by_id("dataset-id")
# Create a new dataset
client.rest_client.datasets.create_dataset(
name="my-dataset",
description="A test dataset"
)
# Get dataset items
items = client.rest_client.datasets.get_dataset_items(
dataset_id="dataset-id",
page=0,
size=100
)
@@ -0,0 +1,40 @@
Experiments Client
==================
The Experiments client provides methods for managing experiments in the Opik platform.
.. autoclass:: opik.rest_api.experiments.client.ExperimentsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Find experiments
experiments = client.rest_client.experiments.find_experiments(
page=0,
size=10
)
# Get an experiment by ID
experiment = client.rest_client.experiments.get_experiment_by_id("experiment-id")
# Create a new experiment
client.rest_client.experiments.create_experiment(
name="my-experiment",
dataset_name="my-dataset"
)
# Stream experiment items
items_generator = client.rest_client.experiments.stream_experiment_items(
experiment_id="experiment-id"
)
@@ -0,0 +1,40 @@
Feedback Definitions Client
===========================
The Feedback Definitions client provides methods for managing feedback score definitions in the Opik platform.
.. autoclass:: opik.rest_api.feedback_definitions.client.FeedbackDefinitionsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Find feedback definitions
definitions = client.rest_client.feedback_definitions.find_feedback_definitions(
type="numerical",
page=0,
size=10
)
# Create a feedback definition
client.rest_client.feedback_definitions.create_feedback_definition(
name="accuracy",
type="numerical",
min_value=0.0,
max_value=1.0
)
# Get a feedback definition by ID
definition = client.rest_client.feedback_definitions.get_feedback_definition_by_id(
"definition-id"
)
@@ -0,0 +1,35 @@
Guardrails Client
=================
The Guardrails client provides methods for managing guardrails in the Opik platform.
.. autoclass:: opik.rest_api.guardrails.client.GuardrailsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Validate content with guardrails
result = client.rest_client.guardrails.validate(
checks=[
{
"name": "pii_check",
"enabled": True
},
{
"name": "toxicity_check",
"enabled": True
}
],
input="This is the text to validate"
)
@@ -0,0 +1,96 @@
REST API Clients
================
This section documents all the REST API client modules available through ``opik.rest_client``.
Each client provides methods for interacting with specific resources in the Opik platform.
Core Resource Clients
---------------------
.. toctree::
:maxdepth: 1
traces
spans
datasets
experiments
projects
These clients handle the main resources you'll work with in Opik: traces for observability,
spans for detailed execution tracking, datasets for evaluation data, experiments for testing,
and projects for organization.
Feedback & Evaluation Clients
-----------------------------
.. toctree::
:maxdepth: 1
annotation_queues
feedback_definitions
automation_rule_evaluators
optimizations
These clients manage evaluation and feedback systems: annotation queues for human review,
defining feedback score types, setting up automated evaluation rules, and running optimization experiments.
Content & Asset Clients
-----------------------
.. toctree::
:maxdepth: 1
prompts
attachments
These clients handle content management: prompt templates and versions, and file attachments
for traces and spans.
System & Configuration Clients
------------------------------
.. toctree::
:maxdepth: 1
check
workspaces
llm_provider_key
service_toggles
system_usage
These clients provide system-level functionality: health checks, workspace management,
API key configuration, feature toggles, and usage monitoring.
Integration Clients
-------------------
.. toctree::
:maxdepth: 1
chat_completions
open_telemetry_ingestion
guardrails
redirect
These clients support integrations with external systems: chat completion APIs,
OpenTelemetry data ingestion, content validation, and URL redirection.
Usage Examples
--------------
Each client page includes specific usage examples. Here's how to access any client:
.. code-block:: python
import opik
client = opik.Opik()
# Access any client through the rest_client property
traces_client = client.rest_client.traces
datasets_client = client.rest_client.datasets
experiments_client = client.rest_client.experiments
# Use the client methods
trace = traces_client.get_trace_by_id("trace-id")
datasets = datasets_client.find_datasets(page=0, size=10)
@@ -0,0 +1,37 @@
LLM Provider Key Client
=======================
The LLM Provider Key client provides methods for managing LLM provider API keys in the Opik platform.
.. autoclass:: opik.rest_api.llm_provider_key.client.LlmProviderKeyClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Create or update a provider API key
client.rest_client.llm_provider_key.create_or_update_provider_api_key(
provider="openai",
api_key="your-api-key"
)
# List provider API keys
keys = client.rest_client.llm_provider_key.get_provider_api_keys(
page=0,
size=10
)
# Delete a provider API key
client.rest_client.llm_provider_key.delete_provider_api_key(
provider="openai"
)
@@ -0,0 +1,30 @@
OpenTelemetry Ingestion Client
==============================
The OpenTelemetry Ingestion client provides methods for ingesting OpenTelemetry data into the Opik platform.
.. autoclass:: opik.rest_api.open_telemetry_ingestion.client.OpenTelemetryIngestionClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Ingest OpenTelemetry traces data
client.rest_client.open_telemetry_ingestion.ingest_traces(
traces_data=traces_payload
)
# Ingest OpenTelemetry logs data
client.rest_client.open_telemetry_ingestion.ingest_logs(
logs_data=logs_payload
)
@@ -0,0 +1,44 @@
Optimizations Client
====================
The Optimizations client provides methods for managing optimization experiments in the Opik platform.
.. autoclass:: opik.rest_api.optimizations.client.OptimizationsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Create an optimization
client.rest_client.optimizations.create_optimization(
name="my-optimization",
dataset_name="my-dataset",
objective_name="accuracy",
status="running"
)
# Get an optimization by ID
optimization = client.rest_client.optimizations.get_optimization_by_id(
"optimization-id"
)
# Update optimization status
client.rest_client.optimizations.update_optimization(
id="optimization-id",
status="completed"
)
# Delete optimizations
client.rest_client.optimizations.delete_optimizations_by_id(
ids=["optimization-id-1", "optimization-id-2"]
)
@@ -0,0 +1,42 @@
Projects Client
===============
The Projects client provides methods for managing projects in the Opik platform.
.. autoclass:: opik.rest_api.projects.client.ProjectsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Find projects
projects = client.rest_client.projects.find_projects(
page=0,
size=10
)
# Get a project by ID
project = client.rest_client.projects.get_project_by_id("project-id")
# Create a new project
client.rest_client.projects.create_project(
name="my-project",
description="A test project"
)
# Get project metrics
metrics = client.rest_client.projects.get_project_metrics(
project_id="project-id",
metric_type="trace_count",
interval="1h"
)
@@ -0,0 +1,41 @@
Prompts Client
==============
The Prompts client provides methods for managing prompts in the Opik platform.
.. autoclass:: opik.rest_api.prompts.client.PromptsClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Create a prompt
client.rest_client.prompts.create_prompt(
name="my-prompt",
prompt="Tell me about {{topic}}",
type="mustache"
)
# Get a prompt by name
prompt = client.rest_client.prompts.get_prompt_by_name("my-prompt")
# List all prompts
prompts = client.rest_client.prompts.find_prompts(
page=0,
size=10
)
# Get prompt versions
versions = client.rest_client.prompts.get_prompt_versions(
prompt_name="my-prompt"
)
@@ -0,0 +1,25 @@
Redirect Client
===============
The Redirect client provides methods for handling URL redirects in the Opik platform.
.. autoclass:: opik.rest_api.redirect.client.RedirectClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Handle redirect operations
result = client.rest_client.redirect.redirect(
target_url="https://example.com/target"
)
@@ -0,0 +1,28 @@
Service Toggles Client
======================
The Service Toggles client provides methods for managing service feature toggles in the Opik platform.
.. autoclass:: opik.rest_api.service_toggles.client.ServiceTogglesClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Get service toggles configuration
config = client.rest_client.service_toggles.get_service_toggles()
# Check if a specific feature is enabled
if config.feature_enabled:
# Use the feature
pass
@@ -0,0 +1,37 @@
Spans Client
============
The Spans client provides methods for managing spans in the Opik platform.
.. autoclass:: opik.rest_api.spans.client.SpansClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Get a span by ID
span = client.rest_client.spans.get_span_by_id("span-id")
# Search for spans
spans = client.rest_client.spans.search_spans(
project_name="my-project",
trace_id="trace-id",
max_results=100
)
# Add feedback score to a span
client.rest_client.spans.add_span_feedback_score(
id="span-id",
name="relevance",
value=0.85
)
@@ -0,0 +1,26 @@
System Usage Client
===================
The System Usage client provides methods for retrieving system usage metrics in the Opik platform.
.. autoclass:: opik.rest_api.system_usage.client.SystemUsageClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Get system usage metrics
usage = client.rest_client.system_usage.get_system_usage()
# Get workspace usage summary
workspace_usage = client.rest_client.system_usage.get_workspace_usage_summary()
@@ -0,0 +1,36 @@
Traces Client
=============
The Traces client provides methods for managing traces in the Opik platform.
.. autoclass:: opik.rest_api.traces.client.TracesClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Get a trace by ID
trace = client.rest_client.traces.get_trace_by_id("trace-id")
# Search for traces
traces = client.rest_client.traces.search_traces(
project_name="my-project",
max_results=100
)
# Add feedback score to a trace
client.rest_client.traces.add_trace_feedback_score(
id="trace-id",
name="accuracy",
value=0.95
)
@@ -0,0 +1,26 @@
Workspaces Client
=================
The Workspaces client provides methods for managing workspaces in the Opik platform.
.. autoclass:: opik.rest_api.workspaces.client.WorkspacesClient
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: with_raw_response
Usage Example
-------------
.. code-block:: python
import opik
client = opik.Opik()
# Get workspace information
workspace = client.rest_client.workspaces.get_workspace()
# Get workspace statistics
stats = client.rest_client.workspaces.get_workspace_stats()