Workspaces - Evo Python SDK

GitHub source

## evo.workspaces.client.WorkspaceAPIClient

The Workspace Service API client.

### from_context `classmethod`

    from_context(context: IContext) -> WorkspaceAPIClient

Create a WorkspaceAPIClient from the given context.

The context must have a hub_url and org_id set.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`context` | `IContext` | The context to create the client from. | required

Returns:

Type | Description
--- | ---
`WorkspaceAPIClient` | A WorkspaceAPIClient instance.

### get_service_health `async`

    get_service_health(check_type: HealthCheckType = HealthCheckType.FULL) -> ServiceHealth

Get the health of the workspace service.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`check_type` | `HealthCheckType` | The type of health check to perform. | `FULL`

Returns:

Type | Description
--- | ---
`ServiceHealth` | A ServiceHealth object.

Raises:

Type | Description
--- | ---
`EvoAPIException` | If the API returns an unexpected status code.
`ClientValueError` | If the response is not a valid service health check response.

### list_workspaces_summary `async`

    list_workspaces_summary(
        limit: int | None = None,
        offset: int | None = None,
        order_by: dict[WorkspaceOrderByEnum, OrderByOperatorEnum]
        | dict[WorkspaceOrderByLiteral, OrderByOperatorLiteral]
        | None = None,
        filter_created_by: UUID | None = None,
        created_at: str | None = None,
        updated_at: str | None = None,
        name: str | None = None,
        deleted: bool | None = None,
        filter_user_id: UUID | None = None,
    ) -> Page[BasicWorkspace]

Get an optionally paginated list of basic workspaces with optional filtering and sorting.

This method provides faster performance than list_workspaces() or list_all_workspaces() by returning BasicWorkspace objects with minimal data instead of full Workspace objects.

### delete_workspace `async`

    delete_workspace(workspace_id: UUID) -> None

Delete workspaces by workspace id.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`workspace_id` | `UUID` | The workspace id to delete. | required

Returns:

Type | Description
--- | ---
`None` | An empty response.

### create_workspace `async`

    create_workspace(
        name: str,
        bounding_box_coordinates: list[tuple[float, float]] | None = None,
        default_coordinate_system: str | None = None,
        description: str | None = None,
        labels: list[str] | None = None,
    ) -> Workspace

Create a new workspace.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`name` | `str` | The name of the workspace. | required
`bounding_box_coordinates` | `list[tuple[float, float]] | None` | The coordinates list corresponding to the bounding box of the workspace. The coordinates list should be in the format of [[longitude, latitude], [longitude, latitude], ...] | `None`
`default_coordinate_system` | `str | None` | The default coordinate system of the workspace. | `None`
`description` | `str | None` | The description of the workspace. | `None`
`labels` | `list[str] | None` | The labels of the workspace. | `None`

Returns:

Type | Description
--- | ---
`Workspace` | The created workspace response.

### update_workspace `async`

    update_workspace(
        workspace_id: UUID,
        name: str | None = None,
        bounding_box_coordinates: list[tuple[float, float]] | None = None,
        default_coordinate_system: str | None = None,
        description: str | None = None,
        labels: list[str] | None = None,
    ) -> Workspace

Update an existing workspace.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`workspace_id` | `UUID` | The workspace id to update. | required
`name` | `str | None` | The name of the workspace. | `None`
`bounding_box_coordinates` | `list[tuple[float, float]] | None` | The coordinates list corresponding to the bounding box of the workspace. The coordinates list should be in the format of [[longitude, latitude], [longitude, latitude], ...] | `None`
`default_coordinate_system` | `str | None` | The default coordinate system of the workspace. | `None`
`description` | `str | None` | The description of the workspace. | `None`
`labels` | `list[str] | None` | The labels of the workspace. | `None`

Returns:

Type | Description
--- | ---
`Workspace` | The updated workspace response.

### list_instance_users `async`

    list_instance_users(limit: int | None = None, offset: int | None = None) -> Page[InstanceUserWithEmail]

Returns a page of the list of instance users.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`limit` | `int | None` | The maximum number of users to return. | `None`
`offset` | `int | None` | The offset for pagination. | `None`

Returns:

Type | Description
--- | ---
`Page[InstanceUserWithEmail]` | A page of instance users with email addresses.

### add_users_to_instance `async`

    add_users_to_instance(users: dict[str, list[UUID]]) -> AddedInstanceUsers

Adds users to the instance.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`users` | `dict[str, list[UUID]]` | A dictionary mapping of user emails to their roles. | required

Returns:

Type | Description
--- | ---
`AddedInstanceUsers` | A list of the users that were added and/or the invitations that were sent.

### list_instance_user_invitations `async`

    list_instance_user_invitations(limit: int | None = None, offset: int | None = None) -> Page[InstanceUserInvitation]

Returns a page of the list of instance user invitations.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`limit` | `int | None` | The maximum number of invitations to return. | `None`
`offset` | `int | None` | The offset for pagination. | `None`

Returns:

Type | Description
--- | ---
`Page[InstanceUserInvitation]` | A page of instance user invitations.

### delete_instance_user_invitation `async`

    delete_instance_user_invitation(invitation_id: UUID) -> None

Deletes an instance user invitation.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`invitation_id` | `UUID` | The ID of the invitation to delete. | required

### list_instance_roles `async`

    list_instance_roles() -> list[InstanceRoleWithPermissions]

Returns the list of roles available in the instance.

Returns:

Type | Description
--- | ---
`list[InstanceRoleWithPermissions]` | A list of instance user roles with their permissions.

### remove_instance_user `async`

    remove_instance_user(user_id: UUID) -> None

Removes a user from the instance.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`user_id` | `UUID` | The ID of the user to remove. | required

### update_instance_user_roles `async`

    update_instance_user_roles(user_id: UUID, roles: list[UUID]) -> InstanceUser

Updates the roles of an instance user.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`user_id` | `UUID` | The ID of the user to update. | required
`roles` | `list[UUID]` | The new roles to assign to the user. | required

Returns:

Type | Description
--- | ---
`InstanceUser` | The updated instance user.

#### Keyboard Shortcuts

Keys | Action
--- | ---
`?` | Open this help
`n` | Next page
`p` | Previous page
`s` | Search