# Backend Requirements - ServiceManagerWeb
# FastAPI Backend Dependencies

# ===================================
# CORE FRAMEWORK
# ===================================
fastapi==0.104.1
uvicorn[standard]==0.24.0
pydantic==2.5.0
pydantic-settings==2.1.0

# ===================================
# DATABASE & ORM
# ===================================
sqlalchemy==2.0.23
alembic==1.13.0
asyncpg==0.29.0          # PostgreSQL async driver
psycopg2-binary==2.9.9   # PostgreSQL sync driver (for migrations)

# ===================================
# AUTHENTICATION & SECURITY
# ===================================
python-jose[cryptography]==3.3.0
python-multipart==0.0.6
passlib[argon2]==1.7.4
argon2-cffi==23.1.0
pyotp==2.9.0             # TOTP/2FA support

# ===================================
# ASYNC TASKS
# ===================================
celery==5.3.4
redis==5.0.1
slowapi==0.1.9          # Rate limiting middleware

# ===================================
# EMAIL
# ===================================
email-validator==2.1.0
jinja2==3.1.2            # Email templates

# ===================================
# FILE HANDLING
# ===================================
python-magic==0.4.27    # MIME type detection
pillow==10.1.0           # Image processing

# ===================================
# HTTP & REQUESTS
# ===================================
httpx==0.25.2            # Async HTTP client
aiofiles==23.2.1         # Async file operations

# ===================================
# UTILITIES
# ===================================
python-dateutil==2.8.2
pytz==2023.3
slugify==0.0.1

# ===================================
# MONITORING & LOGGING
# ===================================
structlog==23.2.0
prometheus-client==0.19.0

# ===================================
# DEVELOPMENT & TESTING
# ===================================
pytest==7.4.3
pytest-asyncio==0.21.1
pytest-cov==4.1.0
aiosqlite==0.19.0
httpx==0.25.2            # For testing
faker==20.1.0            # Test data generation

# ===================================
# CODE QUALITY
# ===================================
ruff==0.1.7              # Linter & formatter
black==23.11.0           # Code formatter
mypy==1.7.1              # Type checker
pre-commit==3.6.0        # Git hooks

# ===================================
# PRODUCTION
# ===================================
gunicorn==21.2.0