[project] name = "real-time-voice-cloning" version = "0.0.0" requires-python = ">=3.9,<3.10" # Dependencies will be populated by `uv add -r requirements.txt`. dependencies = [ "huggingface-hub[hf_xet]>=0.26,<1", "inflect==5.3.0", "librosa==0.9.2", "matplotlib>=3.7.0", "numpy>=1.26,<2", "Pillow>=10.2.0", "PyQt5==5.15.11", "scikit-learn>=1.3.0", "scipy>=1.7", "setuptools<=80.8.0", "sounddevice==0.4.3", "soundfile==0.10.3.post1", "tqdm==4.62.3", "umap-learn==0.5.2", "Unidecode==1.3.2", "urllib3>=1.26.19,<2.0.0", "visdom==0.1.8.9", "webrtcvad==2.0.10", ] [project.optional-dependencies] # CPU-only torch (default in CI) cpu = ["torch>=2.0.0"] cuda = ["torch>=2.0.0"] [dependency-groups] # Dev/test dependencies dev = ["pytest"] # Map extras -> PyTorch wheel indexes so uv knows where to fetch torch [tool.uv.sources] torch = [ { index = "pytorch-cpu", extra = "cpu" }, { index = "pytorch-cuda", extra = "cuda" }, ] [[tool.uv.index]] name = "pytorch-cuda" url = "https://download.pytorch.org/whl/cu118" explicit = true [[tool.uv.index]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" explicit = true # Constrain lock resolution to platforms we actually support to avoid # selecting wheels that don't exist on Windows during local sync. [tool.uv] # Use PEP 508 markers for environments we support; allows a lock usable on Windows and Linux. required-environments = [ "sys_platform == 'win32'", "sys_platform == 'linux' and platform_machine == 'x86_64'", ] conflicts = [[{ extra = "cpu" }, { extra = "cuda" }]]