28 lines
977 B
Python
28 lines
977 B
Python
"""Configuration and environment variables."""
|
|
|
|
import os
|
|
|
|
# Model configuration
|
|
MODEL_NAME = os.getenv("FACE_MODEL_NAME", "buffalo_l")
|
|
DET_SIZE = int(os.getenv("FACE_DET_SIZE", "1024"))
|
|
|
|
# Image processing limits
|
|
MAX_DOWNLOAD_SIZE = int(os.getenv("MAX_DOWNLOAD_SIZE", 20 * 1024 * 1024)) # 20MB
|
|
MAX_IMAGE_DIMENSION = int(os.getenv("MAX_IMAGE_DIMENSION", 8192)) # 8192px
|
|
MIN_IMAGE_DIMENSION = int(os.getenv("MIN_IMAGE_DIMENSION", 32)) # 32px
|
|
|
|
# HTTP client settings
|
|
DOWNLOAD_TIMEOUT = float(os.getenv("DOWNLOAD_TIMEOUT", 15.0)) # 15 seconds
|
|
MAX_RETRIES = int(os.getenv("MAX_RETRIES", 3))
|
|
|
|
# TODO [PROD]: Add URL allowlist for SSRF protection
|
|
# ALLOWED_URL_PATTERNS = os.getenv("ALLOWED_URL_PATTERNS", "").split(",")
|
|
|
|
# TODO [PROD]: Add API key authentication
|
|
# API_KEY = os.getenv("API_KEY", "")
|
|
|
|
# TODO [PROD]: Add rate limiting configuration
|
|
# RATE_LIMIT_REQUESTS = int(os.getenv("RATE_LIMIT_REQUESTS", 100))
|
|
# RATE_LIMIT_WINDOW = int(os.getenv("RATE_LIMIT_WINDOW", 60))
|
|
|