__init__.py 732 B

123456789101112131415161718192021222324252627282930
  1. # -*- coding: utf-8 -*-
  2. """
  3. Rate-Limiting-Modul für Trixy.
  4. Bietet Token-Bucket und Sliding-Window Algorithmen für
  5. Durchsatzbegrenzung und Request-Throttling.
  6. """
  7. from trixy_core.utils.ratelimit.token_bucket import TokenBucket, TokenBucketLimiter
  8. from trixy_core.utils.ratelimit.sliding_window import SlidingWindow, SlidingWindowLimiter
  9. from trixy_core.utils.ratelimit.decorators import (
  10. rate_limit,
  11. async_rate_limit,
  12. RateLimitExceeded,
  13. RateLimitConfig,
  14. )
  15. __all__ = [
  16. # Token Bucket
  17. "TokenBucket",
  18. "TokenBucketLimiter",
  19. # Sliding Window
  20. "SlidingWindow",
  21. "SlidingWindowLimiter",
  22. # Decorators
  23. "rate_limit",
  24. "async_rate_limit",
  25. "RateLimitExceeded",
  26. "RateLimitConfig",
  27. ]