Backend logging: - Centralized JSON logging config with LOG_LEVEL env var - Request logging middleware: user, method, path, status, duration, request_id - Fixed all 9 silent except:pass blocks to log warnings with tracebacks - Celery workers use same structured JSON format Infrastructure: - Loki 3.3.2 for log storage (30-day retention) - Promtail 3.3.2 for Docker container log shipping - Grafana 10.3.1 with auto-provisioned Loki datasource - Grafana on port 3002 (admin/pedshub_grafana) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
27 lines
518 B
Text
27 lines
518 B
Text
fastapi==0.109.2
|
|
psycopg2-binary==2.9.9
|
|
uvicorn[standard]==0.27.1
|
|
sqlalchemy==2.0.27
|
|
alembic==1.13.1
|
|
python-jose[cryptography]==3.3.0
|
|
bcrypt>=4.0.1
|
|
python-multipart==0.0.9
|
|
pydantic[email]==2.6.1
|
|
pydantic-settings==2.1.0
|
|
PyMuPDF==1.23.22
|
|
litellm==1.27.10
|
|
chromadb==0.4.24
|
|
celery[redis]==5.3.6
|
|
redis==5.0.1
|
|
fastapi-mail==1.4.1
|
|
apscheduler==3.10.4
|
|
aiofiles==23.2.1
|
|
python-dotenv==1.0.1
|
|
httpx==0.27.0
|
|
boto3==1.34.69
|
|
pgvector==0.3.6
|
|
openpyxl==3.1.2
|
|
authlib==1.3.0
|
|
itsdangerous==2.1.2
|
|
fpdf2==2.8.1
|
|
python-json-logger>=2.0.0
|