
    ]jQ                         d dl Z ddlmZmZ ddlm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 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(  G d d      Z) G d d      Z*y)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions   )AsyncRawStatsClientRawStatsClient)AgreementAnnotatorStatsResponse) AgreementAnnotatorsStatsResponse)DataFiltersStatsResponse)FinishedTasksStatsResponse)IaaStatsResponse)LeadTimeStatsResponse)+ModelVersionAnnotatorAgreementStatsResponse)-ModelVersionGroundTruthAgreementStatsResponse),ModelVersionPredictionAgreementStatsResponse)TotalAgreementStatsResponse)%UserGroundTruthAgreementStatsResponse)$UserPredictionAgreementStatsResponse)UserReviewScoreStatsResponse)&UsersGroundTruthAgreementStatsResponse)%UsersPredictionAgreementStatsResponse)UsersReviewScoreStatsResponsec                      e Zd ZdefdZedefd       Zdddede	d	e
j                  e   defd
Zddddede	de
j                  e   d	e
j                  e   def
dZddddede	de
j                  e   d	e
j                  e   def
dZdddddddede
j                  e	   de
j                  e   de
j                  e   de
j                  e	   d	e
j                  e   defdZddd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
j                  e   defdZdddede	d	e
j                  e   defdZddded	e
j                  e   defdZddddede
j                  e   d	e
j                  e   defdZddded	e
j                  e   de fdZ!ddddede
j                  e   d	e
j                  e   de"fdZ#dddded e
j                  e	   d	e
j                  e   de
jH                  e	e
jJ                  f   fd!Z&ddddede	de
j                  e   d	e
j                  e   de'f
d"Z(ddddede	de
j                  e   d	e
j                  e   de)f
d#Z*ddddedede
j                  e   d	e
j                  e   de+f
d$Z,ddddedede
j                  e   d	e
j                  e   de-f
d%Z.ddddedede
j                  e   d	e
j                  e   de/f
d&Z0y)'StatsClientclient_wrapperc                &    t        |      | _        y N)r   )r	   _raw_clientselfr   s     P/root/env/lib/python3.12/site-packages/label_studio_sdk/projects/stats/client.py__init__zStatsClient.__init__   s    )H    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawStatsClient
        r   r!   s    r"   with_raw_responsezStatsClient.with_raw_response        r$   Nrequest_optionsidmodel_versionr,   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>
        Get agreement between a given model version and all annotators in the project for overlapping tasks.

        Parameters
        ----------
        id : int

        model_version : str

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

        Returns
        -------
        ModelVersionAnnotatorAgreementStatsResponse
            Model-version overall agreement vs annotators

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.model_version_annotator_agreement(
            id=1,
            model_version="model_version",
        )
        r+   r   !model_version_annotator_agreementdatar!   r-   r.   r,   	_responses        r"   r1   z-StatsClient.model_version_annotator_agreement)   s4    L $$FF G 
	 ~~r$   	per_labelr,   r6   c                X    | j                   j                  ||||      }|j                  S )aA  
        <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>
        Get agreement between a given model version and ground truth annotations in the project for overlapping tasks.

        Parameters
        ----------
        id : int

        model_version : str

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        ModelVersionGroundTruthAgreementStatsResponse
            Model-version ground truth agreement

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.model_version_ground_truth_agreement(
            id=1,
            model_version="model_version",
        )
        r5   r   $model_version_ground_truth_agreementr2   r!   r-   r.   r6   r,   r4   s         r"   r9   z0StatsClient.model_version_ground_truth_agreementT   s6    \ $$IIO J 
	 ~~r$   c                X    | 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>
        Get agreement between a given model version and all other model versions in the project for overlapping tasks.

        Parameters
        ----------
        id : int

        model_version : str

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        ModelVersionPredictionAgreementStatsResponse
            Model-version prediction agreement

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.model_version_prediction_agreement(
            id=1,
            model_version="model_version",
        )
        r5   r   "model_version_prediction_agreementr2   r:   s         r"   r=   z.StatsClient.model_version_prediction_agreement   s6    \ $$GGO H 
	 ~~r$   expandr6   stdtaskr,   r?   r@   rA   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>
        Get Inter-Annotator Agreement (IAA) matrix for a project, showing agreement between all annotators.

        Parameters
        ----------
        id : int

        expand : typing.Optional[str]
            Comma-separated list of fields to expand

        per_label : typing.Optional[bool]
            Calculate IAA per label

        std : typing.Optional[bool]
            Include standard deviation in results

        task : typing.Optional[str]
            Comma-separated list of task IDs to filter by

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

        Returns
        -------
        IaaStatsResponse
            Inter-Annotator Agreement matrix

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.iaa(
            id=1,
        )
        r>   r   iaar2   r!   r-   r?   r6   r@   rA   r,   r4   s           r"   rD   zStatsClient.iaa   s:    l $$((v$Xg ) 
	 ~~r$   idsc                X    | 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>
        Get ground truth agreement statistics for multiple users within a project.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of user IDs to get ground truth agreement for

        per_label : typing.Optional[bool]
            Per label

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

        Returns
        -------
        UsersGroundTruthAgreementStatsResponse
            Ground truth agreement statistics for multiple users

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.users_ground_truth_agreement(
            id=1,
            ids="ids",
        )
        rF   r6   r,   r   users_ground_truth_agreementr2   r!   r-   rF   r6   r,   r4   s         r"   rJ   z(StatsClient.users_ground_truth_agreement   s6    ^ $$AAC9o B 
	 ~~r$   user_idc                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>
        Get agreement statistics for a specific annotator within a project.

        Parameters
        ----------
        id : int

        user_id : int

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

        Returns
        -------
        AgreementAnnotatorStatsResponse
            Individual annotator agreement statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.agreement_annotator(
            id=1,
            user_id=1,
        )
        r+   r   agreement_annotatorr2   r!   r-   rL   r,   r4   s        r"   rO   zStatsClient.agreement_annotator)  s-    L $$88WVe8f	~~r$   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>
        Get agreement statistics for multiple annotators within a project.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of annotator user IDs to get agreement scores for

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

        Returns
        -------
        AgreementAnnotatorsStatsResponse
            Multiple annotator agreement statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.agreement_annotators(
            id=1,
            ids="ids",
        )
        rF   r,   r   agreement_annotatorsr2   r!   r-   rF   r,   r4   s        r"   rT   z StatsClient.agreement_annotatorsR  s-    N $$99"#Wf9g	~~r$   c                T    | j                   j                  ||      }|j                  S )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>
        Get statistics about user data filters and their usage within a project.

        Parameters
        ----------
        id : int

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

        Returns
        -------
        DataFiltersStatsResponse
            User data filter statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.data_filters(
            id=1,
        )
        r+   r   data_filtersr2   r!   r-   r,   r4   s       r"   rX   zStatsClient.data_filters|  s*    F $$11"o1V	~~r$   user_pkr,   r[   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>
        Get statistics about finished tasks for a project.

        Parameters
        ----------
        id : int

        user_pk : typing.Optional[int]
            User ID to filter statistics by (optional)

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

        Returns
        -------
        FinishedTasksStatsResponse
            Finished tasks statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.finished_tasks(
            id=1,
        )
        rZ   r   finished_tasksr2   r!   r-   r[   r,   r4   s        r"   r^   zStatsClient.finished_tasks  s-    L $$33BYh3i	~~r$   c                T    | 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>
        Get lead time statistics across the project, including average annotation time.

        Parameters
        ----------
        id : int

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

        Returns
        -------
        LeadTimeStatsResponse
            Lead time statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.lead_time(
            id=1,
        )
        r+   r   	lead_timer2   rY   s       r"   rb   zStatsClient.lead_time  s*    B $$..r?.S	~~r$   c                V    | j                   j                  |||      }|j                  S )a2  
        <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>
        Overall or per-label total agreement across the project.

        NOTE: due to an open issue in Fern, SDK clients will raise ApiError upon handling a 204 response. As a workaround, wrap call to this function in a try-except block.

        Parameters
        ----------
        id : int

        per_label : typing.Optional[bool]
            Return agreement per label

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

        Returns
        -------
        TotalAgreementStatsResponse
            Total agreement

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.total_agreement(
            id=1,
        )
        r5   r   total_agreementr2   r!   r-   r6   r,   r4   s        r"   re   zStatsClient.total_agreement  s-    X $$44R9^m4n	~~r$   	stat_typer,   rh   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>
        Start stats recalculation for given project

        Parameters
        ----------
        id : int

        stat_type : typing.Optional[str]
            Stat type to recalculate. Possible values: label, stats

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

        Returns
        -------
        typing.Dict[str, typing.Any]
            Successful response returns job id

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.update_stats(
            id=1,
        )
        rg   r   update_statsr2   r!   r-   rh   r,   r4   s        r"   rk   zStatsClient.update_stats  s-    T $$11"	[j1k	~~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>
        Get prediction agreement statistics for multiple annotators within a project.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of annotator user IDs to get agreement scores for

        per_label : typing.Optional[bool]
            Per label

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

        Returns
        -------
        UsersPredictionAgreementStatsResponse
            Prediction agreement statistics for multiple annotators

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.users_prediction_agreement(
            id=1,
            ids="ids",
        )
        rH   r   users_prediction_agreementr2   rK   s         r"   ro   z&StatsClient.users_prediction_agreementK  s6    ^ $$??C9o @ 
	 ~~r$   c                X    | 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>
        Get review score and performance score statistics for multiple annotators within a project. Only allowed for accounts with reviewing features enabled.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of annotator user IDs to get review scores for

        per_label : typing.Optional[bool]
            Per label

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

        Returns
        -------
        UsersReviewScoreStatsResponse
            Review scores and performance scores for multiple annotators

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.users_review_score(
            id=1,
            ids="ids",
        )
        rH   r   users_review_scorer2   rK   s         r"   rr   zStatsClient.users_review_score  s5    ^ $$77C9o 8 
	 ~~r$   c                X    | 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>
        Get prediction agreement statistics for a specific user within a project.

        Parameters
        ----------
        id : int

        user_pk : int

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        UserPredictionAgreementStatsResponse
            Individual user prediction agreement statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.user_prediction_agreement(
            id=1,
            user_pk=1,
        )
        r5   r   user_prediction_agreementr2   r!   r-   r[   r6   r,   r4   s         r"   ru   z%StatsClient.user_prediction_agreement  s5    \ $$>>9o ? 
	 ~~r$   c                X    | 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>
        Get review score statistics for a specific user within a project. Only allowed for accounts with reviewing features enabled.

        Parameters
        ----------
        id : int

        user_pk : int

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        UserReviewScoreStatsResponse
            Individual user review score statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.user_review_score(
            id=1,
            user_pk=1,
        )
        r5   r   user_review_scorer2   rv   s         r"   ry   zStatsClient.user_review_score  s5    \ $$669o 7 
	 ~~r$   c                X    | 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>
        Get ground truth agreement statistics for a specific user within a project.

        Parameters
        ----------
        id : int

        user_pk : int

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        UserGroundTruthAgreementStatsResponse
            Individual user ground truth agreement statistics

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

        client = LabelStudio(
            api_key="YOUR_API_KEY",
        )
        client.projects.stats.user_ground_truth_agreement(
            id=1,
            user_pk=1,
        )
        r5   r   user_ground_truth_agreementr2   rv   s         r"   r|   z'StatsClient.user_ground_truth_agreement  s6    \ $$@@9o A 
	 ~~r$   )1__name__
__module____qualname__r   r#   propertyr	   r)   intstrtypingOptionalr   r   r1   boolr   r9   r   r=   r   rD   r   rJ   r
   rO   r   rT   r   rX   r   r^   r   rb   r   re   DictAnyrk   r   ro   r   rr   r   ru   r   ry   r   r|    r$   r"   r   r      s   I*; I  >     bf))&))?E~?^)	4)` ,0;?11 1
 ??4(1  81 
71p ,0;?11 1
 ??4(1  81 
61n (,+/%)%);?99 $	9
 ??4(9 __T"9 ooc"9  89 
9@ ,0;?22 	2
 ??4(2  82 
02j \`'' #'9?9X'	('T X\(("(5;__^5T(	)(V NR$$+1??>+J$	!$N ;?sw''#)??3#7'QWQ`Q`aoQp'	#'R X\ "C "V__^5T "`u "P ,0;?-- ??4(	-
  8- 
%-f +/;?++ ??3'	+
  8+ 
S&**_	%+d ,0;?22 	2
 ??4(2  82 
/2r ,0;?22 	2
 ??4(2  82 
'2r ,0;?11 1
 ??4(1  81 
.1p ,0;?11 1
 ??4(1  81 
&1p ,0;?11 1
 ??4(1  81 
/1r$   r   c                      e Zd ZdefdZedefd       Zdddede	d	e
j                  e   defd
Zddddede	de
j                  e   d	e
j                  e   def
dZddddede	de
j                  e   d	e
j                  e   def
dZdddddddede
j                  e	   de
j                  e   de
j                  e   de
j                  e	   d	e
j                  e   defdZddd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
j                  e   defdZdddede	d	e
j                  e   defdZddded	e
j                  e   defdZddddede
j                  e   d	e
j                  e   defdZddded	e
j                  e   de fdZ!ddddede
j                  e   d	e
j                  e   de"fdZ#dddded e
j                  e	   d	e
j                  e   de
jH                  e	e
jJ                  f   fd!Z&ddddede	de
j                  e   d	e
j                  e   de'f
d"Z(ddddede	de
j                  e   d	e
j                  e   de)f
d#Z*ddddedede
j                  e   d	e
j                  e   de+f
d$Z,ddddedede
j                  e   d	e
j                  e   de-f
d%Z.ddddedede
j                  e   d	e
j                  e   de/f
d&Z0y)'AsyncStatsClientr   c                &    t        |      | _        y r   )r   r   r    s     r"   r#   zAsyncStatsClient.__init__N  s    .nMr$   r%   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawStatsClient
        r'   r(   s    r"   r)   z"AsyncStatsClient.with_raw_responseQ  r*   r$   Nr+   r-   r.   r,   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>
        Get agreement between a given model version and all annotators in the project for overlapping tasks.

        Parameters
        ----------
        id : int

        model_version : str

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

        Returns
        -------
        ModelVersionAnnotatorAgreementStatsResponse
            Model-version overall agreement vs annotators

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.model_version_annotator_agreement(
                id=1,
                model_version="model_version",
            )


        asyncio.run(main())
        r+   Nr0   r3   s        r"   r1   z2AsyncStatsClient.model_version_annotator_agreement\  sB     \ **LL M 
 
	 ~~
   "757r5   r6   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>
        Get agreement between a given model version and ground truth annotations in the project for overlapping tasks.

        Parameters
        ----------
        id : int

        model_version : str

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        ModelVersionGroundTruthAgreementStatsResponse
            Model-version ground truth agreement

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.model_version_ground_truth_agreement(
                id=1,
                model_version="model_version",
            )


        asyncio.run(main())
        r5   Nr8   r:   s         r"   r9   z5AsyncStatsClient.model_version_ground_truth_agreement  sD     l **OOO P 
 
	 ~~
   #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>
        Get agreement between a given model version and all other model versions in the project for overlapping tasks.

        Parameters
        ----------
        id : int

        model_version : str

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        ModelVersionPredictionAgreementStatsResponse
            Model-version prediction agreement

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.model_version_prediction_agreement(
                id=1,
                model_version="model_version",
            )


        asyncio.run(main())
        r5   Nr<   r:   s         r"   r=   z3AsyncStatsClient.model_version_prediction_agreement  sD     l **MMO N 
 
	 ~~
r   r>   r?   r@   rA   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>
        Get Inter-Annotator Agreement (IAA) matrix for a project, showing agreement between all annotators.

        Parameters
        ----------
        id : int

        expand : typing.Optional[str]
            Comma-separated list of fields to expand

        per_label : typing.Optional[bool]
            Calculate IAA per label

        std : typing.Optional[bool]
            Include standard deviation in results

        task : typing.Optional[str]
            Comma-separated list of task IDs to filter by

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

        Returns
        -------
        IaaStatsResponse
            Inter-Annotator Agreement matrix

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.iaa(
                id=1,
            )


        asyncio.run(main())
        r>   NrC   rE   s           r"   rD   zAsyncStatsClient.iaa  sH     | **..v$Xg / 
 
	 ~~
s   %:8:rF   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>
        Get ground truth agreement statistics for multiple users within a project.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of user IDs to get ground truth agreement for

        per_label : typing.Optional[bool]
            Per label

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

        Returns
        -------
        UsersGroundTruthAgreementStatsResponse
            Ground truth agreement statistics for multiple users

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.users_ground_truth_agreement(
                id=1,
                ids="ids",
            )


        asyncio.run(main())
        rH   NrI   rK   s         r"   rJ   z-AsyncStatsClient.users_ground_truth_agreementH  sD     n **GGC9o H 
 
	 ~~
r   rL   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>
        Get agreement statistics for a specific annotator within a project.

        Parameters
        ----------
        id : int

        user_id : int

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

        Returns
        -------
        AgreementAnnotatorStatsResponse
            Individual annotator agreement statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.agreement_annotator(
                id=1,
                user_id=1,
            )


        asyncio.run(main())
        r+   NrN   rP   s        r"   rO   z$AsyncStatsClient.agreement_annotator  s:     \ **>>r7\k>ll	~~ mr   c                r   K   | j                   j                  |||       d{   }|j                  S 7 w)aU  
        <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>
        Get agreement statistics for multiple annotators within a project.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of annotator user IDs to get agreement scores for

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

        Returns
        -------
        AgreementAnnotatorsStatsResponse
            Multiple annotator agreement statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.agreement_annotators(
                id=1,
                ids="ids",
            )


        asyncio.run(main())
        rR   NrS   rU   s        r"   rT   z%AsyncStatsClient.agreement_annotators  s:     ^ **??]l?mm	~~ nr   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>
        Get statistics about user data filters and their usage within a project.

        Parameters
        ----------
        id : int

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

        Returns
        -------
        DataFiltersStatsResponse
            User data filter statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.data_filters(
                id=1,
            )


        asyncio.run(main())
        r+   NrW   rY   s       r"   rX   zAsyncStatsClient.data_filters  s7     V **77O7\\	~~ ]   !646rZ   r[   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>
        Get statistics about finished tasks for a project.

        Parameters
        ----------
        id : int

        user_pk : typing.Optional[int]
            User ID to filter statistics by (optional)

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

        Returns
        -------
        FinishedTasksStatsResponse
            Finished tasks statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.finished_tasks(
                id=1,
            )


        asyncio.run(main())
        rZ   Nr]   r_   s        r"   r^   zAsyncStatsClient.finished_tasks  s:     \ **99"g_n9oo	~~ pr   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>
        Get lead time statistics across the project, including average annotation time.

        Parameters
        ----------
        id : int

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

        Returns
        -------
        LeadTimeStatsResponse
            Lead time statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.lead_time(
                id=1,
            )


        asyncio.run(main())
        r+   Nra   rY   s       r"   rb   zAsyncStatsClient.lead_timeF  s7     V **44R4YY	~~ Zr   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>
        Overall or per-label total agreement across the project.

        NOTE: due to an open issue in Fern, SDK clients will raise ApiError upon handling a 204 response. As a workaround, wrap call to this function in a try-except block.

        Parameters
        ----------
        id : int

        per_label : typing.Optional[bool]
            Return agreement per label

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

        Returns
        -------
        TotalAgreementStatsResponse
            Total agreement

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.total_agreement(
                id=1,
            )


        asyncio.run(main())
        r5   Nrd   rf   s        r"   re   z AsyncStatsClient.total_agreementt  s:     h **::2ds:tt	~~ ur   rg   rh   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>
        Start stats recalculation for given project

        Parameters
        ----------
        id : int

        stat_type : typing.Optional[str]
            Stat type to recalculate. Possible values: label, stats

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

        Returns
        -------
        typing.Dict[str, typing.Any]
            Successful response returns job id

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.update_stats(
                id=1,
            )


        asyncio.run(main())
        rg   Nrj   rl   s        r"   rk   zAsyncStatsClient.update_stats  s:     d **77iap7qq	~~ rr   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>
        Get prediction agreement statistics for multiple annotators within a project.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of annotator user IDs to get agreement scores for

        per_label : typing.Optional[bool]
            Per label

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

        Returns
        -------
        UsersPredictionAgreementStatsResponse
            Prediction agreement statistics for multiple annotators

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.users_prediction_agreement(
                id=1,
                ids="ids",
            )


        asyncio.run(main())
        rH   Nrn   rK   s         r"   ro   z+AsyncStatsClient.users_prediction_agreement  sD     n **EEC9o F 
 
	 ~~
r   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>
        Get review score and performance score statistics for multiple annotators within a project. Only allowed for accounts with reviewing features enabled.

        Parameters
        ----------
        id : int

        ids : str
            Comma separated list of annotator user IDs to get review scores for

        per_label : typing.Optional[bool]
            Per label

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

        Returns
        -------
        UsersReviewScoreStatsResponse
            Review scores and performance scores for multiple annotators

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.users_review_score(
                id=1,
                ids="ids",
            )


        asyncio.run(main())
        rH   Nrq   rK   s         r"   rr   z#AsyncStatsClient.users_review_score  sC     n **==C9o > 
 
	 ~~
r   c                t   K   | j                   j                  ||||       d{   }|j                  S 7 w)as  
        <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>
        Get prediction agreement statistics for a specific user within a project.

        Parameters
        ----------
        id : int

        user_pk : int

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        UserPredictionAgreementStatsResponse
            Individual user prediction agreement statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.user_prediction_agreement(
                id=1,
                user_pk=1,
            )


        asyncio.run(main())
        r5   Nrt   rv   s         r"   ru   z*AsyncStatsClient.user_prediction_agreementX  sD     l **DD9o E 
 
	 ~~
r   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>
        Get review score statistics for a specific user within a project. Only allowed for accounts with reviewing features enabled.

        Parameters
        ----------
        id : int

        user_pk : int

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        UserReviewScoreStatsResponse
            Individual user review score statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.user_review_score(
                id=1,
                user_pk=1,
            )


        asyncio.run(main())
        r5   Nrx   rv   s         r"   ry   z"AsyncStatsClient.user_review_score  sC     l **<<9o = 
 
	 ~~
r   c                t   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>
        Get ground truth agreement statistics for a specific user within a project.

        Parameters
        ----------
        id : int

        user_pk : int

        per_label : typing.Optional[bool]
            Calculate agreement per label

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

        Returns
        -------
        UserGroundTruthAgreementStatsResponse
            Individual user ground truth agreement statistics

        Examples
        --------
        import asyncio

        from label_studio_sdk import AsyncLabelStudio

        client = AsyncLabelStudio(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.projects.stats.user_ground_truth_agreement(
                id=1,
                user_pk=1,
            )


        asyncio.run(main())
        r5   Nr{   rv   s         r"   r|   z,AsyncStatsClient.user_ground_truth_agreement  sD     l **FF9o G 
 
	 ~~
r   )1r}   r~   r   r   r#   r   r   r)   r   r   r   r   r   r   r1   r   r   r9   r   r=   r   rD   r   rJ   r
   rO   r   rT   r   rX   r   r^   r   rb   r   re   r   r   rk   r   ro   r   rr   r   ru   r   ry   r   r|   r   r$   r"   r   r   M  s   N*< N  #6     bf11&)1?E~?^1	41p ,0;?99 9
 ??4(9  89 
79@ ,0;?99 9
 ??4(9  89 
69~ (,+/%)%);?AA $	A
 ??4(A __T"A ooc"A  8A 
AP ,0;?:: 	:
 ??4(:  8: 
0:z \`// #/9?9X/	(/d X\00"05;__^5T0	)0f NR,,+1??>+J,	!,^ ;?sw//#)??3#7/QWQ`Q`aoQp/	#/d NR,,+1??>+J,	,d ,0;?55 ??4(	5
  85 
%5v +/;?33 ??3'	3
  83 
S&**_	%3t ,0;?:: 	:
 ??4(:  8: 
/:B ,0;?:: 	:
 ??4(:  8: 
':B ,0;?99 9
 ??4(9  89 
.9@ ,0;?99 9
 ??4(9  89 
&9@ ,0;?99 9
 ??4(9  89 
/9r$   r   )+r   core.client_wrapperr   r   core.request_optionsr   
raw_clientr   r	   (types.agreement_annotator_stats_responser
   )types.agreement_annotators_stats_responser   !types.data_filters_stats_responser   #types.finished_tasks_stats_responser   types.iaa_stats_responser   types.lead_time_stats_responser   6types.model_version_annotator_agreement_stats_responser   9types.model_version_ground_truth_agreement_stats_responser   7types.model_version_prediction_agreement_stats_responser   $types.total_agreement_stats_responser   0types.user_ground_truth_agreement_stats_responser   .types.user_prediction_agreement_stats_responser   &types.user_review_score_stats_responser   1types.users_ground_truth_agreement_stats_responser   /types.users_prediction_agreement_stats_responser   'types.users_review_score_stats_responser   r   r   r   r$   r"   <module>r      s\     H 2 ; U W G K 6 A o t q M c ` P e b Rp pfz zr$   