
    ]j                    f   d dl mZ d dlZddlmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZmZ ddlmZ ej>                  rddl m!Z!m"Z" ddl#m$Z$m%Z% ddl&m'Z'm(Z(  ejR                  ejT                  d      Z+ G d d      Z, G d d      Z-y)    )annotationsN   )AsyncClientWrapperSyncClientWrapper)RequestOptions)BatchFailedPredictions)BatchPredictions)ModelInterface)ModelInterfaceSerializerGet) PaginatedAllRolesProjectListList)'PaginatedProjectSubsetTasksResponseList)ProjectSubsetItem)SkillNameEnum)UserSimpleRequest   )AsyncRawPromptsClientRawPromptsClient)+CompatibleProjectsPromptsRequestProjectType)AsyncIndicatorsClientIndicatorsClient)AsyncRunsClient
RunsClient)AsyncVersionsClientVersionsClient.c            
         e Zd ZddZedd       Zdedd	 	 	 	 	 	 	 	 	 	 	 ddZdedd	 	 	 	 	 	 	 	 	 	 	 ddZddddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd	Z	ddd
	 	 	 	 	 	 	 ddZ
ddd
	 	 	 	 	 ddZeeeeeeedd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d dZdddddd	 	 	 	 	 	 	 	 	 	 	 d!dZddd"dZddd#dZeeeeeeeedd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d$dZed        Zed        Zed        Zy)%PromptsClientc               ^    t        |      | _        || _        d | _        d | _        d | _        y Nclient_wrapper)r   _raw_client_client_wrapper_indicators	_versions_runsselfr    s     I/root/env/lib/python3.12/site-packages/label_studio_sdk/prompts/client.py__init__zPromptsClient.__init__   s-    +>J->B:>26
    c                    | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawPromptsClient
        r!   r'   s    r(   with_raw_responsezPromptsClient.with_raw_response%        r*   Nnum_failed_predictionsjob_idrequest_optionsc               Z    | j                   j                  |||||      }|j                  S )a*  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Create a new batch of failed predictions.

        Parameters
        ----------
        failed_predictions : typing.Sequence[typing.Any]

        modelrun_id : int

        num_failed_predictions : typing.Optional[int]
            Number of failed predictions being sent (for telemetry only, has no effect)

        job_id : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        BatchFailedPredictions


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.batch_failed_predictions(
            failed_predictions=[],
            modelrun_id=1,
        )
        failed_predictionsmodelrun_idr1   r2   r3   r!   batch_failed_predictionsdatar'   r6   r7   r1   r2   r3   	_responses          r(   r9   z&PromptsClient.batch_failed_predictions0   s;    b $$==1##9+ > 
	 ~~r*   num_predictionsr2   r3   c               Z    | j                   j                  |||||      }|j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Create a new batch prediction.

        Parameters
        ----------
        modelrun_id : int

        results : typing.Sequence[typing.Any]

        num_predictions : typing.Optional[int]
            Number of predictions being sent (for telemetry only, has no effect)

        job_id : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        BatchPredictions


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.batch_predictions(
            modelrun_id=1,
            results=[],
        )
        r7   resultsr>   r2   r3   r!   batch_predictionsr:   r'   r7   rA   r>   r2   r3   r<   s          r(   rC   zPromptsClient.batch_predictionsj   s;    b $$66#++ 7 
	 ~~r*   include_total	model_runorderingpage	page_sizeparent_modelproject_subsetr3   c               b    | j                   j                  |||||||||		      }
|
j                  S )a]  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>

                Provides list of tasks, based on project subset. Includes predictions for tasks. For the 'HasGT' subset, accuracy metrics will also be provided.


        Parameters
        ----------
        project_pk : int

        include_total : typing.Optional[bool]
            If true (default), includes task_count in response; if false, omits it.

        model_run : typing.Optional[int]
            A unique ID of a ModelRun

        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        page : typing.Optional[int]
            A page number within the paginated result set.

        page_size : typing.Optional[int]
            Number of results to return per page.

        parent_model : typing.Optional[int]
            The ID of the parent model (ModelInterface) for this Inference Run

        project_subset : typing.Optional[str]
            The project subset to retrieve tasks for

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        PaginatedProjectSubsetTasksResponseList


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.subset_tasks(
            project_pk=1,
        )
        rE   r!   subset_tasksr:   r'   
