
    dhA                    l   d dl mZ d dlmZ d dlmZ d dlZddlmZ ddl	m
Z
mZmZmZ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mZ ddlmZmZ ddlmZ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gZ) G d de      Z* G d de      Z+ G d d      Z, G d d      Z- G d d      Z. G d d      Z/y)    )annotations)List)LiteralN   )_legacy_response)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncPage	AsyncPage)AsyncPaginatormake_request_options)permission_create_paramspermission_retrieve_params)PermissionCreateResponse)PermissionDeleteResponse)PermissionRetrieveResponsePermissionsAsyncPermissionsc            	          e Zd Zed	d       Zed
d       Zddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZeeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZ	y)r   c                    t        |       S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
        )PermissionsWithRawResponseselfs    y/var/www/html/lionshead-backend/venv/lib/python3.12/site-packages/openai/resources/fine_tuning/checkpoints/permissions.pywith_raw_responsezPermissions.with_raw_response   s     *$//    c                    t        |       S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/openai/openai-python#with_streaming_response
        ) PermissionsWithStreamingResponser#   s    r%   with_streaming_responsez#Permissions.with_streaming_response(   s     055r'   Nextra_headersextra_query
extra_bodytimeoutc                   |st        d|      | j                  d| dt        t           t	        d|it
        j                        t        ||||      t        d      S a?  
        **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys).

        This enables organization owners to share fine-tuned models with other projects
        in their organization.

        Args:
          project_ids: The project identifiers to grant access to.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        JExpected a non-empty value for `fine_tuned_model_checkpoint` but received /fine_tuning/checkpoints//permissionsproject_idsr,   post)pagebodyoptionsmodelmethod)
