fashionistar-celery-queues / pyproject.toml
FASHIONISTAR CI/CD
🔄 Celery Queues Deploy: 4aae6106b1530c3cc7d7d64f5e3c3e1d5015691d [GitHub Actions]
27c799c
Raw
History Blame
5.14 kB
[project]
name = "fashionistar-backend"
version = "0.1.0"
description = "FASHIONISTAR AI E-Commerce Backend"
requires-python = ">=3.12"
dependencies = [
# Core
"djangorestframework",
"django-ninja",
"adrf",
# Config
"django-environ",
"environs",
"python-decouple",
# Database
"psycopg[binary,pool]",
"dj-database-url",
"pgvector",
"psutil",
# Auth & Security
"djangorestframework-simplejwt",
"argon2-cffi",
"PyJWT",
"cryptography",
"pycryptodome",
"django-encrypted-model-fields",
"django-ratelimit",
"fido2",
"google-auth",
"google-auth-oauthlib",
"google-auth-httplib2",
"django-axes",
"django-csp",
# Cache & Redis
"django-redis",
"redis",
"hiredis",
# Tasks
"celery",
"flower",
# Servers
"uvicorn",
"daphne",
"gunicorn",
"channels",
"channels-redis",
# CORS & Media
"django-cors-headers",
"whitenoise",
"django-storages",
"django-cloudinary-storage",
"cloudinary",
"pillow",
# Communication
"django-phonenumber-field[phonenumbers]",
"phonenumbers",
"twilio",
"django-phone-verify",
"django-anymail",
"django-zoho-zeptomail",
"email-validator",
# Admin, Tools, Utils
"drf-spectacular",
"drf-yasg",
"django-jazzmin",
"django-import-export",
"dj-control-room[all]",
"django-admin-rangefilter",
"openpyxl>=3.1.0",
"drf-api-logger",
"prometheus-client",
"sentry-sdk[django]",
"django-silk",
"django-health-check",
"django-structlog",
"pydantic",
"django-filter",
"marshmallow",
"tablib",
"requests",
"httpx",
"aiohttp",
"aiohttp-retry",
"certifi",
"charset-normalizer",
"idna",
"urllib3",
"asgiref >= 3.8.1",
"attrs",
"click",
"colorama",
"humanize",
"jsonschema",
"packaging",
"python-dateutil",
"pytz",
"PyYAML",
"setuptools",
"shortuuid",
"six",
"sqlparse",
"typing-extensions",
"tzdata",
"uritemplate",
"uuid6",
"wrapt",
"aiohappyeyeballs",
"aiosignal",
"async-timeout",
"frozenlist",
"multidict",
"propcache",
"yarl",
# Make sure we keep the correct versions of django and django-celery-beat, order matters slightly:
"django-celery-beat",
"Django==6.0.3",
"django-auditlog>=3.4.1",
"ollama>=0.6.2",
# ── AI / ML Orchestration Engine ─────────────────────────────────────────
"langgraph>=0.2.28",
"langchain>=0.3.0",
"langchain-core>=0.3.0",
"langchain-community>=0.3.0",
"langchain-ollama>=0.2.0",
# ── Measurement Engine (MediaPipe) ────────────────────────────────────────
"mediapipe>=0.10.14",
"opencv-python-headless>=4.9.0",
"numpy>=1.26.4",
# ── Recommendation Engine (FashionSigLIP / FashionCLIP) ──────────────────
"open-clip-torch>=2.26.1",
"sentence-transformers>=3.0.0",
# ── PyTorch CPU-only wheel ────────────────────────────────────────────────
"torch>=2.2.0",
"torchvision>=0.17.0",
# ── Celery results + extras ───────────────────────────────────────────────
"django-celery-results>=2.5.1",
# ── OpenAI client ─────────────────────────────────────────────────────────
"openai",
# ── Extra observability ───────────────────────────────────────────────────
"structlog>=24.0",
"nplusone",
"django-debug-toolbar",
# ── Provider utilities ────────────────────────────────────────────────────
"django-cryptography",
"django-model-utils",
# ── PDF / QR ──────────────────────────────────────────────────────────────
"weasyprint",
"fonttools",
"qrcode[pil]>=7.4.2", # Server-side QR PNG generation (brand-coloured, ERROR_CORRECT_H)
"stripe",
"django-dbbackup>=5.3.0",
]
[project.optional-dependencies]
dev = [
"pytest",
"pytest-django",
"pytest-asyncio",
"pytest-cov",
"pytest-mock",
"factory-boy",
"ruff",
"mypy",
]
[dependency-groups]
dev = [
"factory-boy>=3.3.3",
"pytest>=9.0.2",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.0.0",
"pytest-django>=4.12.0",
"pytest-mock>=3.15.1",
"pytest-timeout>=2.4.0",
]