+
    IV-jÑ  ã                   ó¸   € R t ^ RIt ^ RIHt ^RIHt ^RIH	t	 ^RI
Ht RRR	./t. ROt ! R R
]4      t ! R R]4      tR t]t]tR#   ] d
    ]! R4      hi ; i)zâ
Sends updates to a Slack app.

Usage:
>>> from tqdm.contrib.slack import tqdm, trange
>>> for i in trange(10, token='{token}', channel='{channel}'):
...     ...

![screenshot](https://tqdm.github.io/img/screenshot-slack.png)
N)Ú	WebClientzPlease `pip install slack-sdk`)Útqdm)Úenvwrap)Ú
MonoWorkerzgithub.com/Ú	0x2b3bfa0Ú	casperdclÚSlackIOÚ
tqdm_slackc                   ó<   a a€ ] tR t^t oRtV 3R ltR tRtVtV ;t	# )r   z,Non-blocking file-like IO using a Slack app.c                óR  <€ \         SV `  4        \        VR7      V n        V P                  P
                  V n         V P                  P                  W P                  R7      V n        R#   \         d2   p\        P                  ! \        T4      4       RT n         Rp?R# Rp?ii ; i)z-Creates a new message in the given `channel`.)Útoken)ÚchannelÚtextN)ÚsuperÚ__init__r   ÚclientÚ	__class__Ú__name__r   Úchat_postMessageÚmessageÚ	ExceptionÚ	tqdm_autoÚwriteÚstr)Úselfr   r   Úer   s   &&& €Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/tqdm/contrib/slack.pyr   ÚSlackIO.__init__   sv   ø€ ä‰ÑÔÜ eÔ,ˆŒØ—N‘N×+Ñ+ˆŒ	ð	 ØŸ;™;×7Ñ7ÀÏiÉiÐ7ÓXˆDŽLøÜô 	 Ü�OŠOœC ›FÔ#ØˆD�LŠLûð	 ús   ½+A* Á*B&Á5&B!Â!B&c                óª  € V'       g   RpVP                  RR4      P                  4       pWP                  8X  d   R# V P                  pVf   R# Wn         V P	                  V P
                  P                  VR,          VR,          RV,           R,           R7      pV#   \         d+   p\        P                  ! \        T4      4        Rp?R# Rp?ii ; i)	z,Replaces internal `message`'s text with `s`.z...ÚÚ Nr   ÚtsÚ`)r   r!   r   )ÚreplaceÚstripr   r   Úsubmitr   Úchat_updater   r   r   r   )r   Úsr   Úfuturer   s   &&   r   r   ÚSlackIO.write'   s®   € çØˆAØ�I‰I�d˜BÓ×%Ñ%Ó'ˆØ—	‘	Œ>ÙØ—,‘,ˆØŠ?ÙØŒ	ð	Ø—[‘[ §¡×!8Ñ!8À'È)ÕBTØ$+¨D¥M¸¸a½À#½ð !ó GˆFð
 ˆMøô ô 	$Ü�OŠOœC ›F×#Ò#ûð	$ús   ÁAB ÂCÂ(CÃC)r   r   r   )
r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r      s   ù‡ € Ù6õ	 ÷ò ó    c                   óv   a a€ ] tR t^;t oRt]! RRRR7      RRRR/V 3R	 ll4       tV 3R
 ltV 3R ltRt	Vt
V ;t# )r	   a£  
Standard `tqdm.auto.tqdm` but also sends updates to a Slack app.
May take a few seconds to create (`__init__`).

- create a Slack app with the `chat:write` scope & invite it to a
  channel: <https://api.slack.com/authentication/basics>
