Spaces:
Sleeping
Sleeping
| """ | |
| API Performance Utilities | |
| This module provides easy access to all performance-related | |
| components including caching, rate limiting, compression, and HTTP client. | |
| Usage: | |
| from performance import ( | |
| cache, cached, CacheTTL, | |
| rate_limiter, RateLimitConfig, | |
| http_client, fetch_json, | |
| CompressionMiddleware | |
| ) | |
| """ | |
| from .cache import ( | |
| InMemoryCache, | |
| CacheEntry, | |
| CacheTTL, | |
| cached, | |
| cache, | |
| create_cache_key, | |
| invalidate_pattern | |
| ) | |
| from .rate_limit import ( | |
| SlidingWindowRateLimiter, | |
| RateLimitExceeded, | |
| RateLimitInfo, | |
| RateLimitConfig, | |
| rate_limiter, | |
| get_rate_limit_headers, | |
| create_rate_limit_dependency | |
| ) | |
| from .compression import ( | |
| CompressionMiddleware, | |
| ETaggerMiddleware, | |
| get_compression_stats, | |
| BROTLI_AVAILABLE | |
| ) | |
| from .async_http import ( | |
| AsyncHTTPClient, | |
| HTTPResponse, | |
| CircuitBreaker, | |
| CircuitBreakerConfig, | |
| CircuitBreakerError, | |
| CircuitState, | |
| http_client, | |
| fetch_json, | |
| post_json | |
| ) | |
| __all__ = [ | |
| # Cache | |
| "InMemoryCache", | |
| "CacheEntry", | |
| "CacheTTL", | |
| "cached", | |
| "cache", | |
| "create_cache_key", | |
| "invalidate_pattern", | |
| # Rate Limiting | |
| "SlidingWindowRateLimiter", | |
| "RateLimitExceeded", | |
| "RateLimitInfo", | |
| "RateLimitConfig", | |
| "rate_limiter", | |
| "get_rate_limit_headers", | |
| "create_rate_limit_dependency", | |
| # Compression | |
| "CompressionMiddleware", | |
| "ETaggerMiddleware", | |
| "get_compression_stats", | |
| "BROTLI_AVAILABLE", | |
| # HTTP Client | |
| "AsyncHTTPClient", | |
| "HTTPResponse", | |
| "CircuitBreaker", | |
| "CircuitBreakerConfig", | |
| "CircuitBreakerError", | |
| "CircuitState", | |
| "http_client", | |
| "fetch_json", | |
| "post_json" | |
| ] | |
| def get_performance_stats() -> dict: | |
| """Get combined performance statistics""" | |
| return { | |
| "cache": cache.stats, | |
| "rate_limiter": rate_limiter.stats, | |
| "http_client": http_client.stats, | |
| "brotli_available": BROTLI_AVAILABLE | |
| } | |