Django==5.2.17 djangorestframework==3.18.0 drf-spectacular==0.30.0 django-cors-headers==4.9.0 requests==2.33.1 redis==5.2.1 python-dotenv==1.2.2 whitenoise==6.11.0 # سرور با همین اجرا می‌شود (یونیتِ systemd آن را از venv صدا می‌زند؛ تنظیمات در gunicorn.conf.py). gunicorn==26.2.0 # وابستگیِ غیرمستقیمِ requests و qdrant-client؛ نسخه‌های پایین‌تر آسیب‌پذیریِ شناخته‌شده دارند # (GHSA-8988-9cw3-xx77، GHSA-vxq7-64xx-v4gw، GHSA-gh4c-6fx4-qh6g). urllib3==2.8.0 # نسخه‌ها همان‌هایی‌اند که روی سرور نصب بود (۲۰۲۶-۱۰-۰۷، pip freeze)؛ ارتقا یعنی عوض‌کردنِ عمدیِ یک خط. # RAG / AI tutor (اپ rag). کلاینت‌ها lazy import می‌شن؛ نبودِ این‌ها فقط # مسیرِ RAG رو از کار می‌ندازه، نه بقیه‌ی پروژه رو. openai==2.54.0 qdrant-client==1.19.0 # فقط برای ingestِ PDF (اختیاری). pdf2image به poppler سیستمی نیاز داره # (macOS: brew install poppler). نبودشون فقط endpointِ /api/rag/ingest/pdf # رو با خطای صریح از کار می‌ندازه. pymupdf==1.28.2 pdf2image==1.17.0 pillow==12.3.0 psycopg[binary]==3.3.6