Files
fastapi-traffic/fastapi_traffic/__init__.py
zanewalker da496746bb Initial commit: fastapi-traffic rate limiting library
- Core rate limiting with multiple algorithms (sliding window, token bucket, etc.)
- SQLite and memory backends
- Decorator and dependency injection patterns
- Middleware support
- Example usage files
2026-01-09 00:26:19 +00:00

37 lines
958 B
Python

"""FastAPI Traffic - Production-grade rate limiting for FastAPI."""
from fastapi_traffic.core.decorator import rate_limit
from fastapi_traffic.core.limiter import RateLimiter
from fastapi_traffic.core.config import RateLimitConfig
from fastapi_traffic.core.algorithms import Algorithm
from fastapi_traffic.backends.base import Backend
from fastapi_traffic.backends.memory import MemoryBackend
from fastapi_traffic.backends.sqlite import SQLiteBackend
from fastapi_traffic.exceptions import (
RateLimitExceeded,
BackendError,
ConfigurationError,
)
__version__ = "0.1.0"
__all__ = [
"rate_limit",
"RateLimiter",
"RateLimitConfig",
"Algorithm",
"Backend",
"MemoryBackend",
"SQLiteBackend",
"RateLimitExceeded",
"BackendError",
"ConfigurationError",
]
# Optional Redis backend
try:
from fastapi_traffic.backends.redis import RedisBackend
__all__.append("RedisBackend")
except ImportError:
pass