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