zemax-studio / pyproject.toml
phamminhtien07-sudo
deploy: initial clean space build with version upgrades and thread optimizations
319cf9c
Raw
History Blame Contribute Delete
6.04 kB
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[tool.uv]
index-strategy = "unsafe-best-match"
required-environments = [
"sys_platform == 'win32' and platform_machine == 'AMD64'",
"sys_platform == 'linux' and platform_machine == 'x86_64'",
"sys_platform == 'darwin' and platform_machine == 'arm64'",
]
override-dependencies = [
"nvidia-nccl-cu12; sys_platform == 'linux'",
]
# uv mặc định cài nhóm `dev`; đặt rỗng để `uv sync` chỉ cài core torch-free.
# Muốn dev/test: `uv sync --group dev`. Muốn GPU: `uv sync --group gpu` hoặc `--extra gpu`.
default-groups = []
[[tool.uv.index]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cu128"
explicit = true
[[tool.uv.index]]
name = "pypi"
url = "https://pypi.org/simple"
[[tool.uv.index]]
name = "llama-cpp-metal"
url = "https://abetlen.github.io/llama-cpp-python/whl/metal/"
explicit = true
[project]
name = "vieneu"
version = "3.0.5"
description = "Advanced on-device Vietnamese TTS with instant voice cloning"
readme = "README_PYPI.md"
license = { file = "LICENSE" }
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Multimedia :: Sound/Audio :: Speech",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Operating System :: OS Independent",
]
keywords = [
"text-to-speech",
"tts",
"vietnamese",
"voice-cloning",
"speech-synthesis",
"real-time",
"on-device"
]
authors = [
{ name = "Phạm Nguyễn Ngọc Bảo", email = "pnnbao@gmail.com" }
]
requires-python = ">=3.10"
# Minimal, TORCH-FREE core. `pip install vieneu` runs VieNeu-TTS v3 Turbo on CPU
# via ONNX Runtime. GPU / older backends (torch, transformers, llama-cpp, lmdeploy,
# librosa) live in the optional [gpu] extra.
dependencies = [
"sea-g2p>=0.7.6", # phonemizer (Rust, torch-free) — needs punc_norm (>=0.7.6)
"onnxruntime>=1.20.0", # runs the v3 transformers + MOSS codec
"numpy",
"soundfile", # audio I/O
"soxr", # lightweight resampling for voice cloning
"tokenizers>=0.20", # phoneme tokenizer (torch-free)
"huggingface_hub", # fetch ONNX / config / tokenizer / voices
"PyYAML", # gradio config.yaml
"gradio>=5.49.1", # web UI (vieneu-web)
"perth>=0.2.0", # optional audio watermark (skipped gracefully if absent)
"google-generativeai>=0.8.6",
"google-genai>=2.9.0",
]
[project.urls]
"Homepage" = "https://github.com/pnnbao97/VieNeu-TTS"
"Repository" = "https://github.com/pnnbao97/VieNeu-TTS"
"Bug Tracker" = "https://github.com/pnnbao97/VieNeu-TTS/issues"
"Documentation" = "https://github.com/pnnbao97/VieNeu-TTS/blob/main/README.md"
"Source Code" = "https://github.com/pnnbao97/VieNeu-TTS"
"Changelog" = "https://github.com/pnnbao97/VieNeu-TTS/releases"
[project.optional-dependencies]
# GPU + older backends (v1/v2 PyTorch & GGUF, v3 Turbo on GPU). Adds the heavy deps
# that the minimal/ONNX install deliberately omits.
gpu = [
"torch",
"torchaudio",
"transformers",
"librosa>=0.11.0",
"neucodec>=0.0.4",
"lmdeploy; sys_platform != 'darwin'",
"triton-windows; sys_platform == 'win32'",
"triton; sys_platform == 'linux'",
"accelerate; sys_platform == 'darwin'",
"llama-cpp-python==0.3.16",
]
[dependency-groups]
dev = [
"pytest",
"pytest-asyncio",
# Test-only deps for the GPU/standard/xpu backend tests (NOT in the runtime
# install — `pip install vieneu` stays minimal/torch-free). CI installs the dev
# group, so these tests can import librosa/transformers/neucodec-based engines.
"librosa>=0.11.0",
"transformers",
"neucodec>=0.0.4",
]
gpu = [
"neucodec>=0.0.4",
"torch==2.8.0",
"torchaudio==2.8.0",
"datasets>=3.2.0",
"perth>=0.2.0",
"lmdeploy; sys_platform != 'darwin'",
"triton-windows; sys_platform == 'win32'",
"triton; sys_platform == 'linux'",
"transformers; sys_platform == 'darwin'",
"accelerate; sys_platform == 'darwin'",
"trafilatura>=2.0.0",
"llama-cpp-python==0.3.16",
]
[tool.pytest.ini_options]
pythonpath = ["src"]
[project.scripts]
vieneu-web = "apps.gradio_main:main"
vieneu-stream = "apps.web_stream:main"
[tool.setuptools]
package-dir = {"" = "src", "apps" = "apps", "examples" = "examples"}
[tool.setuptools.packages.find]
where = ["src", "."]
include = ["vieneu*", "vieneu_utils*", "apps*", "examples*"]
[tool.setuptools.package-data]
vieneu = ["assets/*.json", "assets/samples/*"]
[tool.uv.sources]
torch = [
{ index = "pytorch", marker = "sys_platform != 'darwin'" },
{ index = "pypi", marker = "sys_platform == 'darwin'" }
]
torchaudio = [
{ index = "pytorch", marker = "sys_platform != 'darwin'" },
{ index = "pypi", marker = "sys_platform == 'darwin'" }
]
lmdeploy = [
{ url = "https://github.com/InternLM/lmdeploy/releases/download/v0.11.0/lmdeploy-0.11.0+cu128-cp312-cp312-win_amd64.whl", marker = "sys_platform == 'win32' and python_version == '3.12'" },
{ url = "https://github.com/InternLM/lmdeploy/releases/download/v0.11.0/lmdeploy-0.11.0+cu128-cp312-cp312-manylinux2014_x86_64.whl", marker = "sys_platform == 'linux' and python_version == '3.12'" },
{ index = "pypi", marker = "sys_platform == 'darwin'" }
]
llama-cpp-python = [
{ url = "https://github.com/pnnbao97/VieNeu-TTS/releases/download/wheels-v0.3.16/llama_cpp_python-0.3.16-cp312-cp312-win_amd64.whl", marker = "sys_platform == 'win32' and python_version == '3.12'" },
{ index = "llama-cpp-metal", marker = "sys_platform == 'darwin'" },
{ index = "pypi", marker = "sys_platform != 'win32' and sys_platform != 'darwin'" }
]