
    j%                         d dl Z d dlZd dlmZmZ  ej
                  e      Z	 	 ddeg ef   dee	   dee   de	ddf
dZ
	 	 	 dd	eg ef   d
e	de	dedef
dZy)    N)CallableOptionalcheck_functiontimeoutprogress_callback
sleep_timereturnc                    |rt        j                          |z   n
t        d      } |        du rt        j                          |k  r| |        t        j                          |z   } |        du rPt        j                          |k  r9t        j                  |dz          |        du rt        j                          |k  r9 |        du rt        j                          |k  ryyyy)zJ
    Wait up to TIMEOUT seconds for the check function to return True
    infFNg      4@)timefloatsleep)r   r   r   r   end_timeend_sleep_times         m/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/synchronization.pywait_for_doner   	   s     )0tyy{W$U5\H

e
#		h(>( z1%'DIIK.,HJJzD() %'DIIK.,H 
e
#		h(>
#(>
#    functionr   max_try_secondsallow_errorsc                    t        j                          }	 	  |        ry	 t        j                          |z
  |kD  ryt        j
                  |       ;# t        $ r* t        j                  | j                   dd       |s Y cw xY w)zN
    Call a function until it returns True or max_try_seconds is reached.
    Tz" raised error in 'until' function.)exc_infoF)r   	ExceptionLOGGERdebug__name__r   )r   r   r   r   
start_times        r   untilr      s     J
	z  IIK*$7

5   	LL$$%%GHSW      		s   A 0BB)N   )g?
   F)r   loggingtypingr   r   	getLoggerr   r   boolr   r   r    r   r   <module>r&      s      % 
		8	$ -1	*RX&*e_*  )* 	*
 
*. 	r4x   	
 
r   