
    ]jJ                         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mZ  e j                  e j                  d	      Z G d
 d      Z G d d      Zy)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)Pause)
ReasonEnum   )AsyncRawPausesClientRawPausesClient.c                      e Zd ZdefdZedefd       Zdddddeded	e	j                  e   d
e	j                  e   de	j                  e   de	j                  e   fdZedddededede	j                  e   de	j                  e   defdZdddededede	j                  e   def
dZdddededede	j                  e   ddf
dZeedddededede	j                  e   de	j                  e   de	j                  e   defdZy)PausesClientclient_wrapperc                &    t        |      | _        y N)r   )r   _raw_clientselfr   s     Q/root/env/lib/python3.12/site-packages/label_studio_sdk/projects/pauses/client.py__init__zPausesClient.__init__   s    *.I    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawPausesClient
        r   r   s    r   with_raw_responsezPausesClient.with_raw_response        r   Ninclude_deletedorderingrequest_options
project_pkuser_pkr   r   r    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>
        Retrieve a list of all pauses.

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

        user_pk : int

        include_deleted : typing.Optional[bool]
            Include deleted pauses.

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

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

        Returns
        -------
        typing.List[Pause]


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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.pauses.list(
            project_pk=1,
            user_pk=1,
        )
        r   r   listdatar   r!   r"   r   r   r    	_responses          r   r%   zPausesClient.list   s8    d $$))8et * 
	 ~~r   verbose_reasonr    reasonr*   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 pause entry.

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

        user_pk : int

        reason : ReasonEnum
            Reason for pausing

            * `MANUAL` - Manual
            * `BEHAVIOR_BASED` - Behavior-based
            * `ANNOTATOR_EVALUATION` - Annotator evaluation
            * `ANNOTATION_LIMIT` - Annotation limit
            * `CUSTOM_SCRIPT` - Custom script

        verbose_reason : typing.Optional[str]
            Detailed description of why the project is paused, will be readable by paused annotators

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

        Returns
        -------
        Pause


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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.pauses.create(
            project_pk=1,
            user_pk=1,
            reason="MANUAL",
        )
        r+   r*   r    r   creater&   r   r!   r"   r+   r*   r    r(   s          r   r/   zPausesClient.createU   s8    r $$++~_n , 
	 ~~r   r    idc                X    | j                   j                  ||||      }|j                  S )aC  
        <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 pause by ID.

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

        user_pk : int

        id : str

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

        Returns
        -------
        Pause


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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.pauses.get(
            project_pk=1,
            user_pk=1,
            id="id",
        )
        r1   r   getr&   r   r!   r"   r2   r    r(   s         r   r5   zPausesClient.get   s/    R $$((WbRa(b	~~r   c                X    | j                   j                  ||||      }|j                  S )aB  
        <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 specific pause by ID.

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

        user_pk : int

        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.projects.pauses.delete(
            project_pk=1,
            user_pk=1,
            id="id",
        )
        r1   r   deleter&   r6   s         r   r9   zPausesClient.delete   s/    P $$++JUd+e	~~r   r-   c                \    | 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>
        Partially update a pause entry by ID.

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

        user_pk : int

        id : str

        reason : typing.Optional[ReasonEnum]
            Reason for pausing

            * `MANUAL` - Manual
            * `BEHAVIOR_BASED` - Behavior-based
            * `ANNOTATOR_EVALUATION` - Annotator evaluation
            * `ANNOTATION_LIMIT` - Annotation limit
            * `CUSTOM_SCRIPT` - Custom script

        verbose_reason : typing.Optional[str]
            Detailed description of why the project is paused, will be readable by paused annotators

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

        Returns
        -------
        Pause


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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.pauses.update(
            project_pk=1,
            user_pk=1,
            id="id",
        )
        r-   r   updater&   r   r!   r"   r2   r+   r*   r    r(   s           r   r<   zPausesClient.update   s:    x $$++F>cr , 
	 ~~r   )__name__
__module____qualname__r   r   propertyr   r   inttypingOptionalboolstrr   Listr   r%   OMITr   r/   r5   r9   r<    r   r   r   r      s   J*; J  ?     26)-;?55 5
  .5 //#&5  85 
U	5z 04;?<< <
 < ,<  8< 
