voice-tools / pyproject.toml
jcudit's picture
jcudit HF Staff
chore: upgrade Gradio to 6.2.0 and align pyannote.audio dependencies
fd97113
[project]
name = "voice-tools"
version = "0.1.0"
description = "Voice extraction tool for video generation - extracts target voice from mixed audio files"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
authors = [
{name = "Voice Tools Contributors"}
]
keywords = ["audio", "voice-extraction", "speaker-diarization", "ml", "huggingface"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Multimedia :: Sound/Audio :: Analysis",
]
dependencies = [
# Core ML and audio processing
"torch>=2.4.0",
"torchaudio>=2.4.0",
"transformers>=4.35.0",
"gradio>=6.2.0",
"spaces>=0.28.3", # HuggingFace ZeroGPU support
# HuggingFace models
"huggingface-hub>=0.16.0",
"pyannote.audio>=4.0.0",
# Audio processing
"librosa>=0.10.0",
"soundfile>=0.12.1",
"pydub>=0.25.1",
# VAD and speech processing
"silero-vad>=4.0.0",
# Quality metrics
"pesq>=0.0.4",
"pystoi>=0.4.1",
# Noise reduction
"noisereduce>=3.0.0",
# Utilities
"numpy>=1.24.0",
"scipy>=1.10.0",
"rich>=13.0.0", # For CLI progress bars
"click>=8.1.0", # For CLI interface
"python-dotenv>=1.0.0", # For .env file support
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.0",
"pytest-cov>=4.1.0",
"black>=23.0.0",
"ruff>=0.1.0",
"mypy>=1.5.0",
]
[project.scripts]
voice-tools = "src.cli.main:main"
[build-system]
requires = ["setuptools>=68.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
include = ["src*"]
[tool.black]
line-length = 100
target-version = ["py311"]
include = '\.pyi?$'
[tool.ruff]
line-length = 100
target-version = "py311"
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
]
ignore = [
"E501", # line too long (handled by black)
"B008", # do not perform function calls in argument defaults
]
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = false
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "-v --tb=short"