
    ցj                         S r SSKJr  SSKJrJrJrJrJrJ	r	J
r
  SSKJr  SSKJr  SS/0r/ S	Qr " S
 S\5      r " S S\5      r " S S\5      rS r\r\rg)z~
`rich.progress` decorator for iterators.

Usage:
>>> from tqdm.rich import trange, tqdm
>>> for i in trange(10):
...     ...
    )warn)	BarColumnProgressProgressColumnTextTimeElapsedColumnTimeRemainingColumnfilesize   )TqdmExperimentalWarning)tqdmzgithub.com/	casperdcl)	tqdm_richtrranger   trangec                   6   ^  \ rS rSrSrSU 4S jjrS rSrU =r$ )FractionColumn   z*Renders completed/total, e.g. '0.5/2.3 G'.c                 :   > Xl         X l        [        TU ]  5         g N)
unit_scaleunit_divisorsuper__init__)selfr   r   	__class__s      C/mnt/workspace/venv-train/lib/python3.13/site-packages/tqdm/rich.pyr   FractionColumn.__init__   s    $(    c                    [        UR                  5      nUR                  b  [        UR                  5      OSnUb  UOUnU R                  (       a'  [        R
                  " U/ SQU R                  5      u  pVO[        R
                  " US/S5      u  pVUS:X  a  SOSnUb
  X5-  SU S3 OSn[        X%-  SU S3 S	U S
U 3SS9$ )z.Calculate common unit for completed and total.N	 KMGTPEZYr"   r   r   ,.f?/ zprogress.downloadstyle)int	completedtotalr   r
   pick_unit_and_suffixr   r   )	r   taskr3   r4   baseunitsuffix	precision	total_strs	            r   renderFractionColumn.render   s    '	#'::#9DJJt)uy??#88<!!LD& $88tQGLDA	6;6Guz"YKq1S	~b1_-Qyk6(C%' 	'r   )r   r   )F  	__name__
__module____qualname____firstlineno____doc__r   r<   __static_attributes____classcell__r   s   @r   r   r      s    4
' 'r   r   c                   6   ^  \ rS rSrSrSU 4S jjrS rSrU =r$ )
RateColumn1   z&Renders human readable transfer speed.c                 F   > Xl         X l        X0l        [        TU ]  5         g r   )r8   r   r   r   r   )r   r8   r   r   r   s       r   r   RateColumn.__init__3   s    	$(r   c                 P   UR                   nUc  [        SU R                   S3SS9$ U R                  (       a'  [        R
                  " U/ SQU R                  5      u  p4O[        R
                  " US/S5      u  p4US:X  a  SOSn[        X#-  S	U S
3 SU U R                   S3SS9$ )zShow data transfer speed.z? z/szprogress.data.speedr0   r!   r"   r   r   r+   r,   r/   )speedr   r8   r   r
   r5   r   )r   r6   rN   r8   r9   r:   s         r   r<   RateColumn.render9   s    

="TYYKr*2GHH??#88<!!LD& $88aHLDA	uz"YKq16(499+RH/1 	1r   )r8   r   r   )r"   Fr>   r?   rG   s   @r   rI   rI   1   s    01 1r   rI   c                   T   ^  \ rS rSrSrU 4S jrU 4S jrS rS rS	U 4S jjr	Sr
U =r$ )
r   K   z/Experimental rich.progress GUI version of tqdm!c                   > UR                  5       nSUS'   [        UR                  SS5      5      US'   UR                  SS5      nUR                  S0 5      R                  5       n[        TU ]  " U0 UD6  U R                  (       a  g[        S[        S	S
9  U R                  nUcC  S[        SS9[        US   US   S9S[        5       S[        5       S[        US   US   US   S9S4
nUR                  SU R                   (       + 5        [#        U0 UD6U l        U R$                  R'                  5         U R$                  R(                  " U R*                  =(       d    S40 UD6U l        g)a  
This class accepts the following parameters *in addition* to
the parameters accepted by `tqdm`.

Parameters
----------
progress  : tuple, optional
    arguments for `rich.progress.Progress()`.
options  : dict, optional
    keyword arguments for `rich.progress.Progress()`.
TguidisableFprogressNoptionszrich is experimental/alpha   )
stacklevelzU[progress.description]{task.description}[progress.percentage]{task.percentage:>4.0f}%)	bar_widthr   r   )r   r   [<,r8   )r8   r   r   ]	transientr"   )copyboolgetpopr   r   rT   r   r   format_dictr   r   r   r	   rI   
setdefaultleaver   _prog	__enter__add_taskdesc_task_id)r   argskwargsrU   rV   dr   s         r   r   tqdm_rich.__init__N   sR    u Iu!=>y::j$/**Y+002$)&)<<)+BqQ@D) Q~=NP&(#/B/DZQvY1\?-.~->@AD	H 	;DJJ7x373




++DIIOAqAr   c                    > U R                   (       a  g U R                  5         [        TU ]  5         U R                  R                  S S S 5        g r   )rT   displayr   closerf   __exit__)r   r   s    r   rq   tqdm_rich.closew   s5    <<

D$-r   c                     g r    r   ___s      r   cleartqdm_rich.clear~   s    r   c                     [        U S5      (       d  g U R                  R                  U R                  U R                  U R
                  S9  g )Nrj   )r3   description)hasattrrf   updaterj   nri   rv   s      r   rp   tqdm_rich.display   s7    tZ((

$--466tyyQr   c                 t   > [        U S5      (       a  U R                  R                  US9  [        TU ]	  US9  g)z
Resets to 0 iterations for repeated use.

Parameters
----------
total  : int or float, optional. Total to use for the new bar.
rf   )r4   N)r}   rf   resetr   )r   r4   r   s     r   r   tqdm_rich.reset   s5     4!!JJ5)E"r   )rf   rj   r   )r@   rA   rB   rC   rD   r   rq   ry   rp   r   rE   rF   rG   s   @r   r   r   K   s'    9'BR.R

# 
#r   r   c                  &    [        [        U 6 40 UD6$ )z6Shortcut for `tqdm.rich.tqdm(range(*args), **kwargs)`.)r   range)rk   rl   s     r   r   r      s    UD\,V,,r   N)rD   warningsr   rich.progressr   r   r   r   r   r	   r
   stdr   r   std_tqdm
__author____all__r   rI   r   r   r   ru   r   r   <module>r      sr    a a a ) !k]+

4'^ '81 14E# E#P- 	r   