[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "moss-tts"
version = "0.1.0"
description = "MOSS-TTS dependencies and utilities"
readme = "README.md"
requires-python = ">=3.10"
license = { file = "LICENSE" }
authors = [{ name = "OpenMOSS Team" }]
dependencies = [
  "safetensors==0.6.2",
  "numpy==2.1.0",
  "orjson==3.11.4",
  "tqdm==4.67.1",
  "PyYAML==6.0.3",
  "einops==0.8.1",
  "scipy==1.16.2",
  "librosa==0.11.0",
  "tiktoken==0.12.0",
  "psutil",
  "packaging",
  "ninja",
  "setuptools",
  "wheel",
  "gradio"
]

[project.optional-dependencies]
flash-attn = ["flash-attn"]
finetune = [
    "accelerate>=1.10.1",
    "wandb>=0.16.0",
]
finetune-deepspeed = [
    "accelerate>=1.10.1",
    "deepspeed>=0.16.0",
    "wandb>=0.16.0",
]

# Default PyTorch runtime stack for the original pipeline.
torch-runtime = [
    "torch==2.9.1+cu128",
    "torchaudio==2.9.1+cu128",
    "torchcodec===0.8.1",
    "transformers==5.0.0",
]

# llama.cpp backend — torch-free core
llama-cpp = [
    "numpy>=2.0",
    "pyyaml>=6.0",
    "tokenizers>=0.20",
    "soundfile>=0.12",
]
# llama.cpp + ONNX Runtime audio tokenizer
llama-cpp-onnx = [
    "numpy>=2.0",
    "pyyaml>=6.0",
    "tokenizers>=0.20",
    "soundfile>=0.12",
    "onnxruntime-gpu>=1.19",
]
# llama.cpp + TensorRT audio tokenizer
llama-cpp-trt = [
    "numpy>=2.0",
    "pyyaml>=6.0",
    "tokenizers>=0.20",
    "soundfile>=0.12",
    "tensorrt>=10.0",
    "cuda-python>=12.0",
]
# torch-accelerated LM heads (optional, auto-detected)
llama-cpp-torch = [
    "torch>=2.4",
]

[project.scripts]
moss-tts-llama-cpp = "moss_tts_delay.llama_cpp.pipeline:main"

[project.urls]
Homepage = "https://github.com/OpenMOSS-Team/MOSS-TTS"
Repository = "https://github.com/OpenMOSS-Team/MOSS-TTS"

[tool.setuptools]
py-modules = []
