[build-system] requires = [ "setuptools", "wheel", "cython~=0.29.30", "numpy>=1.22.0", "packaging", ] [tool.setuptools.packages.find] include = ["TTS*"] [project] name = "coqui-tts" version = "0.23.1" description = "Deep learning for Text to Speech." readme = "README.md" requires-python = ">=3.9, <3.13" license = {text = "MPL-2.0"} authors = [ {name = "Eren Gölge", email = "egolge@coqui.ai"} ] maintainers = [ {name = "Enno Hermann", email = "enno.hermann@gmail.com"} ] classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "Intended Audience :: Developers", "Operating System :: POSIX :: Linux", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Multimedia :: Sound/Audio :: Speech", "Topic :: Multimedia :: Sound/Audio", "Topic :: Multimedia", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] [project.urls] Homepage = "https://github.com/idiap/coqui-ai-TTS" Documentation = "https://coqui-tts.readthedocs.io" Repository = "https://github.com/idiap/coqui-ai-TTS" Issues = "https://github.com/idiap/coqui-ai-TTS/issues" Discussions = "https://github.com/idiap/coqui-ai-TTS/discussions" [project.scripts] tts = "TTS.bin.synthesize:main" tts-server = "TTS.server.server:main" [tool.ruff] target-version = "py39" line-length = 120 lint.extend-select = [ "B033", # duplicate-value "C416", # unnecessary-comprehension "D419", # empty-docstring "E999", # syntax-error "F401", # unused-import "F704", # yield-outside-function "F706", # return-outside-function "F841", # unused-variable "I", # import sorting "PIE790", # unnecessary-pass "PLC", "PLE", "PLR0124", # comparison-with-itself "PLR0206", # property-with-parameters "PLR0911", # too-many-return-statements "PLR1711", # useless-return "PLW", "W291", # trailing-whitespace ] lint.ignore = [ "E501", # line too long "E722", # bare except (TODO: fix these) "E731", # don't use lambdas "E741", # ambiguous variable name "PLR0912", # too-many-branches "PLR0913", # too-many-arguments "PLR0915", # too-many-statements "UP004", # useless-object-inheritance "F821", # TODO: enable "F841", # TODO: enable "PLW0602", # TODO: enable "PLW2901", # TODO: enable "PLW0127", # TODO: enable "PLW0603", # TODO: enable ] [tool.ruff.lint.pylint] max-args = 5 max-public-methods = 20 max-returns = 7 [tool.ruff.lint.per-file-ignores] "**/__init__.py" = [ "F401", # init files may have "unused" imports for now "F403", # init files may have star imports for now ] "hubconf.py" = [ "E402", # module level import not at top of file ] [tool.black] line-length = 120 target-version = ['py39'] [tool.coverage.run] parallel = true source = ["TTS"]