- copy the bot `{token}` & `{channel}` and paste below
>>> from tqdm.contrib.slack import tqdm, trange
>>> for i in tqdm(iterable, token='{token}', channel='{channel}'):
...     ...
r   ÚslackT)Ú	is_methodr   Nr   c               ó:  <€ VP                  R4      '       gs   VP                  4       p\        P                  ! R4      P	                  \        P
                  4       \        W4      V n        \        RVP                  RR4      4      VR&   \        SV `(  ! V/ VB  R# )a3  
Parameters
----------
token  : str, required. Slack token
    [default: ${TQDM_SLACK_TOKEN}].
channel  : int, required. Slack channel
    [default: ${TQDM_SLACK_CHANNEL}].
mininterval  : float, optional.
  Minimum of [default: 1.5] to avoid rate limit.

See `tqdm.auto.tqdm.__init__` for other parameters.
ÚdisableÚ
HTTPClientg      ø?ÚminintervalN)ÚgetÚcopyÚloggingÚ	getLoggerÚsetLevelÚWARNINGr   ÚsioÚmaxr   r   )r   r   r   ÚargsÚkwargsr   s   &$$*,€r   r   Útqdm_slack.__init__G   sv   ø€ ð �z‰z˜)×$Ò$Ø—[‘[“]ˆFÜ×Ò˜lÓ+×4Ñ4´W·_±_ÔEÜ˜uÓ.ˆDŒHÜ$'¨¨V¯Z©Z¸ÀsÓ-KÓ$LˆF�=Ñ!Ü‰Ò˜$Ð) &Ô)r3   c                ó€  <€ \         SV `  ! R/ VB  V P                  pVP                  R R4      '       d.   VR ,          P	                  RR4      P	                  RR4      VR &   MV P
                  '       d   RVR &   VR,          RJ d   . ROVR&   R	VR
&   V P                  P                  V P                  ! R/ VB 4       R# )Ú
bar_formatNz<bar/>z
`{bar:10}`z{bar}z`{bar:10u}`z{l_bar}`{bar:10}`{r_bar}ÚasciiFiP  Úncols© )z:black_square:z:small_blue_diamond:z:large_blue_diamond:z:large_blue_square:)	r   ÚdisplayÚformat_dictr;   r#   ÚtotalrA   r   Úformat_meter)r   rD   Úfmtr   s   &, €r   rK   Útqdm_slack.display\   s­   ø€ Ü‰ŠÑ!˜&Ò!Ø×ÑˆØ�7‰7�< ×&Ò&Ø # LÕ 1× 9Ñ 9Ø˜,ó!(ß(/©°¸Ó(Gð �Òà�Z�ZˆZØ :ˆC�ÑØˆw�<˜5Ó ò3ˆC�‰LàˆC�‰LØ�‰�‰�t×(Ò(Ñ/¨3Ñ/Ö0r3   c                ó†   <€ \         SV `  ! V/ VB  V P                  '       g   V P                  P	                  R 4       R# R# )r    N)r   Úclearr8   rA   r   )r   rC   rD   r   s   &*,€r   rR   Útqdm_slack.clearj   s2   ø€ Ü‰Š�tÐ&˜vÒ&Ø�|�|ˆ|Ø�H‰H�N‰N˜2Öñ r3   )rA   )r   r*   r+   r,   r-   r   r   rK   rR   r.   r/   r0   r1   s   @@r   r	   r	   ;   sD   ù‡ € ñ
ñ ˆV�W¨Ô-ð* Dð *°$ö *ó .ð*õ(1÷õ r3   c                 ó(   € \        \        V !  3/ VB # )z?Shortcut for `tqdm.contrib.slack.tqdm(range(*args), **kwargs)`.)r	   Úrange)rC   rD   s   *,r   ÚtsrangerV   p   s   € ä”e˜T‘lÑ- fÑ-Ð-r3   )r   r	   rV   r   Útrange)r-   r=   Ú	slack_sdkr   ÚImportErrorÚautor   r   Úutilsr   Úutils_workerr   Ú
__author__Ú__all__r   r	   rV   rW   rJ   r3   r   Ú<module>r_      s   ðñ	ó ð8Ý#õ %Ý Ý $à˜k¨;Ð7Ð8€
Ú
@€ôˆjô ôB2�ô 2òj.ð €Ø	‚øðQ ô 8Ù
Ð6Ó
7Ð7ð8ús   ˆA	 Á	A