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 responseClasses
- 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.selfis explicitly positional-only to allowselfas a field name.source code Browse gitclass OrgMembership(BaseModel): role: UserRole active: bool organization_id: intConstants- 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.selfis explicitly positional-only to allowselfas a field name.source code Browse gitclass 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 responseConstants- 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 gitdef 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 gitclass 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