
    phS                         S SK Jr  SSKJrJr  SSK7  SSKJrJrJ	r	J
r
Jr   " S S5      r " S	 S
\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      rg)    )bool_ok   )get_protocol_versionparse_to_list   )*)BFInfoCFInfoCMSInfoTDigestInfoTopKInfoc                       \ rS rSrSr\S 5       r\S 5       r\S 5       r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       rSrg)AbstractBloom   z
The client allows to interact with RedisBloom and use all of
it's functionality.

- BF for Bloom Filter
- CF for Cuckoo Filter
- CMS for Count-Min Sketch
- TOPK for TopK Data Structure
- TDIGEST for estimate rank statistics
c                 0    U R                  S/5        X-  n g)zAppend ITEMS to params.ITEMSNextend)paramsitemss     T/home/james-whalen/.local/lib/python3.13/site-packages/redis/commands/bf/__init__.pyappend_itemsAbstractBloom.append_items   s     	wi     c                 2    Ub  U R                  SU/5        gg)zAppend ERROR to params.NERRORr   )r   errors     r   append_errorAbstractBloom.append_error   s      MM7E*+ r   c                 2    Ub  U R                  SU/5        gg)zAppend CAPACITY to params.NCAPACITYr   )r   capacitys     r   append_capacityAbstractBloom.append_capacity    s      MM:x01  r   c                 2    Ub  U R                  SU/5        gg)zAppend EXPANSION to params.N	EXPANSIONr   )r   	expansions     r   append_expansionAbstractBloom.append_expansion&   s       MM;	23 !r   c                 0    Ub  U R                  S/5        gg)z Append NONSCALING tag to params.N
NONSCALINGr   )r   noScales     r   append_no_scaleAbstractBloom.append_no_scale,   s     MM<.) r   c                 N    [        U5      S:  a  U R                  S5        X-  n gg)zAppend WEIGHTS to params.r   WEIGHTSN)lenappend)r   weightss     r   append_weightsAbstractBloom.append_weights2   s)     w<!MM)$F r   c                 0    Ub  U R                  S/5        gg)zAppend NOCREATE tag to params.NNOCREATEr   )r   noCreates     r   append_no_createAbstractBloom.append_no_create9   s     MM:,'  r   c                     [        [        U5      5       H)  nU R                  X   5        U R                  X#   5        M+     g)z/Append pairs of items and increments to params.Nranger1   r2   )r   r   
incrementsis       r   append_items_and_increments)AbstractBloom.append_items_and_increments?   s3     s5z"AMM%(#MM*-( #r   c                     [        [        U5      5       H)  nU R                  X   5        U R                  X#   5        M+     g)z,Append pairs of items and weights to params.Nr<   )r   r   r3   r?   s       r   append_values_and_weights'AbstractBloom.append_values_and_weightsF   s3     s5z"AMM%(#MM'*% #r   c                 2    Ub  U R                  SU/5        gg)zAppend MAXITERATIONS to params.NMAXITERATIONSr   )r   max_iterationss     r   append_max_iterations#AbstractBloom.append_max_iterationsM   s      %MM?N;< &r   c                 2    Ub  U R                  SU/5        gg)zAppend BUCKETSIZE to params.N
BUCKETSIZEr   )r   bucket_sizes     r   append_bucket_size AbstractBloom.append_bucket_sizeS   s      "MM<56 #r    N)__name__
__module____qualname____firstlineno____doc__staticmethodr   r   r#   r(   r-   r4   r9   r@   rC   rH   rM   __static_attributes__rO   r   r   r   r      s    	  
 , ,
 2 2
 4 4
 * *
   ( (
 ) ) & & = =
 7 7r   r   c                       \ rS rSrS rSrg)CMSBloomZ   c                    [         [        [        [        [        [        0n[        [
        0n0 nXl        [        U l        UR                  U l	        [        U R                  5      S;   a  UR                  U5        OUR                  U5        UR                  5        H   u  pgU R                  R                  Xg5        M"     gzCreate a new RedisBloom client.)3   N)CMS_INITBYDIMr   CMS_INITBYPROB	CMS_MERGECMS_INFOr   clientCMSCommandscommandmixinexecute_commandr   updater   set_response_callbackselfrb   kwargs_MODULE_CALLBACKS_RESP2_MODULE_CALLBACKS_RESP3_MODULE_CALLBACKSkvs           r   __init__CMSBloom.__init__[   s     7G w
 g#
 #%'%55,8$$%<=$$%<=%++-DAKK--a3 .r   rb   rd   re   NrP   rQ   rR   rS   rp   rV   rO   r   r   rX   rX   Z   s    4r   rX   c                       \ rS rSrS rSrg)	TOPKBloomx   c                    [         [        0n[        [        [        [        [
        [        [        [        0n0 nXl        [        U l
        UR                  U l        [        U R                  5      S;   a  UR                  U5        OUR                  U5        UR                  5        H   u  pgU R                  R                  Xg5        M"     gr[   )TOPK_RESERVEr   TOPK_ADDr   TOPK_INCRBY	TOPK_INFOr   	TOPK_LISTrb   TOPKCommandsrd   re   r   rf   r   rg   rh   s           r   rp   TOPKBloom.__init__y   s     '
 mx}	#
 #%(%55,8$$%<=$$%<=%++-DAKK--a3 .r   rr   Nrs   rO   r   r   ru   ru   x   s    4r   ru   c                       \ rS rSrS rSrg)CFBloom   c                 \   [         [        0n[        [        0n0 nXl        [
        U l        UR                  U l        [        U R                  5      S;   a  UR                  U5        OUR                  U5        UR                  5        H   u  pgU R                  R                  Xg5        M"     gr[   )
CF_RESERVEr   CF_INFOr
   rb   
CFCommandsrd   re   r   rf   r   rg   rh   s           r   rp   CFBloom.__init__   s     
 V#
 #%&%55,8$$%<=$$%<=%++-DAKK--a3 .r   rr   Nrs   rO   r   r   r   r      s    4r   r   c                       \ rS rSrS rSrg)TDigestBloom   c                    [         [        0n[        [        [        [        [
        [        [        [        [        [        [        [        [        [        [        [        0n0 nXl        [        U l        UR                   U l        [#        U R                  5      S;   a  UR%                  U5        OUR%                  U5        UR'                  5        H   u  pgU R                  R)                  Xg5        M"     gr[   )TDIGEST_CREATEr   TDIGEST_BYRANKr   TDIGEST_BYREVRANKTDIGEST_CDFTDIGEST_INFOr   TDIGEST_MINfloatTDIGEST_MAXTDIGEST_TRIMMED_MEANTDIGEST_QUANTILErb   TDigestCommandsrd   re   r   rf   r   rg   rh   s           r   rp   TDigestBloom.__init__   s     G
 M}+ %m	#
 #%+%55,8$$%<=$$%<=%++-DAKK--a3 .r   rr   Nrs   rO   r   r   r   r      s     4r   r   c                       \ rS rSrS rSrg)BFBloom   c                 \   [         [        0n[        [        0n0 nXl        [
        U l        UR                  U l        [        U R                  5      S;   a  UR                  U5        OUR                  U5        UR                  5        H   u  pgU R                  R                  Xg5        M"     gr[   )
BF_RESERVEr   BF_INFOr	   rb   
BFCommandsrd   re   r   rf   r   rg   rh   s           r   rp   BFBloom.__init__   s     

 V#
 #%&%55,8$$%<=$$%<=%++-DAKK--a3 .r   rr   Nrs   rO   r   r   r   r      s    4r   r   N)redis._parsers.helpersr   helpersr   r   commandsinfor	   r
   r   r   r   r   rc   rX   r}   ru   r   r   r   r   r   r   rO   r   r   <module>r      si    * 9  @ @O7 O7d4{M 4<4m 4> 4j-  4F!4?M !4H4j- 4r   