project_pkrF   rG   rH   rI   rJ   rK   rL   r3   r<   s              r(   rO   zPromptsClient.subset_tasks   sG    H $$11'%)+ 2 

	 ~~r*   rH   r3   c               V    | j                   j                  |||      }|j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>

                Provides list of available subsets for a project along with count of tasks in each subset


        Parameters
        ----------
        project_pk : int

        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        typing.List[ProjectSubsetItem]


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.subsets(
            project_pk=1,
        )
        rR   r!   subsetsr:   r'   rQ   rH   r3   r<   s        r(   rU   zPromptsClient.subsets   s-    X $$,,Z(\k,l	~~r*   c               T    | j                   j                  ||      }|j                  S )a%  
        List all prompts.

        Parameters
        ----------
        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        typing.List[ModelInterfaceSerializerGet]


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.list()
        rR   r!   listr:   r'   rH   r3   r<   s       r(   rY   zPromptsClient.list$  s)    8 $$))8_)]	~~r*   associated_projects
created_bydescriptioninput_fieldsorganizationoutput_classes
skill_namer3   c       	        b    | j                   j                  |||||||||		      }
|
j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Create a new prompt.

        Parameters
        ----------
        title : str
            Model name

        associated_projects : typing.Optional[typing.Sequence[int]]

        created_by : typing.Optional[UserSimpleRequest]
            User who created Dataset

        description : typing.Optional[str]
            Model description

        input_fields : typing.Optional[typing.Any]

        organization : typing.Optional[int]

        output_classes : typing.Optional[typing.Any]

        skill_name : typing.Optional[SkillNameEnum]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ModelInterface


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.create(
            title="title",
        )
        	titler\   r]   r^   r_   r`   ra   rb   r3   r!   creater:   r'   re   r\   r]   r^   r_   r`   ra   rb   r3   r<   s              r(   rg   zPromptsClient.createC  sG    | $$++ 3!#%%)!+ , 

	 ~~r*   rH   rI   rJ   project_typer3   c               Z    | j                   j                  |||||      }|j                  S )a|  
        Retrieve a list of compatible project for prompt.

        Parameters
        ----------
        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        page : typing.Optional[int]
            A page number within the paginated result set.

        page_size : typing.Optional[int]
            Number of results to return per page.

        project_type : typing.Optional[CompatibleProjectsPromptsRequestProjectType]
            Skill to filter by

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        PaginatedAllRolesProjectListList


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.compatible_projects()
        ri   r!   compatible_projectsr:   r'   rH   rI   rJ   rj   r3   r<   s          r(   rm   z!PromptsClient.compatible_projects  s;    V $$88%+ 9 
	 ~~r*   r3   c               T    | j                   j                  ||      }|j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Retrieve a specific prompt.

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ModelInterfaceSerializerGet


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.get(
            id="id",
        )
        ro   r!   getr:   r'   idr3   r<   s       r(   rr   zPromptsClient.get  s*    B $$((_(M	~~r*   c               T    | j                   j                  ||      }|j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Delete a prompt by ID

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.delete(
            id="id",
        )
        ro   r!   deleter:   rs   s       r(   rw   zPromptsClient.delete  s*    @ $$++B+P	~~r*   	r\   r]   r^   r_   r`   ra   rb   re   r3   c       	        d    | j                   j                  |||||||||	|

      }|j                  S )a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Update a specific prompt by ID.

        Parameters
        ----------
        id : str

        associated_projects : typing.Optional[typing.Sequence[int]]

        created_by : typing.Optional[UserSimpleRequest]
            User who created Dataset

        description : typing.Optional[str]
            Model description

        input_fields : typing.Optional[typing.Any]

        organization : typing.Optional[int]

        output_classes : typing.Optional[typing.Any]

        skill_name : typing.Optional[SkillNameEnum]

        title : typing.Optional[str]
            Model name

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ModelInterface


        Examples
        --------
        from label_studio_sdk import LabelStudio

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.prompts.update(
            id="id",
        )
        rx   r!   updater:   r'   rt   r\   r]   r^   r_   r`   ra   rb   re   r3   r<   s               r(   r{   zPromptsClient.update	  sJ    B $$++ 3!#%%)!+ , 
	 ~~r*   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r#   indicators.clientr   r"   )r'   r   s     r(   
indicatorszPromptsClient.indicatorsX  s0    #;/t?S?STDr*   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r$   versions.clientr   r"   )r'   r   s     r(   versionszPromptsClient.versions`  s+    >>!7+4;O;OPDN~~r*   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r%   runs.clientr   r"   )r'   r   s     r(   runszPromptsClient.runsh  s+    ::/#43G3GHDJzzr*   )r    r   )returnr   r6   typing.Sequence[typing.Any]r7   intr1   typing.Optional[int]r2   typing.Optional[str]r3   typing.Optional[RequestOptions]r   r   r7   r   rA   r   r>   r   r2   r   r3   r   r   r	   rQ   r   rF   ztyping.Optional[bool]rG   r   rH   r   rI   r   rJ   r   rK   r   rL   r   r3   r   r   r   rQ   r   rH   r   r3   r   r   ztyping.List[ProjectSubsetItem]rH   r   r3   r   r   z(typing.List[ModelInterfaceSerializerGet]re   strr\   %typing.Optional[typing.Sequence[int]]r]   "typing.Optional[UserSimpleRequest]r^   r   r_   typing.Optional[typing.Any]r`   r   ra   r   rb   typing.Optional[SkillNameEnum]r3   r   r   r
   rH   r   rI   r   rJ   r   rj   z<typing.Optional[CompatibleProjectsPromptsRequestProjectType]r3   r   r   r   rt   r   r3   r   r   r   rt   r   r3   r   r   Nonert   r   r\   r   r]   r   r^   r   r_   r   r`   r   ra   r   rb   r   re   r   r3   r   r   r
   __name__
__module____qualname__r)   propertyr.   OMITr9   rC   rO   rU   rY   rg   rm   rr   rw   r{   r   r   r    r*   r(   r   r      sv   7     8<'+;?8 88 	8
 !58 %8 98 
 8~ 15'+;?8 8 -	8
 .8 %8 98 
8| 04*.)-%)*.-1/3;?OO -	O
 (O 'O #O (O +O -O 9O 
1Oj *.;?-- '	-
 9- 
(-` 37ko/Ih	1F FJ9=,048-16:59;?I I C	I
 7I *I 2I +I 4I 3I 9I 
I\ *.%)*.UY;?2 '2 #	2
 (2 S2 92 
*2h RV "H UY !N FJ9=,048-16:59&*;?MM C	M
 7M *M 2M +M 4M 3M $M 9M 
M^        r*   r   c            
         e Zd ZddZedd       Zdedd	 	 	 	 	 	 	 	 	 	 	 ddZdedd	 	 	 	 	 	 	 	 	 	 	 ddZddddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd	Z	ddd
	 	 	 	 	 	 	 ddZ
ddd
	 	 	 	 	 ddZeeeeeeedd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d dZdddddd	 	 	 	 	 	 	 	 	 	 	 d!dZdd	 	 	 	 	 d"dZddd#dZeeeeeeeedd		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d$dZed        Zed        Zed        Zy)%AsyncPromptsClientc               ^    t        |      | _        || _        d | _        d | _        d | _        y r   )r   r!   r"   r#   r$   r%   r&   s     r(   r)   zAsyncPromptsClient.__init__r  s-    0O-CG?C7;
r*   c                    | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawPromptsClient
        r,   r-   s    r(   r.   z$AsyncPromptsClient.with_raw_responsey  r/   r*   Nr0   c               v   K   | j                   j                  |||||       d{   }|j                  S 7 w)a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Create a new batch of failed predictions.

        Parameters
        ----------
        failed_predictions : typing.Sequence[typing.Any]

        modelrun_id : int

        num_failed_predictions : typing.Optional[int]
            Number of failed predictions being sent (for telemetry only, has no effect)

        job_id : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        BatchFailedPredictions


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.batch_failed_predictions(
                failed_predictions=[],
                modelrun_id=1,
            )


        asyncio.run(main())
        r5   Nr8   r;   s          r(   r9   z+AsyncPromptsClient.batch_failed_predictions  sJ     r **CC1##9+ D 
 
	 ~~
   $979r=   c               v   K   | j                   j                  |||||       d{   }|j                  S 7 w)ah  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Create a new batch prediction.

        Parameters
        ----------
        modelrun_id : int

        results : typing.Sequence[typing.Any]

        num_predictions : typing.Optional[int]
            Number of predictions being sent (for telemetry only, has no effect)

        job_id : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        BatchPredictions


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.batch_predictions(
                modelrun_id=1,
                results=[],
            )


        asyncio.run(main())
        r@   NrB   rD   s          r(   rC   z$AsyncPromptsClient.batch_predictions  sI     r **<<#++ = 
 
	 ~~
r   rE   c               ~   K   | j                   j                  |||||||||		       d{   }
|
j                  S 7 w)a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>

                Provides list of tasks, based on project subset. Includes predictions for tasks. For the 'HasGT' subset, accuracy metrics will also be provided.


        Parameters
        ----------
        project_pk : int

        include_total : typing.Optional[bool]
            If true (default), includes task_count in response; if false, omits it.

        model_run : typing.Optional[int]
            A unique ID of a ModelRun

        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        page : typing.Optional[int]
            A page number within the paginated result set.

        page_size : typing.Optional[int]
            Number of results to return per page.

        parent_model : typing.Optional[int]
            The ID of the parent model (ModelInterface) for this Inference Run

        project_subset : typing.Optional[str]
            The project subset to retrieve tasks for

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        PaginatedProjectSubsetTasksResponseList


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.subset_tasks(
                project_pk=1,
            )


        asyncio.run(main())
        rE   NrN   rP   s              r(   rO   zAsyncPromptsClient.subset_tasks  sU     X **77'%)+ 8 

 

	 ~~

   (=;=rR   c               r   K   | j                   j                  |||       d{   }|j                  S 7 w)a  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>

                Provides list of available subsets for a project along with count of tasks in each subset


        Parameters
        ----------
        project_pk : int

        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        typing.List[ProjectSubsetItem]


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.subsets(
                project_pk=1,
            )


        asyncio.run(main())
        rR   NrT   rV   s        r(   rU   zAsyncPromptsClient.subsetsa  s:     h **22:bq2rr	~~ ss   "757c               p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        List all prompts.

        Parameters
        ----------
        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        typing.List[ModelInterfaceSerializerGet]


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.list()


        asyncio.run(main())
        rR   NrX   rZ   s       r(   rY   zAsyncPromptsClient.list  s8     H **//Sb/cc	~~ d   !646r[   c       	        ~   K   | j                   j                  |||||||||		       d{   }
|
j                  S 7 w)a(  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Create a new prompt.

        Parameters
        ----------
        title : str
            Model name

        associated_projects : typing.Optional[typing.Sequence[int]]

        created_by : typing.Optional[UserSimpleRequest]
            User who created Dataset

        description : typing.Optional[str]
            Model description

        input_fields : typing.Optional[typing.Any]

        organization : typing.Optional[int]

        output_classes : typing.Optional[typing.Any]

        skill_name : typing.Optional[SkillNameEnum]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ModelInterface


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.create(
                title="title",
            )


        asyncio.run(main())
        rd   Nrf   rh   s              r(   rg   zAsyncPromptsClient.create  sU     L **11 3!#%%)!+ 2 

 

	 ~~

r   ri   c               v   K   | j                   j                  |||||       d{   }|j                  S 7 w)a  
        Retrieve a list of compatible project for prompt.

        Parameters
        ----------
        ordering : typing.Optional[str]
            Which field to use when ordering the results.

        page : typing.Optional[int]
            A page number within the paginated result set.

        page_size : typing.Optional[int]
            Number of results to return per page.

        project_type : typing.Optional[CompatibleProjectsPromptsRequestProjectType]
            Skill to filter by

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        PaginatedAllRolesProjectListList


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.compatible_projects()


        asyncio.run(main())
        ri   Nrl   rn   s          r(   rm   z&AsyncPromptsClient.compatible_projects  sI     f **>>%+ ? 
 
	 ~~
r   ro   c               p   K   | j                   j                  ||       d{   }|j                  S 7 w)a`  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Retrieve a specific prompt.

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ModelInterfaceSerializerGet


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.get(
                id="id",
            )


        asyncio.run(main())
        ro   Nrq   rs   s       r(   rr   zAsyncPromptsClient.getN  s7     V **..r?.SS	~~ Tr   c               p   K   | j                   j                  ||       d{   }|j                  S 7 w)aE  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Delete a prompt by ID

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.delete(
                id="id",
            )


        asyncio.run(main())
        ro   Nrv   rs   s       r(   rw   zAsyncPromptsClient.delete|  s7     P **11"o1VV	~~ Wr   rx   c       	           K   | j                   j                  |||||||||	|

       d{   }|j                  S 7 w)aP  
        <Card href="https://humansignal.com/goenterprise">
                <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
                <p style="margin-top: 10px; font-size: 14px;">
                    This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
                </p>
            </Card>
        Update a specific prompt by ID.

        Parameters
        ----------
        id : str

        associated_projects : typing.Optional[typing.Sequence[int]]

        created_by : typing.Optional[UserSimpleRequest]
            User who created Dataset

        description : typing.Optional[str]
            Model description

        input_fields : typing.Optional[typing.Any]

        organization : typing.Optional[int]

        output_classes : typing.Optional[typing.Any]

        skill_name : typing.Optional[SkillNameEnum]

        title : typing.Optional[str]
            Model name

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ModelInterface


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.prompts.update(
                id="id",
            )


        asyncio.run(main())
        rx   Nrz   r|   s               r(   r{   zAsyncPromptsClient.update  sX     R **11 3!#%%)!+ 2 
 
	 ~~
s   )><>c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r#   r~   r   r"   )r'   r   s     r(   r   zAsyncPromptsClient.indicators  s0    #@4DDXDXYDr*   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r$   r   r   r"   )r'   r   s     r(   r   zAsyncPromptsClient.versions  s+    >>!<0@T@TUDN~~r*   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r%   r   r   r"   )r'   r   s     r(   r   zAsyncPromptsClient.runs  s+    ::4(8L8LMDJzzr*   )r    r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r(   r   r   q  s   <     8<'+;?@ 8@ 	@
 !5@ %@ 9@ 
 @N 15'+;?@ @ -	@
 .@ %@ 9@ 
@L 04*.)-%)*.-1/3;?WW -	W
 (W 'W #W (W +W -W 9W 
1Wz *.;?55 '	5
 95 
(5p 37ko%/%Ih%	1%V FJ9=,048-16:59;?Q Q C	Q
 7Q *Q 2Q +Q 4Q 3Q 9Q 
Ql *.%)*.UY;?: ': #	:
 (: S: 9: 
*:z NR,,+J,	$,\ [_ )^ FJ9=,048-16:59&*;?UU C	U
 7U *U 2U +U 4U 3U $U 9U 
Un        r*   r   ).
__future__r   typingcore.client_wrapperr   r   core.request_optionsr   types.batch_failed_predictionsr   types.batch_predictionsr	   types.model_interfacer
   $types.model_interface_serializer_getr   +types.paginated_all_roles_project_list_listr   2types.paginated_project_subset_tasks_response_listr   types.project_subset_itemr   types.skill_name_enumr   types.user_simple_requestr   
raw_clientr   r   6types.compatible_projects_prompts_request_project_typer   TYPE_CHECKINGr~   r   r   r   r   r   r   r   r   castAnyr   r   r   r   r*   r(   <module>r      su    #  G 1 C 6 2 N Z h 9 1 9 ? o	J8Dv{{6::s#Q	 Q	hc
 c
r*   