
     jH                         d dl Z ddlmZ ddlm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  e j        e j        d          Z G d d          Z G d d          ZdS )    N   )Dataset)DatasetRunWithItems)AsyncClientWrapperSyncClientWrapper)RequestOptions   )AsyncRawDatasetsClientRawDatasetsClient)DeleteDatasetRunResponse)PaginatedDatasetRuns)PaginatedDatasets.c                   X   e Zd ZdefdZedefd            Zdddddej	        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eeeedddedej	        e         dej	        ej                 dej	        ej                 dej	        ej                 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ddedej	        e
         dej	        e
         d	ej	        e         def
dZdS )DatasetsClientclient_wrapperc                0    t          |          | _        d S N)r   )r   _raw_clientselfr   s     f/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/langfuse/api/datasets/client.py__init__zDatasetsClient.__init__   s    ,NKKK    returnc                     | j         S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawDatasetsClient
        r   r   s    r   with_raw_responsez DatasetsClient.with_raw_response        r   Npagelimitrequest_optionsr!   r"   r#   c                J    | j                             |||          }|j        S )aU  
        Get all datasets

        Parameters
        ----------
        page : typing.Optional[int]
            page number, starts at 1

        limit : typing.Optional[int]
            limit of items per page

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

        Returns
        -------
        PaginatedDatasets

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.datasets.list()
        r    r   listdatar   r!   r"   r#   	_responses        r   r&   zDatasetsClient.list!   s3    N $))UO * 
 
	 ~r   r#   dataset_namec                H    | j                             ||          }|j        S )a   
        Get a dataset

        Parameters
        ----------
        dataset_name : str

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

        Returns
        -------
        Dataset

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.datasets.get(
            dataset_name="datasetName",
        )
        r*   r   getr'   r   r+   r#   r)   s       r   r.   zDatasetsClient.getM   s(    H $(((WW	~r   descriptionmetadatainput_schemaexpected_output_schemar#   namer1   r2   r3   r4   c                P    | j                             ||||||          }|j        S )a  
        Create a dataset

        Parameters
        ----------
        name : str

        description : typing.Optional[str]

        metadata : typing.Optional[typing.Any]

        input_schema : typing.Optional[typing.Any]
            JSON Schema for validating dataset item inputs. When set, all new and existing dataset items will be validated against this schema.

        expected_output_schema : typing.Optional[typing.Any]
            JSON Schema for validating dataset item expected outputs. When set, all new and existing dataset items will be validated against this schema.

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

        Returns
        -------
        Dataset

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.datasets.create(
            name="name",
        )
        r5   r1   r2   r3   r4   r#   r   creater'   r   r5   r1   r2   r3   r4   r#   r)   s           r   r9   zDatasetsClient.createt   s>    d $++#%#9+ , 
 
	 ~r   run_namec                J    | j                             |||          }|j        S )aZ  
        Get a dataset run and its items

        Parameters
        ----------
        dataset_name : str

        run_name : str

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

        Returns
        -------
        DatasetRunWithItems

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.datasets.get_run(
            dataset_name="datasetName",
            run_name="runName",
        )
        r*   r   get_runr'   r   r+   r;   r#   r)   s        r   r>   zDatasetsClient.get_run   s3    P $,,(O - 
 
	 ~r   c                J    | j                             |||          }|j        S )a  
        Delete a dataset run and all its run items. This action is irreversible.

        Parameters
        ----------
        dataset_name : str

        run_name : str

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

        Returns
        -------
        DeleteDatasetRunResponse

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.datasets.delete_run(
            dataset_name="datasetName",
            run_name="runName",
        )
        r*   r   
delete_runr'   r?   s        r   rB   zDatasetsClient.delete_run   s3    P $//(O 0 
 
	 ~r   c                L    | j                             ||||          }|j        S )a  
        Get dataset runs

        Parameters
        ----------
        dataset_name : str

        page : typing.Optional[int]
            page number, starts at 1

        limit : typing.Optional[int]
            limit of items per page

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

        Returns
        -------
        PaginatedDatasetRuns

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.datasets.get_runs(
            dataset_name="datasetName",
        )
        r    r   get_runsr'   r   r+   r!   r"   r#   r)   s         r   rE   zDatasetsClient.get_runs
  s5    X $--t5/ . 
 
	 ~r   )__name__
__module____qualname__r   r   propertyr   r   typingOptionalintr   r   r&   strr   r.   OMITAnyr9   r   r>   r   rB   r   rE    r   r   r   r      s       L*; L L L L  #4       X  &*&*;?* * * oc"* s#	*
  8* 
