* Fix Stream Generator on MacOS
* Make it work on mps
* Implement custom tensor.isin
* Fix for latest TF
* Comment out hack for now
* Remove unused code
* build: increase minimum transformers version
* style: fix
---------
Co-authored-by: Enno Hermann <Eginhard@users.noreply.github.com>
Identified necessary code changes with the NPY201 ruff rule. Gruut is the only
dependency that doesn't support numpy2 yet.
NB: At build time numpy>=2.0.0 should be required to be able to build wheels
compatible with both numpy1+2:
https://numpy.org/devdocs/dev/depending_on_numpy.html#numpy-2-abi-handling
Having this file is still useful to allow installing *only* dev requirements
(e.g. in CI) with:
pip install -r requirements.dev.txt
Generate that file automatically from the pyproject.toml based on:
e7c6baf00f/tools/generate_requirements.py
* Use packaging.version for version comparisons
The distutils package is deprecated¹ and relies on PEP 386² version
comparisons, which have been superseded by PEP 440³ which is implemented
through the packaging module.
With more recent distutils versions, provided through setuptools
vendoring, we are seeing the following exception during version
comparisons:
> TypeError: '<' not supported between instances of 'str' and 'int'
This is fixed by this migration.
[1] https://docs.python.org/3/library/distutils.html
[2] https://peps.python.org/pep-0386/
[3] https://peps.python.org/pep-0440/
* Improve espeak version detection robustness
On many modern systems espeak is just a symlink to espeak-ng. In that
case looking for the 3rd word in the version output will break the
version comparison, when it finds `text-to-speech:`, instead of a proper
version.
This will not break during runtime, where espeak-ng would be
prioritized, but the phonemizer and tokenizer tests force the backend
to `espeak`, which exhibits this breakage.
This improves the version detection by simply looking for the version
after the "text-to-speech:" token.
* Replace distuils.copy_tree with shutil.copytree
The distutils module is deprecated and slated for removal in Python
3.12. Its usage should be replaced, in this case by a compatible method
from shutil.