Turn 'pyannote' into an optional dependency#122
Merged
Conversation
dumitrugutu
reviewed
May 14, 2025
436601e to
12dc78b
Compare
Contributor
Author
|
Should be better - also I had missed a 'pandas' on the first try 😅 |
dumitrugutu
reviewed
May 15, 2025
Contributor
|
Hi @olgeni, looks like your branch has some lint errors––try rebasing as these most likely come from the master branch. |
BREAKING CHANGE: Metrics functionality now requires explicit installation Previously, all metrics dependencies (pyannote, pandas, jiwer, etc.) were installed by default. This change moves them to an optional '[metrics]' extra to reduce the default installation footprint. Changes: - Move metrics dependencies to requirements-metrics.txt - Configure extras_require in setup.py for optional installation - Add graceful error handling in CLI when dependencies are missing - Update README with installation instructions for metrics features To use metrics functionality after this change: pip install speechmatics-python[metrics] This significantly reduces installation size and time for users who only need the core transcription features, while maintaining full functionality for those who need metrics capabilities.
Contributor
Author
|
Some old, some new, should all be better now 💡 |
dumitrugutu
approved these changes
May 20, 2025
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.
The current dependency on pyannote significantly increases the installation timeand complexity for speechmatics-python. Specifically, pyannote introduces heavy dependencies (numpy, scipy, and others), which, when built from source, require extensive build times and additional tooling, including a Fortran compiler \o/
Since the pyannote dependency is only used within the asr_metrics module and does not appear necessary for typical usage scenarios of the SDK, making it optional would greatly streamline default installations 😅
So, I tried to make it optional and edited the asr_metrics cli to handle the case when it is missing (and made some tiny fixes).