source code Browse git
from datetime import datetime
from enum import Enum
from typing import List, Optional
from pydantic import BaseModel, Field
from .client import Client
class UserRole(Enum):
ANNOTATOR = "AN"
REVIEWER = "RE"
MANAGER = "MA"
ADMINISTRATOR = "AD"
OWNER = "OW"
NOT_ACTIVATED = "NO"
DISABLED = "DI"
class OrgMembership(BaseModel):
role: UserRole
active: bool
organization_id: int
class User(BaseModel):
id: int
first_name: str
last_name: str
username: str
email: str
last_activity: datetime
initials: str
phone: str
active_organization: Optional[int] = None
org_membership: Optional[List[OrgMembership]] = Field(default_factory=list)
client: Client
class Config:
arbitrary_types_allowed = True
def set_role(self, role: UserRole):
"""Set user role in current active organization
Parameters
----------
role: label_studio_sdk.users.UserRole
User role
"""
response = self.client.make_request(
"PATCH",
f"/api/organizations/{self.active_organization}/memberships",
json={"user_id": self.id, "role": role.value},
)
for membership in self.org_membership:
if membership.organization_id == self.active_organization:
membership.role = UserRole
return response
Classes
class OrgMembership (**data: Any)
-
Usage docs: https://docs.pydantic.dev/2.7/concepts/models/
A base class for creating Pydantic models.
Attributes
__class_vars__
- The names of classvars defined on the model.
__private_attributes__
- Metadata about the private attributes of the model.
__signature__
- The signature for instantiating the model.
__pydantic_complete__
- Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__
- The pydantic-core schema used to build the SchemaValidator and SchemaSerializer.
__pydantic_custom_init__
- Whether the model has a custom
__init__
function. __pydantic_decorators__
- Metadata containing the decorators defined on the model.
This replaces
Model.__validators__
andModel.__root_validators__
from Pydantic V1. __pydantic_generic_metadata__
- Metadata for generic models; contains data used for a similar purpose to args, origin, parameters in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__
- Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__
- The name of the post-init method for the model, if defined.
__pydantic_root_model__
- Whether the model is a
RootModel
. __pydantic_serializer__
- The pydantic-core SchemaSerializer used to dump instances of the model.
__pydantic_validator__
- The pydantic-core SchemaValidator used to validate instances of the model.
__pydantic_extra__
- An instance attribute with the values of extra fields from validation when
model_config['extra'] == 'allow'
. __pydantic_fields_set__
- An instance attribute with the names of fields explicitly set.
__pydantic_private__
- Instance attribute with the values of private attributes set on the model instance.
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 allowself
as a field name.source code Browse git
class OrgMembership(BaseModel): role: UserRole active: bool organization_id: int
Constants
active : bool
model_computed_fields
model_config
model_fields
organization_id : int
role : UserRole
class User (**data: Any)
-
Usage docs: https://docs.pydantic.dev/2.7/concepts/models/
A base class for creating Pydantic models.
Attributes
__class_vars__
- The names of classvars defined on the model.
__private_attributes__
- Metadata about the private attributes of the model.
__signature__
- The signature for instantiating the model.
__pydantic_complete__
- Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__
- The pydantic-core schema used to build the SchemaValidator and SchemaSerializer.
__pydantic_custom_init__
- Whether the model has a custom
__init__
function. __pydantic_decorators__
- Metadata containing the decorators defined on the model.
This replaces
Model.__validators__
andModel.__root_validators__
from Pydantic V1. __pydantic_generic_metadata__
- Metadata for generic models; contains data used for a similar purpose to args, origin, parameters in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__
- Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__
- The name of the post-init method for the model, if defined.
__pydantic_root_model__
- Whether the model is a
RootModel
. __pydantic_serializer__
- The pydantic-core SchemaSerializer used to dump instances of the model.
__pydantic_validator__
- The pydantic-core SchemaValidator used to validate instances of the model.
__pydantic_extra__
- An instance attribute with the values of extra fields from validation when
model_config['extra'] == 'allow'
. __pydantic_fields_set__
- An instance attribute with the names of fields explicitly set.
__pydantic_private__
- Instance attribute with the values of private attributes set on the model instance.
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 allowself
as a field name.source code Browse git
class User(BaseModel): id: int first_name: str last_name: str username: str email: str last_activity: datetime initials: str phone: str active_organization: Optional[int] = None org_membership: Optional[List[OrgMembership]] = Field(default_factory=list) client: Client class Config: arbitrary_types_allowed = True def set_role(self, role: UserRole): """Set user role in current active organization Parameters ---------- role: label_studio_sdk.users.UserRole User role """ response = self.client.make_request( "PATCH", f"/api/organizations/{self.active_organization}/memberships", json={"user_id": self.id, "role": role.value}, ) for membership in self.org_membership: if membership.organization_id == self.active_organization: membership.role = UserRole return response
Constants
Config
active_organization : Optional[int]
client : Client
email : str
first_name : str
id : int
initials : str
last_activity : datetime.datetime
last_name : str
model_computed_fields
model_config
model_fields
org_membership : Optional[List[OrgMembership]]
phone : str
username : str
Methods
def set_role(self, role: UserRole)
-
source code Browse git
def set_role(self, role: UserRole): """Set user role in current active organization Parameters ---------- role: label_studio_sdk.users.UserRole User role """ response = self.client.make_request( "PATCH", f"/api/organizations/{self.active_organization}/memberships", json={"user_id": self.id, "role": role.value}, ) for membership in self.org_membership: if membership.organization_id == self.active_organization: membership.role = UserRole return response
class UserRole (value, names=None, *, module=None, qualname=None, type=None, start=1)
-
An enumeration.
source code Browse git
class UserRole(Enum): ANNOTATOR = "AN" REVIEWER = "RE" MANAGER = "MA" ADMINISTRATOR = "AD" OWNER = "OW" NOT_ACTIVATED = "NO" DISABLED = "DI"
Constants
ADMINISTRATOR
ANNOTATOR
DISABLED
MANAGER
NOT_ACTIVATED
OWNER
REVIEWER