Skip to main content

Project

Represents a project in the Galileo platform. Projects are containers for logs, traces, and other data in Galileo. All logs are stored within a project, and users can create and manage projects to organize their LLM usage data. Arguments
  • created_at (datetime.datetime): The timestamp when the project was created.
  • created_by (str): The identifier of the user who created the project.
  • id (str): The unique identifier of the project.
  • updated_at (datetime.datetime): The timestamp when the project was last updated.
  • bookmark (Union[Unset, bool]): Whether the project is bookmarked. Defaults to False.
  • name (Union[None, Unset, str]): The name of the project.
  • permissions (Union[Unset, list["Permission"]])): The permissions associated with the project.
  • type (Union[None, ProjectType, Unset]): The type of the project, typically GEN_AI.
Examples

Projects

create

Creates a new project. Arguments
  • name (str): The name of the project.
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Project: The created project.

delete_project

Internal method to handle project deletion logic.

get

Retrieves a project by id or name (exactly one of id or name must be provided). Arguments
  • id (str): The id of the project.
  • name (str): The name of the project.
Raises
  • ValueError: If neither or both id and name are provided.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Project: The project.

get_with_env_fallbacks

Retrieves a project by id or name. At least one of id or name must be provided (directly or via environment). If both are provided, id takes precedence and name is ignored. If neither is provided, the method will attempt to read from GALILEO_PROJECT_ID and GALILEO_PROJECT; if both environment variables are set, GALILEO_PROJECT_ID takes precedence. Arguments
  • id (str): The id of the project.
  • name (str): The name of the project.
Raises
  • ValueError: If neither id nor name is available (including after env fallbacks).
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Project: The project.

list

Lists all projects. Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • list[Project]: A list of projects.

create_project

Creates a new project. Arguments
  • name (str): The name of the project.
  • type_ (ProjectType): The type of the project.
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Project: The created project.

delete_project

Deletes a gen_ai project by ID or name (exactly one of id or name must be provided). Arguments
  • id (str): The ID of the project to delete.
  • name (str): The name of the project to delete.
Raises
  • ValueError: If neither or both id and name are provided.
  • ProjectsAPIException: If the server returns an error response or if the project is not a gen_ai project.
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • bool: True if the project was successfully deleted, False otherwise.
Examples

get_project

Retrieves a project by id or name (exactly one of id or name must be provided). Arguments
  • id (str): The id of the project.
  • name (str): The name of the project.
  • with_content (bool): Whether to return the content of the project. Default is False.
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • Project: The project.

list_projects

Lists all projects. Arguments
  • limit (Union[Unset, int]): The maximum number of projects to return. Default is 100.
Raises
  • errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
  • httpx.TimeoutException: If the request takes longer than Client.timeout.
Returns
  • list[Project]: A list of projects.

list_user_project_collaborators

List all users that a project is shared with. Arguments
  • project_id (str): The ID of the project.
Returns
  • List[UserCollaborator]: A list of users that the project is shared with.

share_project_with_user

Share a project with a user. Arguments
  • project_id (str): The ID of the project.
  • user_id (str): The ID of the user.
  • role (CollaboratorRole): The role to assign to the user.
Returns
  • UserCollaborator: The created user collaborator object.

unshare_project_with_user

Unshare a project with a user. Arguments
  • project_id (str): The ID of the project.
  • user_id (str): The ID of the user.

update_user_project_collaborator

Update a user’s role for a project. Arguments
  • project_id (str): The ID of the project.
  • user_id (str): The ID of the user.
  • role (CollaboratorRole): The new role to assign to the user.
Returns
  • UserCollaborator: The updated user collaborator object.