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:

ProjectPagePublic

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:

ProjectPublic

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:

FeedbackScoreNames

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:

ProjectMetricResponsePublic

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:

ProjectStatsSummary

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:

ProjectDetailed

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"
)