# Reports Dashboard Requirements
# =============================
# Core Django and database requirements for the enhanced reports system

# Django Framework
Django>=5.2.0,<6.0
django-extensions>=3.2.0

# Database
psycopg2-binary>=2.9.0  # PostgreSQL adapter (if using PostgreSQL)
# OR for MySQL: mysqlclient>=2.1.0
# OR for SQLite: built into Python

# Date and Time Utilities
python-dateutil>=2.8.0
pytz>=2023.3

# Data Processing and Analysis
pandas>=2.0.0  # For advanced data analysis (optional)
numpy>=1.24.0  # For numerical computations (optional)

# PDF Generation (for report exports)
reportlab>=4.0.0
weasyprint>=60.0  # Alternative PDF generator

# Excel Export Support
openpyxl>=3.1.0
xlsxwriter>=3.1.0

# Development and Testing
django-debug-toolbar>=4.2.0  # For development debugging
factory-boy>=3.3.0  # For creating test data
faker>=19.0.0  # For generating fake data

# Production Deployment
gunicorn>=21.2.0  # WSGI server for production
whitenoise>=6.5.0  # Static file serving
django-cors-headers>=4.3.0  # CORS handling

# Monitoring and Logging
sentry-sdk>=1.32.0  # Error tracking (optional)
django-health-check>=3.17.0  # Health check endpoints

# Security
django-ratelimit>=4.1.0  # Rate limiting
django-csp>=3.7  # Content Security Policy

# API Support (if needed)
djangorestframework>=3.14.0
django-filter>=23.3

# Caching (optional but recommended)
redis>=5.0.0
django-redis>=5.4.0

# Environment Management
python-decouple>=3.8  # For environment variables
django-environ>=0.11.0  # Alternative environment management

# File Handling
Pillow>=10.0.0  # Image processing
python-magic>=0.4.27  # File type detection

# Utilities
requests>=2.31.0  # HTTP requests
celery>=5.3.0  # Background task processing (optional)
django-celery-beat>=2.5.0  # Periodic tasks (optional)

# Development Tools
black>=23.0.0  # Code formatting
flake8>=6.0.0  # Code linting
isort>=5.12.0  # Import sorting
pre-commit>=3.4.0  # Git hooks