pyproject.toml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. [tool.uv]
  73. override-dependencies = [
  74. # descript-audiotools (transitive via descript-audio-codec) pins protobuf<3.20,
  75. # but fish-speech's generated proto code requires >=3.20; cap at <6 for API stability
  76. "protobuf>=3.20.0,<6.0.0",
  77. ]
  78. conflicts = [
  79. [
  80. { extra = "cpu" },
  81. { extra = "cu126" },
  82. { extra = "cu128" },
  83. { extra = "cu129" },
  84. ],
  85. ]
  86. [tool.uv.sources]
  87. torch = [
  88. { index = "pytorch-cpu", extra = "cpu" },
  89. { index = "pytorch-cu126", extra = "cu126" },
  90. { index = "pytorch-cu128", extra = "cu128" },
  91. { index = "pytorch-cu129", extra = "cu129" },
  92. ]
  93. torchaudio = [
  94. { index = "pytorch-cpu", extra = "cpu" },
  95. { index = "pytorch-cu126", extra = "cu126" },
  96. { index = "pytorch-cu128", extra = "cu128" },
  97. { index = "pytorch-cu129", extra = "cu129" },
  98. ]
  99. [[tool.uv.index]]
  100. name = "pytorch-cpu"
  101. url = "https://download.pytorch.org/whl/cpu"
  102. explicit = true
  103. [[tool.uv.index]]
  104. name = "pytorch-cu126"
  105. url = "https://download.pytorch.org/whl/cu126"
  106. explicit = true
  107. [[tool.uv.index]]
  108. name = "pytorch-cu128"
  109. url = "https://download.pytorch.org/whl/cu128"
  110. explicit = true
  111. [[tool.uv.index]]
  112. name = "pytorch-cu129"
  113. url = "https://download.pytorch.org/whl/cu129"
  114. explicit = true
  115. [build-system]
  116. requires = ["setuptools", "setuptools-scm"]
  117. build-backend = "setuptools.build_meta"
  118. [tool.setuptools]
  119. packages = ["fish_speech", "tools"]
  120. [tool.setuptools_scm]