Team Ai
Apppublic

Yash030/claude-code-proxy

sourceHugging Faceupdated 5mo agoView on Hugging Face
2likes
rate_limit.cpython-314.pyc35 linesDownload Raw Back to __pycache__
1+
2��j���F�Rt^RIHt^RIt^RIt^RIHt!RR4tR#)z6Shared strict sliding-window rate limiting primitives.)�annotationsN)�dequec�J�]tRt^3tRtRRltRRltRRltRR	ltR4t	R#)�StrictSlidingWindowLimiterz�Strict sliding window limiter.5 6Guarantees: at most ``rate_limit`` acquisitions in any interval of length7``rate_window`` (seconds).8 9Implemented as an async context manager so call sites can do::10 11    async with limiter:12        ...13c�$�V^8�dQhRRRRRR/#)��14rate_limit�int�rate_window�float�return�None�)�formats"�:C:\Users\yashw\.claude\claude-code-free\core\rate_limit.py�__annotate__�'StrictSlidingWindowLimiter.__annotate__s!��	$�	$�3�	$�U�	$�t�	$�c	���V^8:d\R4hV^8:d\R4h\V4Vn\V4Vn\4Vn\P!4Vn	R#)�zrate_limit must be > 0zrate_window must be > 0N)15�16ValueErrorr	�_rate_limitr�_rate_windowr�_times�asyncio�Lock�_lock)�selfrr17s&&&r�__init__�#StrictSlidingWindowLimiter.__init__sX����?��5�6�6��!���6�7�7��z�?���!�+�.���$)�G����\�\�^��18rc��V^8�dQhRR/#)rrr
r)rs"rrr!s��'�'�t�'rc�	�"�\P!4pWP,19pVP'd5VP^,V8:dVPP	4KF\VP4VP8dVPPV4R#VP;_uu_4GRjx�L20\P!4pWP,21pVP'd5VP^,V8:dVPP	4KF\VP4VP8d/VPPV4RRR4GRjx�L22R#VP^,p\RW0P,V,234pRRR4GRjx�L24X^8�d"\P!V4GRjx�L25EK�\P!^4GRjx�L26EKELSL�LR +GRjx�L27'giLi;iLKL,5i)TNg)�time�	monotonicrr�popleft�lenr�appendr�maxr�sleep)r�now�cutoff�oldest�	wait_times&    r�acquire�"StrictSlidingWindowLimiter.acquire!sm�����.�.�"�C��,�,�,�F��+�+�+�$�+�+�a�.�F�":����#�#�%��4�;�;��$�"2�"2�2����"�"�3�'���z�z�z�z��n�n�&���0�0�0���k�k�k�d�k�k�!�n��&>��K�K�'�'�)��t�{�{�#�d�&6�&6�6��K�K�&�&�s�+��"�z�z����Q�����f�/@�/@�&@�C�%G�H�	�"�z��1�}��m�m�I�.�.�.��m�m�A�&�&�&�"�z�z�z��/�&�s��:I�B
I�28H�I�9H$�A4H$�<I�H �I�6H$�I�H"�$I�4I�5 I�I�I� I�"I�$H=	�*H-�+29H=	�6H=	�8	I�Ic��V^8�dQhRR/#)rrrr)rs"rrr>s����"<�rc�	�B"�VP4GRjx�L30V#L5i)N)r-)rs&r�31__aenter__�%StrictSlidingWindowLimiter.__aenter__>s����l�l�n�����	�s���c��V^8�dQhRR/#)rr�boolr)rs"rrrBs����D�rc�	�"�R#5i)Fr)r�exc_type�exc�tbs&&&&r�	__aexit__�$StrictSlidingWindowLimiter.__aexit__Bs����s�)rrrrN)32�__name__�33__module__�__qualname__�__firstlineno__�__doc__rr-r1r9�__static_attributes__rrrrr34s ��	�	$�'�:��rr)r?�35__future__rrr"�collectionsrrrrr�<module>rCs��<�"����9�9r