source code Browse git
from pydantic import BaseModel
from typing import List, Optional
from .users import User
from .client import Client
class Workspace(BaseModel):
id: int
title: str
description: Optional[str]
color: str
is_personal: bool
created_by: int
client: Client
class Config:
arbitrary_types_allowed = True
def add_user(self, user: User):
"""Add user to workspace
Parameters
----------
user: label_studio_sdk.users.User
User
"""
response = self.client.make_request(
'POST',
f'/api/workspaces/{self.id}/memberships',
json={'workspace': self.id, 'user': user.id},
)
return response.json()
def remove_user(self, user: User):
"""Remove user from workspace
Parameters
----------
user: label_studio_sdk.users.User
User
"""
response = self.client.make_request(
'DELETE',
f'/api/workspaces/{self.id}/memberships',
json={'workspace': self.id, 'user': user.id},
)
if response.status_code != 204:
raise ValueError(str(response.content))
def get_projects(self):
"""Get projects in current workspace
Returns
-------
projects: list of label_studio_sdk.project.Project
Project
"""
from .project import Project
final_results = []
response = self.client.make_request(
'GET', f'/api/workspaces/{self.id}/projects'
)
projects = response.json()
for project_data in projects:
project_id = project_data['id']
final_results.append(
Project.get_from_id(
client=self.client,
project_id=project_id,
)
)
return final_results
Classes
class Workspace (**data: Any)
-
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
source code Browse git
class Workspace(BaseModel): id: int title: str description: Optional[str] color: str is_personal: bool created_by: int client: Client class Config: arbitrary_types_allowed = True def add_user(self, user: User): """Add user to workspace Parameters ---------- user: label_studio_sdk.users.User User """ response = self.client.make_request( 'POST', f'/api/workspaces/{self.id}/memberships', json={'workspace': self.id, 'user': user.id}, ) return response.json() def remove_user(self, user: User): """Remove user from workspace Parameters ---------- user: label_studio_sdk.users.User User """ response = self.client.make_request( 'DELETE', f'/api/workspaces/{self.id}/memberships', json={'workspace': self.id, 'user': user.id}, ) if response.status_code != 204: raise ValueError(str(response.content)) def get_projects(self): """Get projects in current workspace Returns ------- projects: list of label_studio_sdk.project.Project Project """ from .project import Project final_results = [] response = self.client.make_request( 'GET', f'/api/workspaces/{self.id}/projects' ) projects = response.json() for project_data in projects: project_id = project_data['id'] final_results.append( Project.get_from_id( client=self.client, project_id=project_id, ) ) return final_results
Constants
Config
client : Client
color : str
created_by : int
description : Optional[str]
id : int
is_personal : bool
title : str
Methods
def add_user(self, user: User)
-
source code Browse git
def add_user(self, user: User): """Add user to workspace Parameters ---------- user: label_studio_sdk.users.User User """ response = self.client.make_request( 'POST', f'/api/workspaces/{self.id}/memberships', json={'workspace': self.id, 'user': user.id}, ) return response.json()
def get_projects(self)
-
source code Browse git
def get_projects(self): """Get projects in current workspace Returns ------- projects: list of label_studio_sdk.project.Project Project """ from .project import Project final_results = [] response = self.client.make_request( 'GET', f'/api/workspaces/{self.id}/projects' ) projects = response.json() for project_data in projects: project_id = project_data['id'] final_results.append( Project.get_from_id( client=self.client, project_id=project_id, ) ) return final_results
def remove_user(self, user: User)
-
source code Browse git
def remove_user(self, user: User): """Remove user from workspace Parameters ---------- user: label_studio_sdk.users.User User """ response = self.client.make_request( 'DELETE', f'/api/workspaces/{self.id}/memberships', json={'workspace': self.id, 'user': user.id}, ) if response.status_code != 204: raise ValueError(str(response.content))