* * * *` <@	% % %%  8	%
 
% % % %V -10448>B;?: : : : _S)	:
 /&*-: ofj1: !'
 ;:  8: 
: : : :B <@+ + ++ +
  8+ 
+ + + +d <@+ + ++ +
  8+ 
"+ + + +b &*&*;?/ / // oc"	/
 s#/  8/ 
/ / / / / /r   r   c                   X   e Zd ZdefdZedefd            Zdddddej	        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eeeedddedej	        e         dej	        ej                 dej	        ej                 dej	        ej                 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ddedej	        e
         dej	        e
         d	ej	        e         def
dZdS )AsyncDatasetsClientr   c                0    t          |          | _        d S r   )r
   r   r   s     r   r   zAsyncDatasetsClient.__init__=  s    1PPPr   r   c                     | j         S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawDatasetsClient
        r   r   s    r   r   z%AsyncDatasetsClient.with_raw_response@  r   r   Nr    r!   r"   r#   c                Z   K   | j                             |||           d{V }|j        S )a  
        Get all datasets

        Parameters
        ----------
        page : typing.Optional[int]
            page number, starts at 1

        limit : typing.Optional[int]
            limit of items per page

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

        Returns
        -------
        PaginatedDatasets

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


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


        asyncio.run(main())
        r    Nr%   r(   s        r   r&   zAsyncDatasetsClient.listK  sU      ^ *//UO 0 
 
 
 
 
 
 
 
	 ~r   r*   r+   c                X   K   | j                             ||           d{V }|j        S )av  
        Get a dataset

        Parameters
        ----------
        dataset_name : str

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

        Returns
        -------
        Dataset

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


        async def main() -> None:
            await client.datasets.get(
                dataset_name="datasetName",
            )


        asyncio.run(main())
        r*   Nr-   r/   s       r   r.   zAsyncDatasetsClient.get  sS      X *../ / 
 
 
 
 
 
 
 
	 ~r   r0   r5   r1   r2   r3   r4   c                `   K   | j                             ||||||           d{V }|j        S )a]  
        Create a dataset

        Parameters
        ----------
        name : str

        description : typing.Optional[str]

        metadata : typing.Optional[typing.Any]

        input_schema : typing.Optional[typing.Any]
            JSON Schema for validating dataset item inputs. When set, all new and existing dataset items will be validated against this schema.

        expected_output_schema : typing.Optional[typing.Any]
            JSON Schema for validating dataset item expected outputs. When set, all new and existing dataset items will be validated against this schema.

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

        Returns
        -------
        Dataset

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


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


        asyncio.run(main())
        r7   Nr8   r:   s           r   r9   zAsyncDatasetsClient.create  s`      t *11#%#9+ 2 
 
 
 
 
 
 
 
	 ~r   r;   c                Z   K   | j                             |||           d{V }|j        S )a  
        Get a dataset run and its items

        Parameters
        ----------
        dataset_name : str

        run_name : str

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

        Returns
        -------
        DatasetRunWithItems

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


        async def main() -> None:
            await client.datasets.get_run(
                dataset_name="datasetName",
                run_name="runName",
            )


        asyncio.run(main())
        r*   Nr=   r?   s        r   r>   zAsyncDatasetsClient.get_run  sU      ` *22(O 3 
 
 
 
 
 
 
 
	 ~r   c                Z   K   | j                             |||           d{V }|j        S )a  
        Delete a dataset run and all its run items. This action is irreversible.

        Parameters
        ----------
        dataset_name : str

        run_name : str

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

        Returns
        -------
        DeleteDatasetRunResponse

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


        async def main() -> None:
            await client.datasets.delete_run(
                dataset_name="datasetName",
                run_name="runName",
            )


        asyncio.run(main())
        r*   NrA   r?   s        r   rB   zAsyncDatasetsClient.delete_run)  sU      ` *55(O 6 
 
 
 
 
 
 
 
	 ~r   c                \   K   | j                             ||||           d{V }|j        S )a  
        Get dataset runs

        Parameters
        ----------
        dataset_name : str

        page : typing.Optional[int]
            page number, starts at 1

        limit : typing.Optional[int]
            limit of items per page

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

        Returns
        -------
        PaginatedDatasetRuns

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


        async def main() -> None:
            await client.datasets.get_runs(
                dataset_name="datasetName",
            )


        asyncio.run(main())
        r    NrD   rF   s         r   rE   zAsyncDatasetsClient.get_runs^  sW      h *33t5/ 4 
 
 
 
 
 
 
 
	 ~r   )rG   rH   rI   r   r   rJ   r
   r   rK   rL   rM   r   r   r&   rN   r   r.   rO   rP   r9   r   r>   r   rB   r   rE   rQ   r   r   rS   rS   <  s       Q*< Q Q Q Q  #9       X  &*&*;?2 2 2 oc"2 s#	2
  82 
2 2 2 2p <@	/ / //  8	/
 
/ / / /j -10448>B;?B B B B _S)	B
 /&*-B ofj1B !'
 ;B  8B 
B B B BR <@3 3 33 3
  83 
3 3 3 3t <@3 3 33 3
  83 
"3 3 3 3r &*&*;?7 7 77 oc"	7
 s#7  87 
7 7 7 7 7 7r   rS   )rK   commons.types.datasetr   $commons.types.dataset_run_with_itemsr   core.client_wrapperr   r   core.request_optionsr   
raw_clientr
   r   !types.delete_dataset_run_responser   types.paginated_dataset_runsr   types.paginated_datasetsr   castrP   rO   r   rS   rQ   r   r   <module>re      s0    + + + + + + F F F F F F G G G G G G G G 1 1 1 1 1 1 A A A A A A A A G G G G G G > > > > > > 7 7 7 7 7 7 v{6:s##g g g g g g g gT	Y Y Y Y Y Y Y Y Y Yr   