FASHIONISTAR CI/CD
🔄 Celery Queues Deploy: 4aae6106b1530c3cc7d7d64f5e3c3e1d5015691d [GitHub Actions]
27c799c | [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", | |
| ] | |