Repository navigation
Conversation
spacy-pkuseg is the only thing preventing chatterbox-tts from installing on Python 3.14. Its latest release (1.0.1, July 2025) publishes wheels through cp313 only, and the sdist cannot be built in environments without a compiler, so `pip install chatterbox-tts` fails outright on 3.14 rather than falling back. Everything else in the package is already 3.14-ready: the torch, torchaudio and numpy pins carry explicit python_version markers for exactly this transition, and all of them publish cp314 wheels. The code already treats the dependency as optional. MTLTokenizer's _init_segmenter catches ImportError, sets self.segmenter = None and logs that Chinese segmentation will be skipped, so a missing spacy-pkuseg degrades gracefully today. Only the hard pin in pyproject.toml forces it to be present, which costs every English-only user a whole Python version. Users who need Chinese segmentation install chatterbox-tts[zh]; behavior is unchanged for them. Users who don't now install on 3.14. Verified: the built METADATA declares `Provides-Extra: zh` and `Requires-Dist: spacy-pkuseg; extra == "zh"` with no unconditional requirement, and `pip install --dry-run --only-binary :all: .` now resolves the full tree on Python 3.14 (torch 2.13.0, torchaudio 2.11.0, transformers 5.2.0, gradio 6.8.0) where it previously failed. Separately, on 3.13, uninstalling spacy-pkuseg leaves `from chatterbox.tts import ChatterboxTTS` working. Refs resemble-ai#546
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
spacy-pkuseg is the only thing preventing chatterbox-tts from installing on Python 3.14. Its latest release (1.0.1, July 2025) publishes wheels through cp313 only, and the sdist cannot be built in environments without a compiler, so
pip install chatterbox-ttsfails outright on 3.14 rather than falling back.Everything else in the package is already 3.14-ready: the torch, torchaudio and numpy pins carry explicit python_version markers for exactly this transition, and all of them publish cp314 wheels.
The code already treats the dependency as optional. MTLTokenizer's _init_segmenter catches ImportError, sets self.segmenter = None and logs that Chinese segmentation will be skipped, so a missing spacy-pkuseg degrades gracefully today. Only the hard pin in pyproject.toml forces it to be present, which costs every English-only user a whole Python version.
Users who need Chinese segmentation install chatterbox-tts[zh]; behavior is unchanged for them. Users who don't now install on 3.14.
Verified: the built METADATA declares
Provides-Extra: zhandRequires-Dist: spacy-pkuseg; extra == "zh"with no unconditional requirement, andpip install --dry-run --only-binary :all: .now resolves the full tree on Python 3.14 (torch 2.13.0, torchaudio 2.11.0, transformers 5.2.0, gradio 6.8.0) where it previously failed. Separately, on 3.13, uninstalling spacy-pkuseg leavesfrom chatterbox.tts import ChatterboxTTSworking.Resolves #546