<~ mq**(+*14*JP//ZhJi*	*Z mq))(+)14)JP//ZhJi)	)b /3/3;??? ? 	? 
+? ,?  8? 
?r   r   c                      e Zd ZdefdZedefd       Zdddddeded	e	j                  e   d
e	j                  e   de	j                  e   de	j                  e   fdZedddededede	j                  e   de	j                  e   defdZdddededede	j                  e   def
dZdddededede	j                  e   ddf
dZeedddededede	j                  e   de	j                  e   de	j                  e   defdZy)AsyncPausesClientr   c                &    t        |      | _        y r   )r
   r   r   s     r   r   zAsyncPausesClient.__init__-  s    /~Nr   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawPausesClient
        r   r   s    r   r   z#AsyncPausesClient.with_raw_response0  r   r   Nr   r!   r"   r   r   r    c                v   K   | j                   j                  |||||       d{   }|j                  S 7 w)aZ  
        <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 list of all pauses.

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

        user_pk : int

        include_deleted : typing.Optional[bool]
            Include deleted pauses.

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

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

        Returns
        -------
        typing.List[Pause]


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.pauses.list(
                project_pk=1,
                user_pk=1,
            )


        asyncio.run(main())
        r   Nr$   r'   s          r   r%   zAsyncPausesClient.list;  sF     t **//8et 0 
 
	 ~~
   $979r)   r+   r*   c                v   K   | j                   j                  |||||       d{   }|j                  S 7 w)ar  
        <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 pause entry.

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

        user_pk : int

        reason : ReasonEnum
            Reason for pausing

            * `MANUAL` - Manual
            * `BEHAVIOR_BASED` - Behavior-based
            * `ANNOTATOR_EVALUATION` - Annotator evaluation
            * `ANNOTATION_LIMIT` - Annotation limit
            * `CUSTOM_SCRIPT` - Custom script

        verbose_reason : typing.Optional[str]
            Detailed description of why the project is paused, will be readable by paused annotators

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

        Returns
        -------
        Pause


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.pauses.create(
                project_pk=1,
                user_pk=1,
                reason="MANUAL",
            )


        asyncio.run(main())
        r-   Nr.   r0   s          r   r/   zAsyncPausesClient.createz  sF     B **11~_n 2 
 
	 ~~
rO   r1   r2   c                t   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 pause by ID.

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

        user_pk : int

        id : str

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

        Returns
        -------
        Pause


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.pauses.get(
                project_pk=1,
                user_pk=1,
                id="id",
            )


        asyncio.run(main())
        r1   Nr4   r6   s         r   r5   zAsyncPausesClient.get  s<     b **..z7BXg.hh	~~ i   #868c                t   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>
        Delete a specific pause by ID.

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

        user_pk : int

        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.projects.pauses.delete(
                project_pk=1,
                user_pk=1,
                id="id",
            )


        asyncio.run(main())
        r1   Nr8   r6   s         r   r9   zAsyncPausesClient.delete  s<     ` **11*gr[j1kk	~~ lrR   r-   c                x   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>
        Partially update a pause entry by ID.

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

        user_pk : int

        id : str

        reason : typing.Optional[ReasonEnum]
            Reason for pausing

            * `MANUAL` - Manual
            * `BEHAVIOR_BASED` - Behavior-based
            * `ANNOTATOR_EVALUATION` - Annotator evaluation
            * `ANNOTATION_LIMIT` - Annotation limit
            * `CUSTOM_SCRIPT` - Custom script

        verbose_reason : typing.Optional[str]
            Detailed description of why the project is paused, will be readable by paused annotators

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

        Returns
        -------
        Pause


        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.pauses.update(
                project_pk=1,
                user_pk=1,
                id="id",
            )


        asyncio.run(main())
        r-   Nr;   r=   s           r   r<   zAsyncPausesClient.update'  sH     H **11F>cr 2 
 
	 ~~
s   %:8:)r>   r?   r@   r   r   rA   r
   r   rB   rC   rD   rE   rF   r   rG   r   r%   rH   r   r/   r5   r9   r<   rI   r   r   rK   rK   ,  s   O*< O  #7     26)-;?== =
  .= //#&=  8= 
U	=J 04;?DD D
 D ,D  8D 
DN mq22(+2142JP//ZhJi2	2j mq11(+1141JP//ZhJi1	1r /3/3;?GG G 	G 
+G ,G  8G 
Gr   rK   )rC   core.client_wrapperr   r   core.request_optionsr   types.pauser   types.reason_enumr   
raw_clientr
   r   castAnyrH   r   rK   rI   r   r   <module>r\      sJ     H 2   + = v{{6::s#Z ZzB Br   