Files
fastapi-traffic/fastapi_traffic/__init__.py
zanewalker f3453cb0fc release: bump version to 0.3.0
- Refactor Redis backend connection handling and pool management
- Update algorithm implementations with improved type annotations
- Enhance config loader validation with stricter Pydantic schemas
- Improve decorator and middleware error handling
- Expand example scripts with better docstrings and usage patterns
- Add new 00_basic_usage.py example for quick start
- Reorganize examples directory structure
- Fix type annotation inconsistencies across core modules
- Update dependencies in pyproject.toml
2026-03-17 21:04:34 +00:00

50 lines
1.3 KiB
Python

"""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.3.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