+
    *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   &&& 2lib/python3.14/site-packages/tqdm/contrib/slack.pyr   SlackIO.__init__   sv    e,NN++		 ;;77ii7XDL 	 OOCF#DLL	 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IIdB%%'		>,,?		[[!8!8')BT$+DMa# ! GF
 M  	$OOC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     zz)$$[[]Fl+44W__Eu.DH$'VZZs-K$LF=!$)&)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    !&!77<&& #L 1 9 9,!((/(G ZZZ :Cw<5 3C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&|||HHNN2 r3   )rA   )r   r*   r+   r,   r-   r   r   rK   rR   r.   r/   r0   r1   s   @@r   r	   r	   ;   sD     
 VW-*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    eTl-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8s   A	 	A