classLabelQuestion(QuestionBase):def__init__(self,name:str,labels:Union[List[str],Dict[str,str]],title:Optional[str]=None,description:Optional[str]=None,required:bool=True,visible_labels:Optional[int]=None,client:Optional[Argilla]=None,)->None:""" Define a new label question for `Settings` of a `Dataset`. A label \ question is a question where the user can select one label from \ a list of available labels. Parameters: name (str): The name of the question to be used as a reference. labels (Union[List[str], Dict[str, str]]): The list of available labels for the question, or a dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. title (Optional[str]): The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. visible_labels (Optional[int]): The number of visible labels for the question to be shown in the UI. \ Setting it to None show all options. """super().__init__(name=name,title=title,required=required,description=description,settings=LabelQuestionSettings(options=self._render_values_as_options(labels),visible_options=visible_labels,),_client=client,)############################### Public properties##############################@propertydeflabels(self)->List[str]:returnself._render_options_as_labels(self._model.settings.options)@labels.setterdeflabels(self,labels:List[str])->None:self._model.settings.options=self._render_values_as_options(labels)@propertydefvisible_labels(self)->Optional[int]:returnself._model.settings.visible_options@visible_labels.setterdefvisible_labels(self,visible_labels:Optional[int])->None:self._model.settings.visible_options=visible_labels@classmethoddeffrom_model(cls,model:QuestionModel)->"Self":instance=cls(name=model.name,labels=cls._render_options_as_labels(model.settings.options))# noqainstance._model=modelreturninstance
def__init__(self,name:str,labels:Union[List[str],Dict[str,str]],title:Optional[str]=None,description:Optional[str]=None,required:bool=True,visible_labels:Optional[int]=None,client:Optional[Argilla]=None,)->None:""" Define a new label question for `Settings` of a `Dataset`. A label \ question is a question where the user can select one label from \ a list of available labels. Parameters: name (str): The name of the question to be used as a reference. labels (Union[List[str], Dict[str, str]]): The list of available labels for the question, or a dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. title (Optional[str]): The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. visible_labels (Optional[int]): The number of visible labels for the question to be shown in the UI. \ Setting it to None show all options. """super().__init__(name=name,title=title,required=required,description=description,settings=LabelQuestionSettings(options=self._render_values_as_options(labels),visible_options=visible_labels,),_client=client,)
classMultiLabelQuestion(LabelQuestion):def__init__(self,name:str,labels:Union[List[str],Dict[str,str]],visible_labels:Optional[int]=None,labels_order:Literal["natural","suggestion"]="natural",title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,)->None:"""Create a new multi-label question for `Settings` of a `Dataset`. A \ multi-label question is a question where the user can select multiple \ labels from a list of available labels. Parameters: name (str): The name of the question to be used as a reference. labels (Union[List[str], Dict[str, str]]): The list of available labels for the question, or a \ dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. visible_labels (Optional[int]): The number of visible labels for the question to be shown in the UI. \ Setting it to None show all options. labels_order (Literal["natural", "suggestion"]): The order of the labels in the UI. \ Can be either "natural" (order in which they were specified) or "suggestion" (order prioritizing those associated with a suggestion). \ The score of the suggestion will be taken into account for ordering if available. title (Optional[str]: The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """QuestionBase.__init__(self,name=name,title=title,required=required,description=description,settings=MultiLabelQuestionSettings(options=self._render_values_as_options(labels),visible_options=visible_labels,options_order=labels_order,),_client=client,)@classmethoddeffrom_model(cls,model:QuestionModel)->"Self":instance=cls(name=model.name,labels=cls._render_options_as_labels(model.settings.options))# noqainstance._model=modelreturninstance
def__init__(self,name:str,labels:Union[List[str],Dict[str,str]],visible_labels:Optional[int]=None,labels_order:Literal["natural","suggestion"]="natural",title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,)->None:"""Create a new multi-label question for `Settings` of a `Dataset`. A \ multi-label question is a question where the user can select multiple \ labels from a list of available labels. Parameters: name (str): The name of the question to be used as a reference. labels (Union[List[str], Dict[str, str]]): The list of available labels for the question, or a \ dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. visible_labels (Optional[int]): The number of visible labels for the question to be shown in the UI. \ Setting it to None show all options. labels_order (Literal["natural", "suggestion"]): The order of the labels in the UI. \ Can be either "natural" (order in which they were specified) or "suggestion" (order prioritizing those associated with a suggestion). \ The score of the suggestion will be taken into account for ordering if available. title (Optional[str]: The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """QuestionBase.__init__(self,name=name,title=title,required=required,description=description,settings=MultiLabelQuestionSettings(options=self._render_values_as_options(labels),visible_options=visible_labels,options_order=labels_order,),_client=client,)
classRankingQuestion(QuestionBase):def__init__(self,name:str,values:Union[List[str],Dict[str,str]],title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,)->None:"""Create a new ranking question for `Settings` of a `Dataset`. A ranking question \ is a question where the user can rank a list of options. Parameters: name (str): The name of the question to be used as a reference. values (Union[List[str], Dict[str, str]]): The list of options to be ranked, or a \ dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. title (Optional[str]:) The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """super().__init__(name=name,title=title,required=required,description=description,settings=RankingQuestionSettings(options=self._render_values_as_options(values)),_client=client,)@propertydefvalues(self)->List[str]:returnself._render_options_as_labels(self._model.settings.options)@values.setterdefvalues(self,values:List[int])->None:self._model.settings.options=self._render_values_as_options(values)@classmethoddeffrom_model(cls,model:QuestionModel)->"Self":instance=cls(name=model.name,values=cls._render_options_as_labels(model.settings.options))# noqainstance._model=modelreturninstance
def__init__(self,name:str,values:Union[List[str],Dict[str,str]],title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,)->None:"""Create a new ranking question for `Settings` of a `Dataset`. A ranking question \ is a question where the user can rank a list of options. Parameters: name (str): The name of the question to be used as a reference. values (Union[List[str], Dict[str, str]]): The list of options to be ranked, or a \ dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. title (Optional[str]:) The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """super().__init__(name=name,title=title,required=required,description=description,settings=RankingQuestionSettings(options=self._render_values_as_options(values)),_client=client,)
classTextQuestion(QuestionBase):def__init__(self,name:str,title:Optional[str]=None,description:Optional[str]=None,required:bool=True,use_markdown:bool=False,client:Optional[Argilla]=None,)->None:"""Create a new text question for `Settings` of a `Dataset`. A text question \ is a question where the user can input text. Parameters: name (str): The name of the question to be used as a reference. title (Optional[str]): The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. use_markdown (Optional[bool]): Whether to render the markdown in the UI. When True, you will be able \ to use all the Markdown features for text formatting, including LaTex formulas and embedding multimedia content and PDFs. """super().__init__(name=name,title=title,required=required,description=description,settings=TextQuestionSettings(use_markdown=use_markdown),_client=client,)@propertydefuse_markdown(self)->bool:returnself._model.settings.use_markdown@use_markdown.setterdefuse_markdown(self,use_markdown:bool)->None:self._model.settings.use_markdown=use_markdown
def__init__(self,name:str,title:Optional[str]=None,description:Optional[str]=None,required:bool=True,use_markdown:bool=False,client:Optional[Argilla]=None,)->None:"""Create a new text question for `Settings` of a `Dataset`. A text question \ is a question where the user can input text. Parameters: name (str): The name of the question to be used as a reference. title (Optional[str]): The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. use_markdown (Optional[bool]): Whether to render the markdown in the UI. When True, you will be able \ to use all the Markdown features for text formatting, including LaTex formulas and embedding multimedia content and PDFs. """super().__init__(name=name,title=title,required=required,description=description,settings=TextQuestionSettings(use_markdown=use_markdown),_client=client,)
classRatingQuestion(QuestionBase):def__init__(self,name:str,values:List[int],title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,)->None:"""Create a new rating question for `Settings` of a `Dataset`. A rating question \ is a question where the user can select a value from a sequential list of options. Parameters: name (str): The name of the question to be used as a reference. values (List[int]): The list of selectable values. It should be defined in the range [0, 10]. title (Optional[str]:) The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """super().__init__(name=name,title=title,required=required,description=description,settings=RatingQuestionSettings(options=self._render_values_as_options(values)),_client=client,)@propertydefvalues(self)->List[int]:returnself._render_options_as_labels(self._model.settings.options)# noqa@values.setterdefvalues(self,values:List[int])->None:self._model.values=self._render_values_as_options(values)@classmethoddeffrom_model(cls,model:QuestionModel)->"Self":instance=cls(name=model.name,values=cls._render_options_as_labels(model.settings.options))# noqainstance._model=modelreturninstance
def__init__(self,name:str,values:List[int],title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,)->None:"""Create a new rating question for `Settings` of a `Dataset`. A rating question \ is a question where the user can select a value from a sequential list of options. Parameters: name (str): The name of the question to be used as a reference. values (List[int]): The list of selectable values. It should be defined in the range [0, 10]. title (Optional[str]:) The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """super().__init__(name=name,title=title,required=required,description=description,settings=RatingQuestionSettings(options=self._render_values_as_options(values)),_client=client,)
classSpanQuestion(QuestionBase):def__init__(self,name:str,field:str,labels:Union[List[str],Dict[str,str]],allow_overlapping:bool=False,visible_labels:Optional[int]=None,title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,):""" Create a new span question for `Settings` of a `Dataset`. A span question \ is a question where the user can select a section of text within a text field \ and assign it a label. Parameters: name (str): The name of the question to be used as a reference. field (str): The name of the text field where the span question will be applied. labels (Union[List[str], Dict[str, str]]): The list of available labels for the question, or a \ dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. allow_overlapping (bool): This value specifies whether overlapped spans are allowed or not. visible_labels (Optional[int]): The number of visible labels for the question to be shown in the UI. \ Setting it to None show all options. title (Optional[str]:) The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """super().__init__(name=name,title=title,required=required,description=description,settings=SpanQuestionSettings(field=field,allow_overlapping=allow_overlapping,visible_options=visible_labels,options=self._render_values_as_options(labels),),_client=client,)@propertydeffield(self):returnself._model.settings.field@field.setterdeffield(self,field:str):self._model.settings.field=field@propertydefallow_overlapping(self):returnself._model.settings.allow_overlapping@allow_overlapping.setterdefallow_overlapping(self,allow_overlapping:bool):self._model.settings.allow_overlapping=allow_overlapping@propertydefvisible_labels(self)->Optional[int]:returnself._model.settings.visible_options@visible_labels.setterdefvisible_labels(self,visible_labels:Optional[int])->None:self._model.settings.visible_options=visible_labels@propertydeflabels(self)->List[str]:returnself._render_options_as_labels(self._model.settings.options)@labels.setterdeflabels(self,labels:List[str])->None:self._model.settings.options=self._render_values_as_options(labels)@classmethoddeffrom_model(cls,model:QuestionModel)->"Self":instance=cls(name=model.name,field=model.settings.field,labels=cls._render_options_as_labels(model.settings.options),)# noqainstance._model=modelreturninstance
def__init__(self,name:str,field:str,labels:Union[List[str],Dict[str,str]],allow_overlapping:bool=False,visible_labels:Optional[int]=None,title:Optional[str]=None,description:Optional[str]=None,required:bool=True,client:Optional[Argilla]=None,):""" Create a new span question for `Settings` of a `Dataset`. A span question \ is a question where the user can select a section of text within a text field \ and assign it a label. Parameters: name (str): The name of the question to be used as a reference. field (str): The name of the text field where the span question will be applied. labels (Union[List[str], Dict[str, str]]): The list of available labels for the question, or a \ dictionary of key-value pairs where the key is the label and the value is the label name displayed in the UI. allow_overlapping (bool): This value specifies whether overlapped spans are allowed or not. visible_labels (Optional[int]): The number of visible labels for the question to be shown in the UI. \ Setting it to None show all options. title (Optional[str]:) The title of the question to be shown in the UI. description (Optional[str]): The description of the question to be shown in the UI. required (bool): If the question is required for a record to be valid. At least one question must be required. """super().__init__(name=name,title=title,required=required,description=description,settings=SpanQuestionSettings(field=field,allow_overlapping=allow_overlapping,visible_options=visible_labels,options=self._render_values_as_options(labels),),_client=client,)