
    _jW                    l   S SK Jr  S SKJr  S SKJr  S SKrSSKJr  SSK	J
r
Jr  SSKJrJrJrJrJrJrJr  SS	KJrJrJr  SS
KJr  SSKJrJr  SSKJrJr  SSK J!r!J"r"  SSK#J$r$  SSK%J&r&J'r'  SSK(J)r)  SS/r* " S S\5      r+ " S S\5      r, " S S5      r- " S S5      r. " S S5      r/ " S S5      r0g)    )annotations)Optional)LiteralN   )_legacy_response)batch_list_paramsbatch_create_params)BodyOmitQueryHeadersNotGivenomit	not_given)path_templatemaybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncCursorPageAsyncCursorPage)Batch)AsyncPaginatormake_request_options)MetadataBatchesAsyncBatchesc                     \ rS rSrSr\SS j5       r\SS j5       r\\SSS\	S.                   SS jjr
SSS\	S.           SS	 jjr\\SSS\	S
.             SS jjrSSS\	S.           SS jjrSrg)r      ;Create large batches of API requests to run asynchronously.c                    [        U 5      $ z
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
)BatchesWithRawResponseselfs    M/home/rurouni/.local/lib/python3.13/site-packages/openai/resources/batches.pywith_raw_responseBatches.with_raw_response   s     &d++    c                    [        U 5      $ 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
)BatchesWithStreamingResponser'   s    r)   with_streaming_responseBatches.with_streaming_response&   s     ,D11r,   Nmetadataoutput_expires_afterextra_headersextra_query
extra_bodytimeoutc       	            U R                  S[        UUUUUS.[        R                  5      [	        UUUU	SS0S9[
        S9$ )  
Creates and executes a batch from an uploaded file of requests

Args:
  completion_window: The time frame within which the batch should be processed. Currently only `24h`
      is supported.

  endpoint: The endpoint to be used for all requests in the batch. Currently
      `/v1/responses`, `/v1/chat/completions`, `/v1/embeddings`, `/v1/completions`,
      `/v1/moderations`, `/v1/images/generations`, `/v1/images/edits`, and
      `/v1/videos` are supported. Note that `/v1/embeddings` batches are also
      restricted to a maximum of 50,000 embedding inputs across all requests in the
      batch.

  input_file_id: The ID of an uploaded file that contains requests for the new batch.

      See [upload file](https://platform.openai.com/docs/api-reference/files/create)
      for how to upload a file.

      Your input file must be formatted as a
      [JSONL file](https://platform.openai.com/docs/api-reference/batch/request-input),
      and must be uploaded with the purpose `batch`. The file can contain up to 50,000
      requests, and can be up to 200 MB in size.

  metadata: Set of 16 key-value pairs that can be attached to an object. This can be useful
      for storing additional information about the object in a structured format, and
      querying for objects via API or the dashboard.

      Keys are strings with a maximum length of 64 characters. Values are strings with
      a maximum length of 512 characters.

  output_expires_after: The expiration policy for the output and/or error file that are generated for a
      batch.

  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
/batchescompletion_windowendpointinput_file_idr3   r4   bearer_authTr5   r6   r7   r8   securitybodyoptionscast_to)_postr   r	   BatchCreateParamsr   r   
r(   r=   r>   r?   r3   r4   r5   r6   r7   r8   s
             r)   createBatches.create/   sh    D zz ): (%2 (,@ $55	 )+'%'. '  
 	
r,   r5   r6   r7   r8   c                   U(       d  [        SU< 35      eU R                  [        SUS9[        UUUUSS0S9[        S9$ )  
Retrieves a batch.

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
7Expected a non-empty value for `batch_id` but received /batches/{batch_id}batch_idr@   TrA   rE   rF   
ValueError_getr   r   r   r(   rR   r5   r6   r7   r8   s         r)   retrieveBatches.retrieve   s^    . VW_Vbcddyy/(C(+'%'.   

 
	
r,   afterlimitr5   r6   r7   r8   c                   U R                  S[        [           [        UUUU[	        UUS.[
        R                  5      SS0S9[        S9$ a  List your organization's batches.

Args:
  after: A cursor for use in pagination.

`after` is an object ID that defines your place
      in the list. For instance, if you make a list request and receive 100 objects,
      ending with obj_foo, your subsequent call can include after=obj_foo in order to
      fetch the next page of the list.

  limit: A limit on the number of objects to be returned. Limit can range between 1 and
      100, and the default is 20.

  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
r;   )r[   r\   r@   T)r5   r6   r7   r8   queryrB   )pagerE   model)_get_api_listr   r   r   r   r   BatchListParamsr(   r[   r\   r5   r6   r7   r8   s          r)   listBatches.list   si    B !!&(+'%%!&!& &55 (. # " 
 	
r,   c                   U(       d  [        SU< 35      eU R                  [        SUS9[        UUUUSS0S9[        S9$ )  Cancels an in-progress batch.

The batch will be in status `cancelling` for up to
10 minutes, before changing to `cancelled`, where it will have partial results
(if any) available in the output file.

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
rO   /batches/{batch_id}/cancelrQ   r@   TrA   rS   rU   rG   r   r   r   rW   s         r)   cancelBatches.cancel   s^    4 VW_Vbcddzz6J(+'%'.   

 
	
r,    )returnr&   )rn   r/   r=   zLiteral['24h']r>   zLiteral['/v1/responses', '/v1/chat/completions', '/v1/embeddings', '/v1/completions', '/v1/moderations', '/v1/images/generations', '/v1/images/edits', '/v1/videos']r?   strr3   zOptional[Metadata] | Omitr4   z-batch_create_params.OutputExpiresAfter | Omitr5   Headers | Noner6   Query | Noner7   Body | Noner8   'float | httpx.Timeout | None | NotGivenrn   r   rR   rp   r5   rq   r6   rr   r7   rs   r8   rt   rn   r   )r[   
str | Omitr\   
int | Omitr5   rq   r6   rr   r7   rs   r8   rt   rn   zSyncCursorPage[Batch]__name__
__module____qualname____firstlineno____doc__r   r*   r0   r   r   rJ   rX   re   rk   __static_attributes__rm   r,   r)   r   r      s   E, , 2 2. /3NR )-$("&;D-V
 *V
	
	V
 V
 ,V
  L!V
& &'V
( ")V
*  +V
, 9-V
. 
/V
| )-$("&;D#
#
 &#
 "#
  #
 9#
 
#
P !  )-$("&;D3
 3
 	3
 &3
 "3
  3
 93
 
3
v )-$("&;D&
&
 &&
 "&
  &
 9&
 
&
 &
r,   c                     \ rS rSrSr\SS j5       r\SS j5       r\\SSS\	S.                   SS jjr
SSS\	S.           SS	 jjr\\SSS\	S
.             SS jjrSSS\	S.           SS jjrSrg)r    i
  r#   c                    [        U 5      $ r%   )AsyncBatchesWithRawResponser'   s    r)   r*   AsyncBatches.with_raw_response  s     +400r,   c                    [        U 5      $ r.   )!AsyncBatchesWithStreamingResponser'   s    r)   r0   $AsyncBatches.with_streaming_response  s     166r,   Nr2   c       	           #    U R                  S[        UUUUUS.[        R                  5      I Sh  vN [	        UUUU	SS0S9[
        S9I Sh  vN $  N! N7f)r:   r;   r<   Nr@   TrA   rC   )rG   r   r	   rH   r   r   rI   s
             r)   rJ   AsyncBatches.create   s     D ZZ,): (%2 (,@ $55	 	 )+'%'. '   
 
 	
	
s!   0AA
AAAArL   c                  #    U(       d  [        SU< 35      eU R                  [        SUS9[        UUUUSS0S9[        S9I Sh  vN $  N7f)	rN   rO   rP   rQ   r@   TrA   rS   NrT   rW   s         r)   rX   AsyncBatches.retrievex  sk     . VW_VbcddYY/(C(+'%'.   

 

 
	
 

   AAAArZ   c                   U R                  S[        [           [        UUUU[	        UUS.[
        R                  5      SS0S9[        S9$ r^   )rb   r   r   r   r   r   rc   rd   s          r)   re   AsyncBatches.list  si    B !! '(+'%%!&!& &55 (. # " 
 	
r,   c                  #    U(       d  [        SU< 35      eU R                  [        SUS9[        UUUUSS0S9[        S9I Sh  vN $  N7f)	rh   rO   ri   rQ   r@   TrA   rS   Nrj   rW   s         r)   rk   AsyncBatches.cancel  sk     4 VW_VbcddZZ6J(+'%'.    

 

 
	
 

r   rm   )rn   r   )rn   r   ro   ru   )r[   rv   r\   rw   r5   rq   r6   rr   r7   rs   r8   rt   rn   z-AsyncPaginator[Batch, AsyncCursorPage[Batch]]rx   rm   r,   r)   r    r    
  s   E1 1 7 7. /3NR )-$("&;D-V
 *V
	
	V
 V
 ,V
  L!V
& &'V
( ")V
*  +V
, 9-V
. 
/V
| )-$("&;D#
#
 &#
 "#
  #
 9#
 
#
P !  )-$("&;D3
 3
 	3
 &3
 "3
  3
 93
 
73
v )-$("&;D&
&
 &&
 "&
  &
 9&
 
&
 &
r,   c                      \ rS rSrSS jrSrg)r&   i  c                8   Xl         [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR
                  5      U l        [        R                  " UR                  5      U l        g N)_batchesr   to_raw_response_wrapperrJ   rX   re   rk   r(   batchess     r)   __init__BatchesWithRawResponse.__init__  ss    &>>NN
 )@@
 %<<LL
	 '>>NN
r,   r   rk   rJ   re   rX   Nr   r   rn   Nonery   rz   r{   r|   r   r~   rm   r,   r)   r&   r&         
r,   r&   c                      \ rS rSrSS jrSrg)r   i  c                8   Xl         [        R                  " UR                  5      U l        [        R                  " UR                  5      U l        [        R                  " UR
                  5      U l        [        R                  " UR                  5      U l        g r   )r   r   async_to_raw_response_wrapperrJ   rX   re   rk   r   s     r)   r   $AsyncBatchesWithRawResponse.__init__  ss    &DDNN
 )FF
 %BBLL
	 'DDNN
r,   r   Nr   r    rn   r   r   rm   r,   r)   r   r     r   r,   r   c                      \ rS rSrSS jrSrg)r/   i  c                    Xl         [        UR                  5      U l        [        UR                  5      U l        [        UR                  5      U l        [        UR
                  5      U l        g r   )r   r   rJ   rX   re   rk   r   s     r)   r   %BatchesWithStreamingResponse.__init__   s[    2NN
 5
 1LL
	 3NN
r,   r   Nr   r   rm   r,   r)   r/   r/     r   r,   r/   c                      \ rS rSrSS jrSrg)r   i1  c                    Xl         [        UR                  5      U l        [        UR                  5      U l        [        UR                  5      U l        [        UR
                  5      U l        g r   )r   r   rJ   rX   re   rk   r   s     r)   r   *AsyncBatchesWithStreamingResponse.__init__2  s[    8NN
 ;
 7LL
	 9NN
r,   r   Nr   r   rm   r,   r)   r   r   1  r   r,   r   )1
__future__r   typingr   typing_extensionsr   httpx r   typesr   r	   _typesr
   r   r   r   r   r   r   _utilsr   r   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   types.batchr   _base_clientr   r   types.shared_params.metadatar   __all__r   r    r&   r   r/   r   rm   r,   r)   <module>r      s    #  %   : J J J J J % 9 X 8  ? 3n
%n
o n
bn
# n
b
 
$
 
$
 
$
 
r,   