[project]
name = "dispatcharr"
description = "Dispatcharr - Stream dispatching and management"
readme = "README.md"
license = "AGPL-3.0-only"
requires-python = ">=3.13"
dynamic = ["version"]
dependencies = [
    "Django==6.0.4",
    "psycopg2-binary==2.9.12",
    "celery[redis]==5.6.3",
    "djangorestframework==3.17.1",
    "requests==2.33.1",
    "psutil==7.2.2",
    "pillow",
    "drf-spectacular>=0.29.0",
    "streamlink",
    "python-vlc",
    "yt-dlp",
    "gevent==26.4.0",
    "daphne",
    "uwsgi",
    "django-cors-headers",
    "djangorestframework-simplejwt",
    "m3u8",
    "rapidfuzz==3.14.5",
    "regex",
    "tzlocal",
    "pytz",
    "torch==2.11.0+cpu",
    "sentence-transformers==5.4.1",
    "channels",
    "channels-redis==4.3.0",
    "django-filter",
    "django-celery-beat>=2.9.0",
    "lxml==6.1.0",
    "packaging",
    "python-gnupg",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

# PyTorch CPU-only wheels index
[[tool.uv.index]]
url = "https://download.pytorch.org/whl/cpu"
name = "pytorch-cpu"
explicit = true

[tool.uv.sources]
torch = { index = "pytorch-cpu" }

[tool.hatch.build.targets.wheel]
packages = ["dispatcharr", "apps", "core"]

[tool.hatch.version]
path = "version.py"
