pyproject.toml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. [project]
  2. name = "fish-speech"
  3. version = "2.0.0"
  4. authors = [
  5. {name = "Fish Audio", email = "oss@fish.audio"},
  6. ]
  7. description = "Fish Speech"
  8. readme = "README.md"
  9. requires-python = ">=3.10"
  10. keywords = ["TTS", "Speech"]
  11. license = {text = "Fish Audio Research License"}
  12. classifiers = [
  13. "Programming Language :: Python :: 3",
  14. ]
  15. dependencies = [
  16. "numpy",
  17. "torch==2.8.0",
  18. "torchaudio==2.8.0",
  19. "transformers<=4.57.3",
  20. "datasets==2.18.0",
  21. "lightning>=2.1.0",
  22. "hydra-core>=1.3.2",
  23. "tensorboard>=2.14.1",
  24. "natsort>=8.4.0",
  25. "einops>=0.7.0",
  26. "librosa>=0.10.1",
  27. "rich>=13.5.3",
  28. "gradio>5.0.0",
  29. "wandb>=0.19.0",
  30. "grpcio>=1.58.0",
  31. "kui>=1.6.0",
  32. "uvicorn>=0.30.0",
  33. "loguru>=0.6.0",
  34. "loralib>=0.1.2",
  35. "pyrootutils>=1.0.4",
  36. "resampy>=0.4.3",
  37. "einx[torch]==0.2.2",
  38. "zstandard>=0.22.0",
  39. "pydub",
  40. "pyaudio",
  41. "modelscope==1.17.1",
  42. "opencc-python-reimplemented==0.1.7",
  43. "silero-vad",
  44. "ormsgpack",
  45. "tiktoken>=0.8.0",
  46. "pydantic==2.9.2",
  47. "cachetools",
  48. "descript-audio-codec",
  49. "safetensors"
  50. ]
  51. [project.optional-dependencies]
  52. stable = [
  53. "torch==2.8.0",
  54. "torchaudio",
  55. ]
  56. cpu = [
  57. "torch==2.8.0",
  58. "torchaudio",
  59. ]
  60. cu126 = [
  61. "torch==2.8.0",
  62. "torchaudio",
  63. ]
  64. cu128 = [
  65. "torch==2.8.0",
  66. "torchaudio",
  67. ]
  68. cu129 = [
  69. "torch==2.8.0",
  70. "torchaudio",
  71. ]
  72. quantization = [
  73. "bitsandbytes>=0.41.0",
  74. ]
  75. [tool.uv]
  76. override-dependencies = [
  77. # descript-audiotools (transitive via descript-audio-codec) pins protobuf<3.20,
  78. # but fish-speech's generated proto code requires >=3.20; cap at <6 for API stability
  79. "protobuf>=3.20.0,<6.0.0",
  80. ]
  81. conflicts = [
  82. [
  83. { extra = "cpu" },
  84. { extra = "cu126" },
  85. { extra = "cu128" },
  86. { extra = "cu129" },
  87. ],
  88. ]
  89. [tool.uv.sources]
  90. torch = [
  91. { index = "pytorch-cpu", extra = "cpu" },
  92. { index = "pytorch-cu126", extra = "cu126" },
  93. { index = "pytorch-cu128", extra = "cu128" },
  94. { index = "pytorch-cu129", extra = "cu129" },
  95. ]
  96. torchaudio = [
  97. { index = "pytorch-cpu", extra = "cpu" },
  98. { index = "pytorch-cu126", extra = "cu126" },
  99. { index = "pytorch-cu128", extra = "cu128" },
  100. { index = "pytorch-cu129", extra = "cu129" },
  101. ]
  102. [[tool.uv.index]]
  103. name = "pytorch-cpu"
  104. url = "https://download.pytorch.org/whl/cpu"
  105. explicit = true
  106. [[tool.uv.index]]
  107. name = "pytorch-cu126"
  108. url = "https://download.pytorch.org/whl/cu126"
  109. explicit = true
  110. [[tool.uv.index]]
  111. name = "pytorch-cu128"
  112. url = "https://download.pytorch.org/whl/cu128"
  113. explicit = true
  114. [[tool.uv.index]]
  115. name = "pytorch-cu129"
  116. url = "https://download.pytorch.org/whl/cu129"
  117. explicit = true
  118. [build-system]
  119. requires = ["setuptools", "setuptools-scm"]
  120. build-backend = "setuptools.build_meta"
  121. [tool.setuptools]
  122. packages = ["fish_speech", "tools"]
  123. [tool.setuptools_scm]