[build-system]
requires = ["setuptools>=64", "wheel", "setuptools_scm>=8"]
build-backend = "setuptools.build_meta"

[project]
name = "voxcpm"
dynamic = ["version"]
description = "VoxCPM: Tokenizer-Free TTS for Context-Aware Speech Generation and True-to-Life Voice Cloning"
readme = "README.md"
license = "Apache-2.0"
authors = [
    {name = "OpenBMB", email = "openbmb@gmail.com"}
]
maintainers = [
    {name = "OpenBMB", email = "openbmb@gmail.com"}
]
keywords = ["voxcpm", "text-to-speech", "tts", "speech-synthesis", "voice-cloning", "ai", "deep-learning", "pytorch"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
]
requires-python = ">=3.10"
dependencies = [
    "torch>=2.5.0",
    "torchaudio>=2.5.0",
    "torchcodec",
    "transformers>=4.36.2",
    "einops",
    "gradio<6",
    "inflect",
    "addict",
    "wetext",
    "modelscope>=1.22.0",
    "datasets>=3,<4",
    "huggingface-hub",
    "pydantic",
    "tqdm",
    "simplejson",
    "sortedcontainers",
    "soundfile",
    "librosa",
    "matplotlib",
    "funasr",
    "spaces",
    "argbind",
    "safetensors"

]

[project.optional-dependencies]
dev = [
    "pytest>=6.0",
    "pytest-cov>=2.0",
    "black>=21.0",
    "flake8>=3.8",
    "mypy>=0.800",
    "pre-commit>=2.0",
]

[project.scripts]
voxcpm = "voxcpm.cli:main"

[project.urls]
Homepage = "https://github.com/OpenBMB/VoxCPM"
Repository = "https://github.com/OpenBMB/VoxCPM.git"
Documentation = "https://github.com/OpenBMB/VoxCPM#readme"
"Bug Tracker" = "https://github.com/OpenBMB/VoxCPM/issues"

[tool.setuptools.packages.find]
where = ["src"]
include = ["voxcpm*"]

[tool.setuptools.package-dir]
"" = "src"

[tool.setuptools_scm]
version_scheme = "post-release"

[tool.black]
line-length = 120
target-version = ['py310']
include = '\.pyi?$'
extend-exclude = '''
/(
  # directories
  \.eggs
  | \.git
  | \.hg
  | \.mypy_cache
  | \.tox
  | \.venv
  | build
  | dist
)/
'''
