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

1""" 

2chat-limiter: A Pythonic rate limiter for OpenAI, Anthropic, and OpenRouter APIs 

3""" 

4 

5__version__ = "0.1.0" 

6__author__ = "Ivan Arcuschin" 

7__email__ = "ivan@arcuschin.com" 

8 

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) 

29 

30# Expose submodules for type checkers (e.g., mypy) and explicit imports in tests 

31from . import utils as utils # noqa: F401 

32 

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]