tessl install tessl/pypi-langsmith@0.6.1Python SDK for LangSmith Observability and Evaluation Platform
Operations for managing projects (also called sessions or trace groups). Projects organize traces into logical collections for analysis and monitoring.
def create_project(
self,
project_name: str,
*,
description: Optional[str] = None,
metadata: Optional[dict] = None,
tags: Optional[list[str]] = None,
reference_dataset_id: Optional[Union[str, UUID]] = None,
) -> TracerSession:
"""
Create a new project.
Parameters:
- project_name: Name of the project
- description: Project description
- metadata: Project metadata
- tags: Project tags
- reference_dataset_id: Associated dataset ID
Returns:
Created TracerSession object
"""
def read_project(
self,
project_name: Optional[str] = None,
project_id: Optional[Union[str, UUID]] = None
) -> TracerSession:
"""
Read a project by name or ID.
Parameters:
- project_name: Name of the project
- project_id: ID of the project (alternative to name)
Returns:
TracerSession object
"""def list_projects(
self,
*,
project_ids: Optional[list[Union[str, UUID]]] = None,
name: Optional[str] = None,
name_contains: Optional[str] = None,
reference_dataset_id: Optional[Union[str, UUID]] = None,
reference_dataset_name: Optional[str] = None,
reference_free: Optional[bool] = None,
limit: Optional[int] = None,
offset: Optional[int] = None,
) -> Iterator[TracerSession]:
"""
List all projects with optional filtering.
Parameters:
- project_ids: Filter by specific project IDs
- name: Filter by exact name
- name_contains: Filter by name substring
- reference_dataset_id: Filter by reference dataset ID
- reference_dataset_name: Filter by reference dataset name
- reference_free: Filter projects without dataset reference
- limit: Maximum number of projects
- offset: Number of projects to skip
Returns:
Iterator of TracerSession objects
"""
def delete_project(
self,
project_name: Optional[str] = None,
project_id: Optional[Union[str, UUID]] = None
) -> None:
"""
Delete a project.
Parameters:
- project_name: Name of the project
- project_id: ID of the project (alternative to name)
"""def update_project(
self,
project_id: Union[str, UUID],
*,
name: Optional[str] = None,
description: Optional[str] = None,
metadata: Optional[dict] = None,
tags: Optional[list[str]] = None,
end_time: Optional[datetime] = None,
) -> TracerSession:
"""
Update a project.
Parameters:
- project_id: ID of the project
- name: New name
- description: New description
- metadata: New metadata
- tags: New tags
- end_time: Mark project as ended
Returns:
Updated TracerSession object
"""
def has_project(
self,
project_name: str
) -> bool:
"""
Check if a project exists.
Parameters:
- project_name: Name of the project
Returns:
True if project exists
"""
def get_test_results(
self,
project_name: str,
*,
dataset_id: Optional[Union[str, UUID]] = None
) -> TestResults:
"""
Get test results for a project.
Parameters:
- project_name: Name of the project
- dataset_id: Optional dataset ID filter
Returns:
TestResults object
"""