Files
thrilltrack-explorer/django-backend/pyproject.toml

83 lines
2.1 KiB
TOML

[project]
name = "django-backend"
version = "1.0.0"
description = "ThrillWiki Django Backend API"
requires-python = ">=3.12"
readme = "README.md"
dependencies = [
# Core Django (Latest: 5.1.3 - Django 5.2 doesn't exist yet)
"Django>=5.1.3",
"psycopg[binary]>=3.2.3",
# API Framework
"django-ninja>=1.3.0",
"pydantic>=2.10.6",
# Database & ORM utilities
"django-model-utils>=5.0.0",
"django-guardian>=2.4.0",
"django-lifecycle>=1.2.4",
"django-fsm>=3.0.0",
"django-dirtyfields>=1.9.2",
# Async & Background Tasks
"celery[redis]>=5.4.0",
"django-celery-beat>=2.7.0",
"django-celery-results>=2.5.1",
"flower>=2.0.1",
# Caching & Performance
"django-redis>=5.4.0",
"django-cacheops>=7.0.2",
"hiredis>=2.3.2",
# Real-time
"channels>=4.2.0",
"channels-redis>=4.2.1",
"daphne>=4.1.2",
# Media & Storage
"django-storages[s3]>=1.14.4",
"Pillow>=11.0.0",
"python-magic>=0.4.27",
# Security & Authentication
"django-cors-headers>=4.6.0",
"django-ratelimit>=4.1.0",
"django-otp>=1.5.4",
"django-allauth>=65.3.0",
"djangorestframework-simplejwt>=5.3.1",
"django-defender>=0.9.8",
"webauthn>=2.2.0",
"qrcode>=8.0",
# Validation & Serialization
"marshmallow>=3.23.2",
# Admin Interface
"django-unfold>=0.42.0",
"django-import-export>=4.3.3",
"tablib[html,xls,xlsx]>=3.7.0",
# Utilities
"django-extensions>=3.2.3",
"django-environ>=0.11.2",
"django-filter>=24.3",
"python-slugify>=8.0.4",
"python-dateutil>=2.9.0",
# Monitoring & Logging
"sentry-sdk>=2.19.2",
"structlog>=24.4.0",
# HTTP & External APIs
"requests>=2.32.3",
"httpx>=0.28.1",
# UUID utilities
"shortuuid>=1.0.13",
# History tracking
"django-pghistory>=3.5.0",
"django-viewflow>=2.2.13",
"django-fsm-2==4.1.0",
]
[dependency-groups]
dev = [
"pytest>=8.3.4",
"pytest-django>=4.9.0",
"pytest-cov>=6.0.0",
"pytest-asyncio>=0.24.0",
"factory-boy>=3.3.1",
"faker>=33.1.0",
"ipython>=8.31.0",
"ipdb>=0.13.13",
]