Files
wehub-resource-sync 6b7e6b44f1
Python Build and Type Check / python-ci (ubuntu-latest, 3.11) (push) Has been cancelled
Python Build and Type Check / python-ci (ubuntu-latest, 3.13) (push) Has been cancelled
Python Build and Type Check / python-ci (windows-latest, 3.11) (push) Has been cancelled
Python Build and Type Check / python-ci (windows-latest, 3.13) (push) Has been cancelled
Python Integration Tests / python-ci (ubuntu-latest, 3.13) (push) Has been cancelled
Python Integration Tests / python-ci (windows-latest, 3.13) (push) Has been cancelled
Python Notebook Tests / python-ci (ubuntu-latest, 3.13) (push) Has been cancelled
Python Notebook Tests / python-ci (windows-latest, 3.13) (push) Has been cancelled
Python Smoke Tests / python-ci (ubuntu-latest, 3.13) (push) Has been cancelled
Python Smoke Tests / python-ci (windows-latest, 3.13) (push) Has been cancelled
Python Unit Tests / python-ci (ubuntu-latest, 3.13) (push) Has been cancelled
Python Unit Tests / python-ci (windows-latest, 3.13) (push) Has been cancelled
gh-pages / build (push) Has been cancelled
Python Publish (pypi) / Upload release to PyPI (push) Has been cancelled
Spellcheck / spellcheck (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:37:31 +08:00

39 lines
917 B
Python

# Copyright (c) 2025 Microsoft Corporation.
# Licensed under the MIT License
"""LiteLLM Rate Limiter."""
from abc import ABC, abstractmethod
from collections.abc import Iterator
from contextlib import contextmanager
from typing import Any
class RateLimiter(ABC):
"""Abstract base class for rate limiters."""
@abstractmethod
def __init__(
self,
**kwargs: Any,
) -> None:
"""Initialize the Rate Limiter."""
raise NotImplementedError
@abstractmethod
@contextmanager
def acquire(self, token_count: int) -> Iterator[None]:
"""
Acquire Rate Limiter.
Args
----
token_count: int
The estimated number of prompt and response tokens for the current request.
Yields
------
None: This context manager does not return any value.
"""
raise NotImplementedError