Coverage for src/chat_limiter/__init__.py: 100%
9 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-09-15 12:48 +0100
« prev ^ index » next coverage.py v7.9.2, created at 2025-09-15 12:48 +0100
1"""
2chat-limiter: A Pythonic rate limiter for OpenAI, Anthropic, and OpenRouter APIs
3"""
5__version__ = "0.1.0"
6__author__ = "Ivan Arcuschin"
7__email__ = "ivan@arcuschin.com"
9from .batch import (
10 BatchConfig,
11 BatchItem,
12 BatchProcessor,
13 BatchResult,
14 ChatCompletionBatchProcessor,
15 create_chat_completion_requests,
16 process_chat_completion_batch,
17 process_chat_completion_batch_sync,
18)
19from .limiter import ChatLimiter, LimiterState
20from .providers import Provider, ProviderConfig, RateLimitInfo
21from .types import (
22 ChatCompletionRequest,
23 ChatCompletionResponse,
24 Choice,
25 Message,
26 MessageRole,
27 Usage,
28)
30# Expose submodules for type checkers (e.g., mypy) and explicit imports in tests
31from . import utils as utils # noqa: F401
33__all__ = [
34 "ChatLimiter",
35 "LimiterState",
36 "Provider",
37 "ProviderConfig",
38 "RateLimitInfo",
39 "BatchConfig",
40 "BatchItem",
41 "BatchResult",
42 "BatchProcessor",
43 "ChatCompletionBatchProcessor",
44 "process_chat_completion_batch",
45 "process_chat_completion_batch_sync",
46 "create_chat_completion_requests",
47 "ChatCompletionRequest",
48 "ChatCompletionResponse",
49 "Message",
50 "MessageRole",
51 "Usage",
52 "Choice",
53]