Projects Client¶
The Projects client provides methods for managing projects in the Opik platform.
- class opik.rest_api.projects.client.ProjectsClient(*, client_wrapper: SyncClientWrapper)¶
Bases:
object
- find_projects(*, page: int | None = None, size: int | None = None, name: str | None = None, sorting: str | None = None, request_options: RequestOptions | None = None) ProjectPagePublic ¶
Find projects
- Parameters:
page (Optional[int])
size (Optional[int])
name (Optional[str])
sorting (Optional[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Project resource
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.find_projects()
- create_project(*, name: str, visibility: Literal['private', 'public'] | Any | None = OMIT, description: str | None = OMIT, request_options: RequestOptions | None = None) None ¶
Create project
- Parameters:
name (str)
visibility (Optional[ProjectWriteVisibility])
description (Optional[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.create_project(name=’name’, )
- get_project_by_id(id: str, *, request_options: RequestOptions | None = None) ProjectPublic ¶
Get project by id
- Parameters:
id (str)
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Project resource
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.get_project_by_id(id=’id’, )
- delete_project_by_id(id: str, *, request_options: RequestOptions | None = None) None ¶
Delete project by id
- Parameters:
id (str)
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.delete_project_by_id(id=’id’, )
- update_project(id: str, *, name: str | None = OMIT, description: str | None = OMIT, visibility: Literal['private', 'public'] | Any | None = OMIT, request_options: RequestOptions | None = None) None ¶
Update project by id
- Parameters:
id (str)
name (Optional[str])
description (Optional[str])
visibility (Optional[ProjectUpdateVisibility])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.update_project(id=’id’, )
- delete_projects_batch(*, ids: Sequence[str], request_options: RequestOptions | None = None) None ¶
Delete projects batch
- Parameters:
ids (Sequence[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Return type:
None
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.delete_projects_batch(ids=[‘ids’], )
- find_feedback_score_names_by_project_ids(*, project_ids: str | None = None, request_options: RequestOptions | None = None) FeedbackScoreNames ¶
Find Feedback Score names By Project Ids
- Parameters:
project_ids (Optional[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Feedback Scores resource
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.find_feedback_score_names_by_project_ids()
- get_project_metrics(id: str, *, metric_type: Literal['FEEDBACK_SCORES', 'TRACE_COUNT', 'TOKEN_USAGE', 'DURATION', 'COST', 'GUARDRAILS_FAILED_COUNT'] | Any | None = OMIT, interval: Literal['HOURLY', 'DAILY', 'WEEKLY'] | Any | None = OMIT, interval_start: datetime | None = OMIT, interval_end: datetime | None = OMIT, request_options: RequestOptions | None = None) ProjectMetricResponsePublic ¶
Gets specified metrics for a project
- Parameters:
id (str)
metric_type (Optional[ProjectMetricRequestPublicMetricType])
interval (Optional[ProjectMetricRequestPublicInterval])
interval_start (Optional[dt.datetime])
interval_end (Optional[dt.datetime])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Project Metrics
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.get_project_metrics(id=’id’, )
- get_project_stats(*, page: int | None = None, size: int | None = None, name: str | None = None, sorting: str | None = None, request_options: RequestOptions | None = None) ProjectStatsSummary ¶
Get Project Stats
- Parameters:
page (Optional[int])
size (Optional[int])
name (Optional[str])
sorting (Optional[str])
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Project Stats
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.get_project_stats()
- retrieve_project(*, name: str, request_options: RequestOptions | None = None) ProjectDetailed ¶
Retrieve project
- Parameters:
name (str)
request_options (Optional[RequestOptions]) – Request-specific configuration.
- Returns:
Project resource
- Return type:
Examples
from Opik import OpikApi client = OpikApi(api_key=”YOUR_API_KEY”, workspace_name=”YOUR_WORKSPACE_NAME”, ) client.projects.retrieve_project(name=’name’, )
Usage Example¶
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"
)