Package: src:textdistance Version: 4.6.3-4 Severity: serious Tags: ftbfs trixie sid
Dear maintainer: During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py clean /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running clean removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build' (and everything under it) 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running build running build_py creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance copying textdistance/benchmark.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance copying textdistance/libraries.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance copying textdistance/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance copying textdistance/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/token_based.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/sequence_based.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/phonetic.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/edit_based.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/simple.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/vector_based.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/compression_based.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/types.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/base.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/algorithms/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance/algorithms copying textdistance/py.typed -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance copying textdistance/libraries.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/textdistance dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.13.3, pytest-8.3.5, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build configfile: setup.cfg plugins: hypothesis-6.130.5, typeguard-4.4.2 collected 430 items tests/test_common.py ................................................... [ 11%] ........................................................................ [ 28%] ............................................. [ 39%] tests/test_compression/test_arith_ncd.py .... [ 40%] tests/test_compression/test_bwtrle_ncd.py .. [ 40%] tests/test_compression/test_bz2_ncd.py .. [ 40%] tests/test_compression/test_common.py ............................ [ 47%] tests/test_compression/test_entropy_ncd.py ........ [ 49%] tests/test_compression/test_sqrt_ncd.py ....... [ 50%] tests/test_edit/test_damerau_levenshtein.py ............................ [ 57%] .... [ 58%] tests/test_edit/test_editex.py ............ [ 61%] tests/test_edit/test_gotoh.py ..... [ 62%] tests/test_edit/test_hamming.py ...... [ 63%] tests/test_edit/test_jaro.py ........ [ 65%] tests/test_edit/test_jaro_winkler.py ....... [ 67%] tests/test_edit/test_levenshtein.py ...... [ 68%] tests/test_edit/test_matrix.py .......... [ 70%] tests/test_edit/test_mlipns.py ........... [ 73%] tests/test_edit/test_needleman_wunsch.py ..... [ 74%] tests/test_edit/test_smith_waterman.py ..... [ 75%] tests/test_edit/test_strcmp95.py .... [ 76%] tests/test_external.py .F..F.F..F.F..F.F..F.F..F.F..F [ 83%] tests/test_phonetic/test_editex.py .............................. [ 90%] tests/test_sequence/test_lcsseq.py ........... [ 93%] tests/test_sequence/test_lcsstr.py .......... [ 95%] tests/test_token/test_bag.py .... [ 96%] tests/test_token/test_cosine.py .. [ 96%] tests/test_token/test_jaccard.py ..... [ 98%] tests/test_token/test_monge_elkan.py .. [ 98%] tests/test_token/test_overlap.py ... [ 99%] tests/test_token/test_sorensen.py ... [100%] =================================== FAILURES =================================== ____________________________ test_compare[Hamming] _____________________________ alg = 'Hamming' @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:21: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Hamming' @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.settings(deadline=None) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) def test_compare(left, right, alg): for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.hamming E Falsifying example: test_compare( E # The test always failed when commented parts were varied together. E alg='Hamming', E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:39: RuntimeError __________________________ test_compare[Levenshtein] ___________________________ alg = 'Levenshtein' @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:21: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Levenshtein' @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.settings(deadline=None) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) def test_compare(left, right, alg): for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.distance E Falsifying example: test_compare( E # The test always failed when commented parts were varied together. E alg='Levenshtein', E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:39: RuntimeError ___________________________ test_qval[None-Hamming] ____________________________ alg = 'Hamming', qval = None @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Hamming', qval = None @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.hamming E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Hamming', E qval=None, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError _________________________ test_qval[None-Levenshtein] __________________________ alg = 'Levenshtein', qval = None @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Levenshtein', qval = None @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.distance E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Levenshtein', E qval=None, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError _____________________________ test_qval[1-Hamming] _____________________________ alg = 'Hamming', qval = 1 @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Hamming', qval = 1 @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.hamming E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Hamming', E qval=1, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError ___________________________ test_qval[1-Levenshtein] ___________________________ alg = 'Levenshtein', qval = 1 @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Levenshtein', qval = 1 @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.distance E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Levenshtein', E qval=1, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError _____________________________ test_qval[2-Hamming] _____________________________ alg = 'Hamming', qval = 2 @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Hamming', qval = 2 @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.hamming E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Hamming', E qval=2, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError ___________________________ test_qval[2-Levenshtein] ___________________________ alg = 'Levenshtein', qval = 2 @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Levenshtein', qval = 2 @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.distance E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Levenshtein', E qval=2, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError _____________________________ test_qval[3-Hamming] _____________________________ alg = 'Hamming', qval = 3 @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Hamming', qval = 3 @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.hamming E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Hamming', E qval=3, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError ___________________________ test_qval[3-Levenshtein] ___________________________ alg = 'Levenshtein', qval = 3 @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = '0', right = '0', alg = 'Levenshtein', qval = 3 @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.text(min_size=1), right=hypothesis.strategies.text(min_size=1), ) @pytest.mark.parametrize('qval', (None, 1, 2, 3)) def test_qval(left: str, right: str, alg: str, qval: int | None) -> None: for lib in libraries.get_libs(alg): if lib.module_name == 'jellyfish': ascii = set(string.printable) if (set(left) | set(right)) - ascii: continue conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.distance E Falsifying example: test_qval( E # The test always failed when commented parts were varied together. E alg='Levenshtein', E qval=3, E left='0', # or any other generated value E right='0', # or any other generated value E ) tests/test_external.py:69: RuntimeError ________________________ test_list_of_numbers[Hamming] _________________________ alg = 'Hamming' @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = [], right = [], alg = 'Hamming' @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.lists(hypothesis.strategies.integers()), right=hypothesis.strategies.lists(hypothesis.strategies.integers()), ) def test_list_of_numbers(left, right, alg): for lib in libraries.get_libs(alg): conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.hamming E Falsifying example: test_list_of_numbers( E # The test always failed when commented parts were varied together. E alg='Hamming', E left=[], # or any other generated value E right=[], # or any other generated value E ) tests/test_external.py:102: RuntimeError ______________________ test_list_of_numbers[Levenshtein] _______________________ alg = 'Levenshtein' @pytest.mark.external > @pytest.mark.parametrize('alg', libraries.get_algorithms()) tests/test_external.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ left = [], right = [], alg = 'Levenshtein' @pytest.mark.external @pytest.mark.parametrize('alg', libraries.get_algorithms()) @hypothesis.given( left=hypothesis.strategies.lists(hypothesis.strategies.integers()), right=hypothesis.strategies.lists(hypothesis.strategies.integers()), ) def test_list_of_numbers(left, right, alg): for lib in libraries.get_libs(alg): conditions = lib.conditions or {} internal_func = getattr(textdistance, alg)(external=False, **conditions) external_func = lib.get_function() if external_func is None: > raise RuntimeError('cannot import {}'.format(str(lib))) E RuntimeError: cannot import Levenshtein.distance E Falsifying example: test_list_of_numbers( E # The test always failed when commented parts were varied together. E alg='Levenshtein', E left=[], # or any other generated value E right=[], # or any other generated value E ) tests/test_external.py:102: RuntimeError =========================== short test summary info ============================ FAILED tests/test_external.py::test_compare[Hamming] - RuntimeError: cannot i... FAILED tests/test_external.py::test_compare[Levenshtein] - RuntimeError: cann... FAILED tests/test_external.py::test_qval[None-Hamming] - RuntimeError: cannot... FAILED tests/test_external.py::test_qval[None-Levenshtein] - RuntimeError: ca... FAILED tests/test_external.py::test_qval[1-Hamming] - RuntimeError: cannot im... FAILED tests/test_external.py::test_qval[1-Levenshtein] - RuntimeError: canno... FAILED tests/test_external.py::test_qval[2-Hamming] - RuntimeError: cannot im... FAILED tests/test_external.py::test_qval[2-Levenshtein] - RuntimeError: canno... FAILED tests/test_external.py::test_qval[3-Hamming] - RuntimeError: cannot im... FAILED tests/test_external.py::test_qval[3-Levenshtein] - RuntimeError: canno... FAILED tests/test_external.py::test_list_of_numbers[Hamming] - RuntimeError: ... FAILED tests/test_external.py::test_list_of_numbers[Levenshtein] - RuntimeErr... ======================= 12 failed, 418 passed in 25.09s ======================== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:4: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202504/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:textdistance, so that this is still visible in the BTS web page for this package. Thanks.