[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "ownvoice-cli" version = "0.1.6" description = "Train a LoRA voice adapter for pocket-tts and keep the result on your own disk, not an API subscription." readme = "README.md" license = { text = "MIT" } authors = [ { name = "Rudrendu Paul" }, { name = "Sourav Nandy" }, ] requires-python = ">=3.11" keywords = ["tts", "text-to-speech", "voice-cloning", "lora", "peft", "pocket-tts", "fine-tuning", "local-first", "pytorch", "mcp", "model-context-protocol", "agent-tools"] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "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", ] dependencies = [ "pocket-tts>=0.1.0", "torch>=2.5", "torchaudio>=2.5", "peft>=0.11.0", "safetensors>=0.4.0", "resemblyzer>=0.1.4", # resemblyzer -> webrtcvad does `import pkg_resources`, which setuptools>=81 # removed entirely. A fresh install otherwise pulls the latest setuptools # (via torch) and the very first `ownvoice train` run dies with # ModuleNotFoundError: No module named 'pkg_resources'. "setuptools<84", "soundfile>=0.12.0", "typer>=0.12.0", "numba>=0.59", ] [project.optional-dependencies] # The mcp package requires Python >=3.10, below this project's own >=3.11 # floor, so it never conflicts here. Pinned to >=2.0.0: mcp_server.py uses # `mcp.server.MCPServer`, which replaced `mcp.server.fastmcp.FastMCP` in # the 2.0.0 release -- verified directly against the installed package. mcp = ["mcp[cli]>=2.0.0"] dev = [ "pytest>=8.0.0", "pytest-mock>=3.14.0", ] [project.urls] Homepage = "https://github.com/RudrenduPaul/ownvoice" Repository = "https://github.com/RudrenduPaul/ownvoice" Issues = "https://github.com/RudrenduPaul/ownvoice/issues" "Author - Rudrendu Paul" = "https://github.com/RudrenduPaul" "Author - Sourav Nandy" = "https://github.com/Sourav-nandy-ai" [project.scripts] ownvoice = "ownvoice.cli:app" ownvoice-mcp = "ownvoice.mcp_server:main" [tool.hatch.build] exclude = [".venv*/"] [tool.hatch.build.targets.wheel] packages = ["ownvoice"] [tool.pytest.ini_options] testpaths = ["tests"]