ValueError_get_api_listr   r   r   r   PermissionCreateParamsr   r$   fine_tuned_model_checkpointr6   r-   r.   r/   r0   s          r%   createzPermissions.create1   s    : +\]x\{|  !!'(C'DLQ23 -!=?W?n?no(+Q[el + " 	
 		
r'   afterlimitorder
project_idr-   r.   r/   r0   c                   |st        d|      | j                  d| dt        ||||	t        ||||dt        j
                              t              S )  
        **NOTE:** This endpoint requires an [admin API key](../admin-api-keys).

        Organization owners can use this endpoint to view all permissions for a
        fine-tuned model checkpoint.

        Args:
          after: Identifier for the last permission ID from the previous pagination request.

          limit: Number of permissions to retrieve.

          order: The order in which to retrieve permissions.

          project_id: The ID of the project to get permissions for.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r3   r4   r5   rD   rE   rF   rG   r-   r.   r/   r0   queryr:   cast_to)r=   _getr   r   r   PermissionRetrieveParamsr   
r$   rA   rD   rE   rF   rG   r-   r.   r/   r0   s
             r%   retrievezPermissions.retrieve]   s    L +\]x\{|  yy'(C'DLQ(+'%%!&!&!&&0	 /GG /#  
 	
r'   c          	     t    |st        d|      | j                  d| dt        ||||      t              S )  
        **NOTE:** This endpoint requires an [admin API key](../admin-api-keys).

        Organization owners can use this endpoint to delete a permission for a
        fine-tuned model checkpoint.

        Args:
          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r3   r4   r5   r,   rM   r=   _deleter   r   r$   rA   r-   r.   r/   r0   s         r%   deletezPermissions.delete   s^    4 +\]x\{|  ||'(C'DLQ(+Q[el -  
 	
r'   )returnr"   )rY   r*   )rA   strr6   	List[str]r-   Headers | Noner.   Query | Noner/   Body | Noner0   'float | httpx.Timeout | None | NotGivenrY   z"SyncPage[PermissionCreateResponse]rA   rZ   rD   str | NotGivenrE   zint | NotGivenrF   z-Literal['ascending', 'descending'] | NotGivenrG   ra   r-   r\   r.   r]   r/   r^   r0   r_   rY   r   rA   rZ   r-   r\   r.   r]   r/   r^   r0   r_   rY   r   
__name__
__module____qualname__r   r&   r+   r   rB   rR   rX    r'   r%   r   r      sQ   0 0 6 6 )-$("&;D*
%(*
 	*
 &*
 "*
  *
 9*
 
,*
` !* )?H%. )-$("&;D<
%(<
 	<

 <
 =<
 #<
 &<
 "<
  <
 9<
 
$<
H )-$("&;D$
%($
 &$
 "$
  $
 9$
 
"$
r'   c            	          e Zd Zed	d       Zed
d       Zddded	 	 	 	 	 	 	 	 	 	 	 	 	 ddZeeeeddded	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddded	 	 	 	 	 	 	 	 	 	 	 ddZ	y)r   c                    t        |       S r!   )AsyncPermissionsWithRawResponser#   s    r%   r&   z"AsyncPermissions.with_raw_response   s     /t44r'   c                    t        |       S r)   )%AsyncPermissionsWithStreamingResponser#   s    r%   r+   z(AsyncPermissions.with_streaming_response   s     5T::r'   Nr,   c                   |st        d|      | j                  d| dt        t           t	        d|it
        j                        t        ||||      t        d      S r2   )r=   r>   r   r   r   r   r?   r   r@   s          r%   rB   zAsyncPermissions.create   s    : +\]x\{|  !!'(C'DLQ34 -!=?W?n?no(+Q[el + " 	
 		
r'   rC   c                  K   |st        d|      | j                  d| dt        ||||	t        ||||dt        j
                         d{         t               d{   S 7 7 w)rI   r3   r4   r5   rJ   NrK   rM   )r=   rO   r   r   r   rP   r   rQ   s
             r%   rR   zAsyncPermissions.retrieve  s     L +\]x\{|  YY'(C'DLQ(+'%1!&!&!&&0	 /GG  /#  
 
 	

s$   AA.A*A.%A,&A.,A.c          	        K   |st        d|      | j                  d| dt        ||||      t               d{   S 7 w)rT   r3   r4   r5   r,   rM   NrU   rW   s         r%   rX   zAsyncPermissions.delete@  sl     4 +\]x\{|  \\'(C'DLQ(+Q[el - " 
 
 	
 
s   =AA A)rY   rj   )rY   rl   )rA   rZ   r6   r[   r-   r\   r.   r]   r/   r^   r0   r_   rY   zMAsyncPaginator[PermissionCreateResponse, AsyncPage[PermissionCreateResponse]]r`   rb   rc   rg   r'   r%   r   r      sR   5 5 ; ; )-$("&;D*
%(*
 	*
 &*
 "*
  *
 9*
 
W*
` !* )?H%. )-$("&;D<
%(<
 	<

 <
 =<
 #<
 &<
 "<
  <
 9<
 
$<
H )-$("&;D$
%($
 &$
 "$
  $
 9$
 
"$
r'   c                      e Zd ZddZy)r"   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        y N)_permissionsr   to_raw_response_wrapperrB   rR   rX   r$   permissionss     r%   __init__z#PermissionsWithRawResponse.__init__h  s_    '&>>
 )@@  
 '>>
r'   Nrv   r   rY   Nonerd   re   rf   rw   rg   r'   r%   r"   r"   g      
r'   r"   c                      e Zd ZddZy)rj   c                    || _         t        j                  |j                        | _        t        j                  |j                        | _        t        j                  |j
                        | _        y rr   )rs   r   async_to_raw_response_wrapperrB   rR   rX   ru   s     r%   rw   z(AsyncPermissionsWithRawResponse.__init__w  s_    '&DD
 )FF  
 'DD
r'   Nrv   r   rY   ry   rz   rg   r'   r%   rj   rj   v  r{   r'   rj   c                      e Zd ZddZy)r*   c                    || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        y rr   )rs   r   rB   rR   rX   ru   s     r%   rw   z)PermissionsWithStreamingResponse.__init__  sM    '2
 5  
 3
r'   Nrx   rz   rg   r'   r%   r*   r*     r{   r'   r*   c                      e Zd ZddZy)rl   c                    || _         t        |j                        | _        t        |j                        | _        t        |j                        | _        y rr   )rs   r   rB   rR   rX   ru   s     r%   rw   z.AsyncPermissionsWithStreamingResponse.__init__  sM    '8
 ;  
 9
r'   Nr   rz   rg   r'   r%   rl   rl     r{   r'   rl   )0
__future__r   typingr   typing_extensionsr   httpx r   _typesr   r	   r
   r   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _base_clientr   r   types.fine_tuning.checkpointsr   r   8types.fine_tuning.checkpoints.permission_create_responser   8types.fine_tuning.checkpoints.permission_delete_responser   :types.fine_tuning.checkpoints.permission_retrieve_responser   __all__r   r   r"   rj   r*   rl   rg   r'   r%   <module>r      s    #  %  ! @ @ ( ; Z . A b a a e,
-b
/ b
Jb
' b
J
 

 

 

 
r'   