
    j+.                         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mZ  G d
 d      Z G d d      Zy)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)BiInformationResponse)SpansCountResponse)TraceCountResponse   )AsyncRawSystemUsageClientRawSystemUsageClientc                   N   e Zd ZdefdZedefd       Zdddej                  e
   defdZdddej                  e
   defd	Zdddej                  e
   defd
Zdddej                  e
   defdZdddej                  e
   defdZdddej                  e
   defdZy)SystemUsageClientclient_wrapperc                &    t        |      | _        y N)r   )r   _raw_clientselfr   s     z/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/rest_api/system_usage/client.py__init__zSystemUsageClient.__init__   s    /~N    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawSystemUsageClient
        r   r   s    r   with_raw_responsez#SystemUsageClient.with_raw_response        r   Nrequest_optionsr   c                R    | j                   j                  |      }|j                  S )a  
        Get datasets information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Datasets BiInformationResponse resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.system_usage.get_dataset_bi_info()
        r   r   get_dataset_bi_infodatar   r   	_responses      r   r"   z%SystemUsageClient.get_dataset_bi_info   s'    ( $$888Y	~~r   c                R    | j                   j                  |      }|j                  S )a'  
        Get experiments information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Experiments BiInformationResponse resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.system_usage.get_experiment_bi_info()
        r   r   get_experiment_bi_infor#   r$   s      r   r(   z(SystemUsageClient.get_experiment_bi_info3   s'    , $$;;O;\	~~r   c                R    | j                   j                  |      }|j                  S )a  
        Get spans information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Spans BiInformationResponse resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.system_usage.get_spans_bi_info()
        r   r   get_spans_bi_infor#   r$   s      r   r+   z#SystemUsageClient.get_spans_bi_infoL   s'    ( $$666W	~~r   c                R    | j                   j                  |      }|j                  S )a  
        Get spans count on previous day for all available workspaces

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

        Returns
        -------
        SpansCountResponse
            SpanCountResponse resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.system_usage.get_spans_count_for_workspaces()
        r   r   get_spans_count_for_workspacesr#   r$   s      r   r.   z0SystemUsageClient.get_spans_count_for_workspacesc   s(    , $$CCTcCd	~~r   c                R    | j                   j                  |      }|j                  S )a  
        Get traces information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Traces BiInformationResponse resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.system_usage.get_traces_bi_info()
        r   r   get_traces_bi_infor#   r$   s      r   r1   z$SystemUsageClient.get_traces_bi_info|   s'    ( $$777X	~~r   c                R    | j                   j                  |      }|j                  S )a  
        Get traces count on previous day for all available workspaces

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

        Returns
        -------
        TraceCountResponse
            TraceCountResponse resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.system_usage.get_traces_count_for_workspaces()
        r   r   get_traces_count_for_workspacesr#   r$   s      r   r4   z1SystemUsageClient.get_traces_count_for_workspaces   s(    , $$DDUdDe	~~r   )__name__
__module____qualname__r   r   propertyr   r   typingOptionalr   r   r"   r(   r+   r   r.   r1   r	   r4    r   r   r   r      s   O*; O  #7     Y] foon6U av 0 EI"(//."A	2 W[ FOON4S _t 0 EI"(//."A	2 X\ V__^5T `u 0 EI"(//."A	r   r   c                   N   e Zd ZdefdZedefd       Zdddej                  e
   defdZdddej                  e
   defd	Zdddej                  e
   defd
Zdddej                  e
   defdZdddej                  e
   defdZdddej                  e
   defdZy)AsyncSystemUsageClientr   c                &    t        |      | _        y r   )r   r   r   s     r   r   zAsyncSystemUsageClient.__init__   s    4NSr   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawSystemUsageClient
        r   r   s    r   r   z(AsyncSystemUsageClient.with_raw_response   r   r   Nr   r   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a  
        Get datasets information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Datasets BiInformationResponse resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.system_usage.get_dataset_bi_info()
        asyncio.run(main())
        r   Nr!   r$   s      r   r"   z*AsyncSystemUsageClient.get_dataset_bi_info   s4     2 **>>>__	~~ `    535c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a  
        Get experiments information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Experiments BiInformationResponse resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.system_usage.get_experiment_bi_info()
        asyncio.run(main())
        r   Nr'   r$   s      r   r(   z-AsyncSystemUsageClient.get_experiment_bi_info   s5     2 **AARaAbb	~~ crA   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a  
        Get spans information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Spans BiInformationResponse resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.system_usage.get_spans_bi_info()
        asyncio.run(main())
        r   Nr*   r$   s      r   r+   z(AsyncSystemUsageClient.get_spans_bi_info   s4     2 **<<_<]]	~~ ^rA   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a  
        Get spans count on previous day for all available workspaces

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

        Returns
        -------
        SpansCountResponse
            SpanCountResponse resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.system_usage.get_spans_count_for_workspaces()
        asyncio.run(main())
        r   Nr-   r$   s      r   r.   z5AsyncSystemUsageClient.get_spans_count_for_workspaces  s5     2 **IIZiIjj	~~ krA   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a  
        Get traces information for BI events per user per workspace

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

        Returns
        -------
        BiInformationResponse
            Traces BiInformationResponse resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.system_usage.get_traces_bi_info()
        asyncio.run(main())
        r   Nr0   r$   s      r   r1   z)AsyncSystemUsageClient.get_traces_bi_info,  s4     2 **==o=^^	~~ _rA   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a  
        Get traces count on previous day for all available workspaces

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

        Returns
        -------
        TraceCountResponse
            TraceCountResponse resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.system_usage.get_traces_count_for_workspaces()
        asyncio.run(main())
        r   Nr3   r$   s      r   r4   z6AsyncSystemUsageClient.get_traces_count_for_workspacesH  s5     2 **JJ[jJkk	~~ lrA   )r5   r6   r7   r   r   r8   r   r   r9   r:   r   r   r"   r(   r+   r   r.   r1   r	   r4   r;   r   r   r=   r=      s   T*< T  #<     EI"(//."A	: EI"(//."A	: EI"(//."A	: EI"(//."A	: EI"(//."A	: EI"(//."A	r   r=   )r9   core.client_wrapperr   r   core.request_optionsr   types.bi_information_responser   types.spans_count_responser   types.trace_count_responser	   
raw_clientr   r   r   r=   r;   r   r   <module>rM      s5     G 1 A ; ; G] ]@u ur   