Projects#

class ProjectsClient(*, sdk_config: SDKConfiguration, generated_client: ApiClient)[source]#

Bases: object

Client for managing Arize projects and project-level operations.

This class is primarily intended for internal use within the SDK. Users are highly encouraged to access resource-specific functionality via arize.ArizeClient.

The projects client is a thin wrapper around the generated REST API client, using the shared generated API client owned by arize.config.SDKConfiguration.

Parameters:
  • sdk_config (SDKConfiguration) – Resolved SDK configuration.

  • generated_client (ApiClient) – Shared generated API client instance.

list(*, name: str | None = None, space: str | None = None, limit: int = DEFAULT_LIST_LIMIT, cursor: str | None = None) ProjectListResponse[source]#

List projects the user has access to.

This endpoint supports cursor-based pagination. When space is provided, results are filtered to that space.

Parameters:
  • name (str | None) – Optional case-insensitive substring filter on the project name.

  • space (str | None) – Optional space filter. If the value is a base64-encoded resource ID it is treated as a space ID; otherwise it is used as a case-insensitive substring filter on the space name.

  • limit (int) – Maximum number of projects to return. The server may enforce an upper bound.

  • cursor (str | None) – Opaque pagination cursor from a previous response.

Returns:

A paginated project list response from the Arize REST API.

Raises:

ApiException – If the API request fails.

Return type:

ProjectListResponse

create(*, name: str, space: str) Project[source]#

Create a new project.

Project names must be unique within the target space.

Parameters:
  • name (str) – Project name (must be unique within the target space).

  • space (str) – Space ID or name to create the project in.

Returns:

The created project object.

Raises:

ApiException – If the API request fails (for example, due to invalid input or a uniqueness conflict).

Return type:

Project

get(*, project: str, space: str | None = None) Project[source]#

Get a project by ID or name.

Parameters:
  • project (str) – Project ID or name.

  • space (str | None) – Space ID or name. Required when project is a name.

Returns:

The project object.

Raises:

ApiException – If the API request fails (for example, project not found).

Return type:

Project

delete(*, project: str, space: str | None = None) None[source]#

Delete a project by ID or name.

This operation is irreversible.

Parameters:
  • project (str) – Project ID or name.

  • space (str | None) – Space ID or name. Required when project is a name.

Returns:

This method returns None on success (common empty 204 response).

Raises:

ApiException – If the API request fails (for example, project not found or insufficient permissions).

Return type:

None

update(*, project: str, space: str | None = None, name: str) Project[source]#

Update an existing project.

Parameters:
  • project (str) – Project ID or name.

  • space (str | None) – Space ID or name. Required when project is a name.

  • name (str) – New name for the project. Must be unique within the space.

Returns:

The updated project object.

Raises:

ApiException – If the REST API returns an error response (e.g. 400/401/403/404/409/429).

Return type:

Project

Response Types#

class Project(*, id: Annotated[str, Strict(strict=True)], name: Annotated[str, Strict(strict=True)], space_id: Annotated[str, Strict(strict=True)], created_at: datetime)[source]#

Bases: BaseModel

A project represents an LLM application and serves as the primary container for observability data. Each project collects traces and spans that capture the execution flow of your application, enabling you to debug issues, monitor latency, and analyze token usage. Projects belong to a space and provide a centralized view of your application’s performance. Use projects to organize related traces, run experiments against datasets, and track improvements over time.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
id: StrictStr#
name: StrictStr#
space_id: StrictStr#
created_at: datetime#
model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'protected_namespaces': (), 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

to_str() str[source]#

Returns the string representation of the model using alias

Return type:

str

to_json() str[source]#

Returns the JSON representation of the model using alias

Return type:

str

classmethod from_json(json_str: str) Self | None[source]#

Create an instance of Project from a JSON string

Parameters:

json_str (str)

Return type:

Self | None

to_dict() Dict[str, Any][source]#

Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic’s self.model_dump(by_alias=True):

  • None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.

Return type:

Dict[str, Any]

classmethod from_dict(obj: Dict[str, Any] | None) Self | None[source]#

Create an instance of Project from a dict

Parameters:

obj (Dict[str, Any] | None)

Return type:

Self | None