Warning: Permanently added '3.235.176.155' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/9782382-fedora-rawhide-x86_64 --chroot fedora-rawhide-x86_64 Version: 1.6 PID: 8654 Logging PID: 8656 Task: {'allow_user_ssh': False, 'appstream': False, 'background': False, 'build_id': 9782382, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-x86_64', 'enable_net': False, 'fedora_review': True, 'git_hash': '7e74de585e8d43f835cf00df3cb15cad45c487a7', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/@fedora-review/fedora-review-2388154-python-tokenizers/python-tokenizers', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'python-tokenizers', 'package_version': '0.22.1-1', 'project_dirname': 'fedora-review-2388154-python-tokenizers', 'project_name': 'fedora-review-2388154-python-tokenizers', 'project_owner': '@fedora-review', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2388154-python-tokenizers/fedora-rawhide-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}], 'sandbox': '@fedora-review/fedora-review-2388154-python-tokenizers--frostyx', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 0, 'submitter': 'frostyx', 'tags': [], 'task_id': '9782382-fedora-rawhide-x86_64', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/@fedora-review/fedora-review-2388154-python-tokenizers/python-tokenizers /var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/@fedora-review/fedora-review-2388154-python-tokenizers/python-tokenizers', '/var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers'... Running: git checkout 7e74de585e8d43f835cf00df3cb15cad45c487a7 -- cmd: ['git', 'checkout', '7e74de585e8d43f835cf00df3cb15cad45c487a7', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers rc: 0 stdout: stderr: Note: switching to '7e74de585e8d43f835cf00df3cb15cad45c487a7'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 7e74de5 automatic import of python-tokenizers Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading tokenizers-0.22.1.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -o tokenizers-0.22.1.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/@fedora-review/fedora-review-2388154-python-tokenizers/python-tokenizers/tokenizers-0.22.1.tar.gz/md5/6b3f4c4c96bf540a9786cdf7b5cf8892/tokenizers-0.22.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 354k 100 354k 0 0 22.8M 0 --:--:-- --:--:-- --:--:-- 23.0M INFO: Reading stdout from command: md5sum tokenizers-0.22.1.tar.gz tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers/python-tokenizers.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1762722903.548974 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.5 starting (python version = 3.13.7, NVR = mock-6.5-1.fc42), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers/python-tokenizers.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1762722903.548974 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers/python-tokenizers.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.5 INFO: Mock Version: 6.5 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1762722903.548974/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Tagging container image as mock-bootstrap-e682a0d3-1002-4c15-8625-fe0687a0a30f INFO: Checking that 0c027afa2614ccbf6f86efd618d0fb124a778f4e98672c17bd1676b1f3ec6e9f image matches host's architecture INFO: Copy content of container 0c027afa2614ccbf6f86efd618d0fb124a778f4e98672c17bd1676b1f3ec6e9f to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1762722903.548974/root INFO: mounting 0c027afa2614ccbf6f86efd618d0fb124a778f4e98672c17bd1676b1f3ec6e9f with podman image mount INFO: image 0c027afa2614ccbf6f86efd618d0fb124a778f4e98672c17bd1676b1f3ec6e9f as /var/lib/containers/storage/overlay/13c2e2128b5bbfe47afa672e1f47e4cd0bedb141163f7340d7437cc0bfdde296/merged INFO: umounting image 0c027afa2614ccbf6f86efd618d0fb124a778f4e98672c17bd1676b1f3ec6e9f (/var/lib/containers/storage/overlay/13c2e2128b5bbfe47afa672e1f47e4cd0bedb141163f7340d7437cc0bfdde296/merged) with podman image umount INFO: Removing image mock-bootstrap-e682a0d3-1002-4c15-8625-fe0687a0a30f INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1762722903.548974/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-6.0.0-1.fc44.x86_64 rpm-sequoia-1.9.0-2.fc43.x86_64 dnf5-5.3.0.0-2.fc44.x86_64 dnf5-plugins-5.3.0.0-2.fc44.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: Copr repository 100% | 6.2 KiB/s | 1.6 KiB | 00m00s fedora 100% | 37.2 MiB/s | 21.8 MiB | 00m01s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 0:5.3.0-2.fc43 fedora 8.4 MiB bzip2 x86_64 0:1.0.8-21.fc43 fedora 95.3 KiB coreutils x86_64 0:9.8-3.fc44 fedora 5.4 MiB cpio x86_64 0:2.15-6.fc43 fedora 1.1 MiB diffutils x86_64 0:3.12-3.fc43 fedora 1.6 MiB fedora-release-common noarch 0:44-0.5 fedora 20.6 KiB findutils x86_64 1:4.10.0-6.fc43 fedora 1.8 MiB gawk x86_64 0:5.3.2-2.fc43 fedora 1.8 MiB glibc-minimal-langpack x86_64 0:2.42.9000-8.fc44 fedora 0.0 B grep x86_64 0:3.12-2.fc43 fedora 1.0 MiB gzip x86_64 0:1.14-1.fc44 fedora 397.8 KiB info x86_64 0:7.2-6.fc43 fedora 353.9 KiB patch x86_64 0:2.8-2.fc43 fedora 222.8 KiB redhat-rpm-config noarch 0:343-14.fc44 fedora 183.3 KiB rpm-build x86_64 0:6.0.0-1.fc44 fedora 287.4 KiB sed x86_64 0:4.9-6.fc44 fedora 857.3 KiB shadow-utils x86_64 2:4.18.0-3.fc43 fedora 3.9 MiB tar x86_64 2:1.35-6.fc43 fedora 2.9 MiB unzip x86_64 0:6.0-68.fc44 fedora 390.3 KiB util-linux x86_64 0:2.41.2-7.fc44 fedora 3.5 MiB which x86_64 0:2.23-3.fc43 fedora 83.5 KiB xz x86_64 1:5.8.1-2.fc43 fedora 1.3 MiB Installing dependencies: add-determinism x86_64 0:0.7.2-2.fc44 fedora 2.3 MiB alternatives x86_64 0:1.33-3.fc44 fedora 62.2 KiB ansible-srpm-macros noarch 0:1-18.1.fc43 fedora 35.7 KiB audit-libs x86_64 0:4.1.2-2.fc44 fedora 378.8 KiB binutils x86_64 0:2.45.50-7.fc44 fedora 27.1 MiB build-reproducibility-srpm-macros noarch 0:0.7.2-2.fc44 fedora 1.2 KiB bzip2-libs x86_64 0:1.0.8-21.fc43 fedora 80.6 KiB ca-certificates noarch 0:2025.2.80_v9.0.304-2.fc44 fedora 2.7 MiB coreutils-common x86_64 0:9.8-3.fc44 fedora 11.1 MiB crypto-policies noarch 0:20250714-5.gitcd6043a.fc44 fedora 146.9 KiB curl x86_64 0:8.17.0~rc3-1.fc44 fedora 475.3 KiB cyrus-sasl-lib x86_64 0:2.1.28-33.fc44 fedora 2.3 MiB debugedit x86_64 0:5.2-3.fc44 fedora 214.0 KiB dwz x86_64 0:0.16-2.fc43 fedora 287.1 KiB ed x86_64 0:1.22.2-1.fc44 fedora 148.1 KiB efi-srpm-macros noarch 0:6-5.fc44 fedora 40.2 KiB elfutils x86_64 0:0.194-1.fc44 fedora 2.9 MiB elfutils-debuginfod-client x86_64 0:0.194-1.fc44 fedora 84.0 KiB elfutils-default-yama-scope noarch 0:0.194-1.fc44 fedora 1.8 KiB elfutils-libelf x86_64 0:0.194-1.fc44 fedora 1.1 MiB elfutils-libs x86_64 0:0.194-1.fc44 fedora 687.5 KiB fedora-gpg-keys noarch 0:44-0.1 fedora 131.2 KiB fedora-release noarch 0:44-0.5 fedora 0.0 B fedora-release-identity-basic noarch 0:44-0.5 fedora 664.0 B fedora-repos noarch 0:44-0.1 fedora 4.9 KiB fedora-repos-rawhide noarch 0:44-0.1 fedora 2.2 KiB file x86_64 0:5.46-8.fc44 fedora 100.2 KiB file-libs x86_64 0:5.46-8.fc44 fedora 11.9 MiB filesystem x86_64 0:3.18-50.fc43 fedora 112.0 B filesystem-srpm-macros noarch 0:3.18-50.fc43 fedora 38.2 KiB fonts-srpm-macros noarch 1:5.0.0-1.fc44 fedora 55.8 KiB forge-srpm-macros noarch 0:0.4.0-3.fc43 fedora 38.9 KiB fpc-srpm-macros noarch 0:1.3-15.fc43 fedora 144.0 B gap-srpm-macros noarch 0:2-1.fc44 fedora 2.1 KiB gdb-minimal x86_64 0:16.3-6.fc44 fedora 13.3 MiB gdbm-libs x86_64 1:1.23-10.fc43 fedora 129.9 KiB ghc-srpm-macros noarch 0:1.9.2-3.fc43 fedora 779.0 B glibc x86_64 0:2.42.9000-8.fc44 fedora 6.8 MiB glibc-common x86_64 0:2.42.9000-8.fc44 fedora 1.0 MiB glibc-gconv-extra x86_64 0:2.42.9000-8.fc44 fedora 7.2 MiB gmp x86_64 1:6.3.0-4.fc44 fedora 815.3 KiB gnat-srpm-macros noarch 0:6-8.fc43 fedora 1.0 KiB gnulib-l10n noarch 0:20241231-1.fc44 fedora 655.0 KiB gnupg2 x86_64 0:2.4.8-4.fc43 fedora 6.5 MiB gnupg2-dirmngr x86_64 0:2.4.8-4.fc43 fedora 618.4 KiB gnupg2-gpg-agent x86_64 0:2.4.8-4.fc43 fedora 671.4 KiB gnupg2-gpgconf x86_64 0:2.4.8-4.fc43 fedora 250.0 KiB gnupg2-keyboxd x86_64 0:2.4.8-4.fc43 fedora 201.4 KiB gnupg2-verify x86_64 0:2.4.8-4.fc43 fedora 348.5 KiB gnutls x86_64 0:3.8.10-5.fc44 fedora 3.8 MiB go-srpm-macros noarch 0:3.8.0-1.fc44 fedora 61.9 KiB gpgverify noarch 0:2.2-3.fc43 fedora 8.7 KiB ima-evm-utils-libs x86_64 0:1.6.2-7.fc44 fedora 60.7 KiB jansson x86_64 0:2.14-3.fc43 fedora 89.1 KiB java-srpm-macros noarch 0:1-7.fc43 fedora 870.0 B json-c x86_64 0:0.18-7.fc43 fedora 82.7 KiB kernel-srpm-macros noarch 0:1.0-27.fc43 fedora 1.9 KiB keyutils-libs x86_64 0:1.6.3-6.fc43 fedora 54.3 KiB krb5-libs x86_64 0:1.21.3-10.fc44 fedora 2.3 MiB libacl x86_64 0:2.3.2-4.fc43 fedora 35.9 KiB libarchive x86_64 0:3.8.2-1.fc44 fedora 955.2 KiB libassuan x86_64 0:2.5.7-4.fc43 fedora 163.8 KiB libattr x86_64 0:2.5.2-6.fc43 fedora 24.4 KiB libblkid x86_64 0:2.41.2-7.fc44 fedora 262.4 KiB libbrotli x86_64 0:1.1.0-10.fc44 fedora 833.3 KiB libcap x86_64 0:2.77-1.fc44 fedora 209.1 KiB libcap-ng x86_64 0:0.8.5-8.fc44 fedora 68.9 KiB libcom_err x86_64 0:1.47.3-2.fc43 fedora 63.1 KiB libcurl x86_64 0:8.17.0~rc3-1.fc44 fedora 927.3 KiB libeconf x86_64 0:0.7.9-2.fc43 fedora 64.9 KiB libevent x86_64 0:2.1.12-16.fc43 fedora 883.1 KiB libfdisk x86_64 0:2.41.2-7.fc44 fedora 380.4 KiB libffi x86_64 0:3.5.2-1.fc44 fedora 83.8 KiB libfsverity x86_64 0:1.6-3.fc43 fedora 28.5 KiB libgcc x86_64 0:15.2.1-3.fc44 fedora 266.6 KiB libgcrypt x86_64 0:1.11.2-1.fc44 fedora 1.6 MiB libgomp x86_64 0:15.2.1-3.fc44 fedora 541.5 KiB libgpg-error x86_64 0:1.56-1.fc44 fedora 916.6 KiB libidn2 x86_64 0:2.3.8-2.fc43 fedora 552.5 KiB libksba x86_64 0:1.6.7-4.fc43 fedora 398.5 KiB liblastlog2 x86_64 0:2.41.2-7.fc44 fedora 33.9 KiB libmount x86_64 0:2.41.2-7.fc44 fedora 372.7 KiB libnghttp2 x86_64 0:1.68.0-1.fc44 fedora 162.2 KiB libpkgconf x86_64 0:2.3.0-3.fc43 fedora 78.1 KiB libpsl x86_64 0:0.21.5-6.fc43 fedora 76.4 KiB libselinux x86_64 0:3.9-5.fc44 fedora 193.1 KiB libselinux-utils x86_64 0:3.9-5.fc44 fedora 309.0 KiB libsemanage x86_64 0:3.9-4.fc44 fedora 308.5 KiB libsepol x86_64 0:3.9-2.fc43 fedora 822.0 KiB libsmartcols x86_64 0:2.41.2-7.fc44 fedora 180.5 KiB libssh x86_64 0:0.11.3-1.fc44 fedora 567.1 KiB libssh-config noarch 0:0.11.3-1.fc44 fedora 277.0 B libstdc++ x86_64 0:15.2.1-3.fc44 fedora 2.8 MiB libtasn1 x86_64 0:4.20.0-2.fc43 fedora 176.3 KiB libtool-ltdl x86_64 0:2.5.4-7.fc43 fedora 70.1 KiB libunistring x86_64 0:1.1-10.fc43 fedora 1.7 MiB libusb1 x86_64 0:1.0.29-4.fc44 fedora 171.3 KiB libuuid x86_64 0:2.41.2-7.fc44 fedora 37.3 KiB libverto x86_64 0:0.3.2-11.fc43 fedora 25.4 KiB libxcrypt x86_64 0:4.5.1-1.fc44 fedora 285.0 KiB libxml2 x86_64 0:2.12.10-5.fc44 fedora 1.7 MiB libzstd x86_64 0:1.5.7-3.fc44 fedora 940.3 KiB linkdupes x86_64 0:0.7.2-2.fc44 fedora 838.7 KiB lua-libs x86_64 0:5.4.8-2.fc43 fedora 280.8 KiB lua-srpm-macros noarch 0:1-16.fc43 fedora 1.3 KiB lz4-libs x86_64 0:1.10.0-3.fc43 fedora 161.4 KiB mpfr x86_64 0:4.2.2-2.fc43 fedora 832.8 KiB ncurses-base noarch 0:6.5-7.20250614.fc43 fedora 328.1 KiB ncurses-libs x86_64 0:6.5-7.20250614.fc43 fedora 946.3 KiB nettle x86_64 0:3.10.1-2.fc43 fedora 790.6 KiB npth x86_64 0:1.8-3.fc43 fedora 49.6 KiB ocaml-srpm-macros noarch 0:11-2.fc43 fedora 1.9 KiB openblas-srpm-macros noarch 0:2-20.fc43 fedora 112.0 B openldap x86_64 0:2.6.10-4.fc44 fedora 659.8 KiB openssl-libs x86_64 1:3.5.4-1.fc44 fedora 8.9 MiB p11-kit x86_64 0:0.25.8-1.fc44 fedora 2.3 MiB p11-kit-trust x86_64 0:0.25.8-1.fc44 fedora 446.5 KiB package-notes-srpm-macros noarch 0:0.5-14.fc43 fedora 1.6 KiB pam-libs x86_64 0:1.7.1-3.fc43 fedora 126.8 KiB pcre2 x86_64 0:10.46-1.fc44 fedora 697.7 KiB pcre2-syntax noarch 0:10.46-1.fc44 fedora 275.3 KiB perl-srpm-macros noarch 0:1-60.fc43 fedora 861.0 B pkgconf x86_64 0:2.3.0-3.fc43 fedora 88.5 KiB pkgconf-m4 noarch 0:2.3.0-3.fc43 fedora 14.4 KiB pkgconf-pkg-config x86_64 0:2.3.0-3.fc43 fedora 989.0 B policycoreutils x86_64 0:3.9-5.fc44 fedora 683.5 KiB popt x86_64 0:1.19-9.fc43 fedora 132.8 KiB publicsuffix-list-dafsa noarch 0:20250616-2.fc43 fedora 69.1 KiB pyproject-srpm-macros noarch 0:1.18.5-1.fc44 fedora 1.9 KiB python-srpm-macros noarch 0:3.14-9.fc44 fedora 51.6 KiB qt5-srpm-macros noarch 0:5.15.18-1.fc44 fedora 500.0 B qt6-srpm-macros noarch 0:6.10.0-1.fc44 fedora 464.0 B readline x86_64 0:8.3-2.fc43 fedora 511.7 KiB rpm x86_64 0:6.0.0-1.fc44 fedora 3.1 MiB rpm-build-libs x86_64 0:6.0.0-1.fc44 fedora 268.4 KiB rpm-libs x86_64 0:6.0.0-1.fc44 fedora 933.8 KiB rpm-plugin-selinux x86_64 0:6.0.0-1.fc44 fedora 12.0 KiB rpm-sequoia x86_64 0:1.9.0-2.fc43 fedora 2.5 MiB rpm-sign-libs x86_64 0:6.0.0-1.fc44 fedora 39.7 KiB rust-srpm-macros noarch 0:26.4-1.fc44 fedora 4.8 KiB selinux-policy noarch 0:42.14-1.fc44 fedora 31.9 KiB selinux-policy-targeted noarch 0:42.14-1.fc44 fedora 18.7 MiB setup noarch 0:2.15.0-27.fc44 fedora 724.9 KiB sqlite-libs x86_64 0:3.50.4-1.fc44 fedora 1.5 MiB systemd-libs x86_64 0:258.2-1.fc44 fedora 2.3 MiB systemd-standalone-sysusers x86_64 0:258.2-1.fc44 fedora 293.5 KiB tpm2-tss x86_64 0:4.1.3-8.fc43 fedora 1.6 MiB tree-sitter-srpm-macros noarch 0:0.4.2-1.fc43 fedora 8.3 KiB util-linux-core x86_64 0:2.41.2-7.fc44 fedora 1.5 MiB xxhash-libs x86_64 0:0.8.3-3.fc43 fedora 90.2 KiB xz-libs x86_64 1:5.8.1-2.fc43 fedora 217.8 KiB zig-srpm-macros noarch 0:1-5.fc43 fedora 1.1 KiB zip x86_64 0:3.0-44.fc43 fedora 694.5 KiB zlib-ng-compat x86_64 0:2.2.5-2.fc44 fedora 137.6 KiB zstd x86_64 0:1.5.7-3.fc44 fedora 506.2 KiB Installing groups: Buildsystem building group Transaction Summary: Installing: 177 packages Total size of inbound packages is 67 MiB. Need to download 67 MiB. After this operation, 219 MiB extra will be used (install 219 MiB, remove 0 B). [ 1/177] bzip2-0:1.0.8-21.fc43.x86_64 100% | 3.6 MiB/s | 51.6 KiB | 00m00s [ 2/177] bash-0:5.3.0-2.fc43.x86_64 100% | 81.3 MiB/s | 1.9 MiB | 00m00s [ 3/177] cpio-0:2.15-6.fc43.x86_64 100% | 31.8 MiB/s | 293.1 KiB | 00m00s [ 4/177] fedora-release-common-0:44-0. 100% | 8.0 MiB/s | 24.7 KiB | 00m00s [ 5/177] diffutils-0:3.12-3.fc43.x86_6 100% | 76.6 MiB/s | 392.3 KiB | 00m00s [ 6/177] coreutils-0:9.8-3.fc44.x86_64 100% | 37.1 MiB/s | 1.1 MiB | 00m00s [ 7/177] findutils-1:4.10.0-6.fc43.x86 100% | 107.4 MiB/s | 550.0 KiB | 00m00s [ 8/177] glibc-minimal-langpack-0:2.42 100% | 17.4 MiB/s | 53.5 KiB | 00m00s [ 9/177] grep-0:3.12-2.fc43.x86_64 100% | 48.7 MiB/s | 299.1 KiB | 00m00s [ 10/177] gzip-0:1.14-1.fc44.x86_64 100% | 34.7 MiB/s | 177.7 KiB | 00m00s [ 11/177] info-0:7.2-6.fc43.x86_64 100% | 35.7 MiB/s | 182.9 KiB | 00m00s [ 12/177] patch-0:2.8-2.fc43.x86_64 100% | 37.0 MiB/s | 113.8 KiB | 00m00s [ 13/177] redhat-rpm-config-0:343-14.fc 100% | 19.3 MiB/s | 79.2 KiB | 00m00s [ 14/177] rpm-build-0:6.0.0-1.fc44.x86_ 100% | 33.7 MiB/s | 138.0 KiB | 00m00s [ 15/177] sed-0:4.9-6.fc44.x86_64 100% | 44.2 MiB/s | 317.1 KiB | 00m00s [ 16/177] shadow-utils-2:4.18.0-3.fc43. 100% | 116.6 MiB/s | 1.3 MiB | 00m00s [ 17/177] unzip-0:6.0-68.fc44.x86_64 100% | 22.5 MiB/s | 184.6 KiB | 00m00s [ 18/177] tar-2:1.35-6.fc43.x86_64 100% | 55.8 MiB/s | 856.4 KiB | 00m00s [ 19/177] which-0:2.23-3.fc43.x86_64 100% | 8.2 MiB/s | 41.7 KiB | 00m00s [ 20/177] xz-1:5.8.1-2.fc43.x86_64 100% | 62.1 MiB/s | 572.5 KiB | 00m00s [ 21/177] gawk-0:5.3.2-2.fc43.x86_64 100% | 70.3 MiB/s | 1.1 MiB | 00m00s [ 22/177] util-linux-0:2.41.2-7.fc44.x8 100% | 62.8 MiB/s | 1.2 MiB | 00m00s [ 23/177] filesystem-0:3.18-50.fc43.x86 100% | 49.4 MiB/s | 1.3 MiB | 00m00s [ 24/177] ncurses-libs-0:6.5-7.20250614 100% | 18.1 MiB/s | 332.7 KiB | 00m00s [ 25/177] bzip2-libs-0:1.0.8-21.fc43.x8 100% | 5.3 MiB/s | 43.1 KiB | 00m00s [ 26/177] glibc-0:2.42.9000-8.fc44.x86_ 100% | 61.9 MiB/s | 2.3 MiB | 00m00s [ 27/177] gmp-1:6.3.0-4.fc44.x86_64 100% | 26.0 MiB/s | 319.3 KiB | 00m00s [ 28/177] coreutils-common-0:9.8-3.fc44 100% | 95.2 MiB/s | 2.1 MiB | 00m00s [ 29/177] libacl-0:2.3.2-4.fc43.x86_64 100% | 4.0 MiB/s | 24.3 KiB | 00m00s [ 30/177] libattr-0:2.5.2-6.fc43.x86_64 100% | 3.5 MiB/s | 17.9 KiB | 00m00s [ 31/177] libcap-0:2.77-1.fc44.x86_64 100% | 28.4 MiB/s | 87.1 KiB | 00m00s [ 32/177] libselinux-0:3.9-5.fc44.x86_6 100% | 31.8 MiB/s | 97.8 KiB | 00m00s [ 33/177] fedora-repos-0:44-0.1.noarch 100% | 2.2 MiB/s | 9.1 KiB | 00m00s [ 34/177] systemd-libs-0:258.2-1.fc44.x 100% | 88.8 MiB/s | 818.4 KiB | 00m00s [ 35/177] glibc-common-0:2.42.9000-8.fc 100% | 47.6 MiB/s | 340.9 KiB | 00m00s [ 36/177] pcre2-0:10.46-1.fc44.x86_64 100% | 36.6 MiB/s | 262.2 KiB | 00m00s [ 37/177] openssl-libs-1:3.5.4-1.fc44.x 100% | 113.8 MiB/s | 2.6 MiB | 00m00s [ 38/177] ed-0:1.22.2-1.fc44.x86_64 100% | 10.2 MiB/s | 83.7 KiB | 00m00s [ 39/177] ansible-srpm-macros-0:1-18.1. 100% | 6.5 MiB/s | 19.9 KiB | 00m00s [ 40/177] build-reproducibility-srpm-ma 100% | 1.3 MiB/s | 12.9 KiB | 00m00s [ 41/177] efi-srpm-macros-0:6-5.fc44.no 100% | 2.2 MiB/s | 22.5 KiB | 00m00s [ 42/177] dwz-0:0.16-2.fc43.x86_64 100% | 10.2 MiB/s | 135.5 KiB | 00m00s [ 43/177] file-0:5.46-8.fc44.x86_64 100% | 7.9 MiB/s | 48.8 KiB | 00m00s [ 44/177] filesystem-srpm-macros-0:3.18 100% | 4.3 MiB/s | 26.4 KiB | 00m00s [ 45/177] fonts-srpm-macros-1:5.0.0-1.f 100% | 6.7 MiB/s | 27.3 KiB | 00m00s [ 46/177] fpc-srpm-macros-0:1.3-15.fc43 100% | 3.9 MiB/s | 7.9 KiB | 00m00s [ 47/177] gap-srpm-macros-0:2-1.fc44.no 100% | 4.4 MiB/s | 9.1 KiB | 00m00s [ 48/177] forge-srpm-macros-0:0.4.0-3.f 100% | 6.5 MiB/s | 20.1 KiB | 00m00s [ 49/177] ghc-srpm-macros-0:1.9.2-3.fc4 100% | 4.3 MiB/s | 8.7 KiB | 00m00s [ 50/177] gnat-srpm-macros-0:6-8.fc43.n 100% | 4.1 MiB/s | 8.5 KiB | 00m00s [ 51/177] go-srpm-macros-0:3.8.0-1.fc44 100% | 9.2 MiB/s | 28.3 KiB | 00m00s [ 52/177] java-srpm-macros-0:1-7.fc43.n 100% | 1.6 MiB/s | 7.9 KiB | 00m00s [ 53/177] kernel-srpm-macros-0:1.0-27.f 100% | 1.7 MiB/s | 8.9 KiB | 00m00s [ 54/177] lua-srpm-macros-0:1-16.fc43.n 100% | 1.4 MiB/s | 8.8 KiB | 00m00s [ 55/177] ocaml-srpm-macros-0:11-2.fc43 100% | 2.3 MiB/s | 9.3 KiB | 00m00s [ 56/177] openblas-srpm-macros-0:2-20.f 100% | 1.2 MiB/s | 7.6 KiB | 00m00s [ 57/177] package-notes-srpm-macros-0:0 100% | 1.8 MiB/s | 9.0 KiB | 00m00s [ 58/177] perl-srpm-macros-0:1-60.fc43. 100% | 2.0 MiB/s | 8.3 KiB | 00m00s [ 59/177] pyproject-srpm-macros-0:1.18. 100% | 3.2 MiB/s | 13.2 KiB | 00m00s [ 60/177] python-srpm-macros-0:3.14-9.f 100% | 5.8 MiB/s | 23.8 KiB | 00m00s [ 61/177] qt5-srpm-macros-0:5.15.18-1.f 100% | 1.7 MiB/s | 8.6 KiB | 00m00s [ 62/177] qt6-srpm-macros-0:6.10.0-1.fc 100% | 3.0 MiB/s | 9.4 KiB | 00m00s [ 63/177] rust-srpm-macros-0:26.4-1.fc4 100% | 5.4 MiB/s | 11.2 KiB | 00m00s [ 64/177] tree-sitter-srpm-macros-0:0.4 100% | 3.3 MiB/s | 13.4 KiB | 00m00s [ 65/177] rpm-0:6.0.0-1.fc44.x86_64 100% | 70.4 MiB/s | 576.6 KiB | 00m00s [ 66/177] zig-srpm-macros-0:1-5.fc43.no 100% | 1.4 MiB/s | 8.4 KiB | 00m00s [ 67/177] zip-0:3.0-44.fc43.x86_64 100% | 51.1 MiB/s | 261.6 KiB | 00m00s [ 68/177] debugedit-0:5.2-3.fc44.x86_64 100% | 20.9 MiB/s | 85.6 KiB | 00m00s [ 69/177] elfutils-0:0.194-1.fc44.x86_6 100% | 93.7 MiB/s | 575.8 KiB | 00m00s [ 70/177] elfutils-libelf-0:0.194-1.fc4 100% | 40.1 MiB/s | 205.3 KiB | 00m00s [ 71/177] libarchive-0:3.8.2-1.fc44.x86 100% | 68.7 MiB/s | 422.2 KiB | 00m00s [ 72/177] libgcc-0:15.2.1-3.fc44.x86_64 100% | 32.6 MiB/s | 133.7 KiB | 00m00s [ 73/177] libstdc++-0:15.2.1-3.fc44.x86 100% | 149.9 MiB/s | 920.8 KiB | 00m00s [ 74/177] popt-0:1.19-9.fc43.x86_64 100% | 16.0 MiB/s | 65.7 KiB | 00m00s [ 75/177] readline-0:8.3-2.fc43.x86_64 100% | 43.9 MiB/s | 224.6 KiB | 00m00s [ 76/177] rpm-build-libs-0:6.0.0-1.fc44 100% | 41.6 MiB/s | 127.9 KiB | 00m00s [ 77/177] rpm-libs-0:6.0.0-1.fc44.x86_6 100% | 97.8 MiB/s | 400.5 KiB | 00m00s [ 78/177] zstd-0:1.5.7-3.fc44.x86_64 100% | 30.8 MiB/s | 189.5 KiB | 00m00s [ 79/177] libeconf-0:0.7.9-2.fc43.x86_6 100% | 8.6 MiB/s | 35.2 KiB | 00m00s [ 80/177] audit-libs-0:4.1.2-2.fc44.x86 100% | 16.9 MiB/s | 138.4 KiB | 00m00s [ 81/177] libsemanage-0:3.9-4.fc44.x86_ 100% | 24.1 MiB/s | 123.5 KiB | 00m00s [ 82/177] libxcrypt-0:4.5.1-1.fc44.x86_ 100% | 31.2 MiB/s | 127.9 KiB | 00m00s [ 83/177] pam-libs-0:1.7.1-3.fc43.x86_6 100% | 14.0 MiB/s | 57.5 KiB | 00m00s [ 84/177] setup-0:2.15.0-27.fc44.noarch 100% | 51.2 MiB/s | 157.4 KiB | 00m00s [ 85/177] xz-libs-1:5.8.1-2.fc43.x86_64 100% | 36.8 MiB/s | 112.9 KiB | 00m00s [ 86/177] mpfr-0:4.2.2-2.fc43.x86_64 100% | 84.7 MiB/s | 347.0 KiB | 00m00s [ 87/177] libblkid-0:2.41.2-7.fc44.x86_ 100% | 30.1 MiB/s | 123.2 KiB | 00m00s [ 88/177] libcap-ng-0:0.8.5-8.fc44.x86_ 100% | 6.3 MiB/s | 32.2 KiB | 00m00s [ 89/177] liblastlog2-0:2.41.2-7.fc44.x 100% | 7.6 MiB/s | 23.3 KiB | 00m00s [ 90/177] libfdisk-0:2.41.2-7.fc44.x86_ 100% | 26.4 MiB/s | 162.0 KiB | 00m00s [ 91/177] libmount-0:2.41.2-7.fc44.x86_ 100% | 31.8 MiB/s | 162.7 KiB | 00m00s [ 92/177] libuuid-0:2.41.2-7.fc44.x86_6 100% | 12.9 MiB/s | 26.3 KiB | 00m00s [ 93/177] libsmartcols-0:2.41.2-7.fc44. 100% | 13.7 MiB/s | 84.1 KiB | 00m00s [ 94/177] util-linux-core-0:2.41.2-7.fc 100% | 89.7 MiB/s | 550.8 KiB | 00m00s [ 95/177] zlib-ng-compat-0:2.2.5-2.fc44 100% | 12.9 MiB/s | 79.2 KiB | 00m00s [ 96/177] ncurses-base-0:6.5-7.20250614 100% | 21.5 MiB/s | 88.2 KiB | 00m00s [ 97/177] gnulib-l10n-0:20241231-1.fc44 100% | 36.7 MiB/s | 150.2 KiB | 00m00s [ 98/177] glibc-gconv-extra-0:2.42.9000 100% | 122.9 MiB/s | 1.6 MiB | 00m00s [ 99/177] libsepol-0:3.9-2.fc43.x86_64 100% | 48.2 MiB/s | 345.4 KiB | 00m00s [100/177] ca-certificates-0:2025.2.80_v 100% | 105.7 MiB/s | 973.8 KiB | 00m00s [101/177] crypto-policies-0:20250714-5. 100% | 13.7 MiB/s | 98.5 KiB | 00m00s [102/177] fedora-gpg-keys-0:44-0.1.noar 100% | 27.1 MiB/s | 138.8 KiB | 00m00s [103/177] fedora-repos-rawhide-0:44-0.1 100% | 2.8 MiB/s | 8.6 KiB | 00m00s [104/177] pcre2-syntax-0:10.46-1.fc44.n 100% | 31.7 MiB/s | 162.2 KiB | 00m00s [105/177] linkdupes-0:0.7.2-2.fc44.x86_ 100% | 69.6 MiB/s | 356.3 KiB | 00m00s [106/177] add-determinism-0:0.7.2-2.fc4 100% | 96.3 MiB/s | 887.6 KiB | 00m00s [107/177] curl-0:8.17.0~rc3-1.fc44.x86_ 100% | 58.0 MiB/s | 237.8 KiB | 00m00s [108/177] file-libs-0:5.46-8.fc44.x86_6 100% | 92.2 MiB/s | 849.9 KiB | 00m00s [109/177] elfutils-debuginfod-client-0: 100% | 15.3 MiB/s | 46.9 KiB | 00m00s [110/177] elfutils-libs-0:0.194-1.fc44. 100% | 37.9 MiB/s | 271.6 KiB | 00m00s [111/177] libzstd-0:1.5.7-3.fc44.x86_64 100% | 87.7 MiB/s | 359.1 KiB | 00m00s [112/177] lz4-libs-0:1.10.0-3.fc43.x86_ 100% | 25.4 MiB/s | 78.0 KiB | 00m00s [113/177] libxml2-0:2.12.10-5.fc44.x86_ 100% | 112.7 MiB/s | 692.7 KiB | 00m00s [114/177] libgomp-0:15.2.1-3.fc44.x86_6 100% | 91.3 MiB/s | 373.8 KiB | 00m00s [115/177] rpm-sign-libs-0:6.0.0-1.fc44. 100% | 13.8 MiB/s | 28.2 KiB | 00m00s [116/177] lua-libs-0:5.4.8-2.fc43.x86_6 100% | 25.7 MiB/s | 131.7 KiB | 00m00s [117/177] rpm-sequoia-0:1.9.0-2.fc43.x8 100% | 151.9 MiB/s | 933.3 KiB | 00m00s [118/177] sqlite-libs-0:3.50.4-1.fc44.x 100% | 93.0 MiB/s | 761.5 KiB | 00m00s [119/177] elfutils-default-yama-scope-0 100% | 1.7 MiB/s | 12.4 KiB | 00m00s [120/177] json-c-0:0.18-7.fc43.x86_64 100% | 11.0 MiB/s | 45.0 KiB | 00m00s [121/177] ima-evm-utils-libs-0:1.6.2-7. 100% | 9.6 MiB/s | 29.4 KiB | 00m00s [122/177] libfsverity-0:1.6-3.fc43.x86_ 100% | 9.1 MiB/s | 18.6 KiB | 00m00s [123/177] gnupg2-0:2.4.8-4.fc43.x86_64 100% | 182.7 MiB/s | 1.6 MiB | 00m00s [124/177] gpgverify-0:2.2-3.fc43.noarch 100% | 1.8 MiB/s | 11.1 KiB | 00m00s [125/177] gnupg2-dirmngr-0:2.4.8-4.fc43 100% | 33.5 MiB/s | 274.6 KiB | 00m00s [126/177] gnupg2-gpg-agent-0:2.4.8-4.fc 100% | 53.3 MiB/s | 272.9 KiB | 00m00s [127/177] gnupg2-gpgconf-0:2.4.8-4.fc43 100% | 18.7 MiB/s | 115.0 KiB | 00m00s [128/177] gnupg2-keyboxd-0:2.4.8-4.fc43 100% | 18.5 MiB/s | 94.7 KiB | 00m00s [129/177] gnupg2-verify-0:2.4.8-4.fc43. 100% | 41.8 MiB/s | 171.2 KiB | 00m00s [130/177] libassuan-0:2.5.7-4.fc43.x86_ 100% | 13.2 MiB/s | 67.4 KiB | 00m00s [131/177] libgcrypt-0:1.11.2-1.fc44.x86 100% | 83.2 MiB/s | 596.1 KiB | 00m00s [132/177] libgpg-error-0:1.56-1.fc44.x8 100% | 34.3 MiB/s | 245.7 KiB | 00m00s [133/177] npth-0:1.8-3.fc43.x86_64 100% | 4.2 MiB/s | 25.7 KiB | 00m00s [134/177] tpm2-tss-0:4.1.3-8.fc43.x86_6 100% | 83.2 MiB/s | 425.9 KiB | 00m00s [135/177] libksba-0:1.6.7-4.fc43.x86_64 100% | 31.3 MiB/s | 160.4 KiB | 00m00s [136/177] gnutls-0:3.8.10-5.fc44.x86_64 100% | 175.4 MiB/s | 1.4 MiB | 00m00s [137/177] openldap-0:2.6.10-4.fc44.x86_ 100% | 50.7 MiB/s | 259.5 KiB | 00m00s [138/177] libusb1-0:1.0.29-4.fc44.x86_6 100% | 19.5 MiB/s | 79.9 KiB | 00m00s [139/177] libidn2-0:2.3.8-2.fc43.x86_64 100% | 56.9 MiB/s | 174.9 KiB | 00m00s [140/177] libtasn1-0:4.20.0-2.fc43.x86_ 100% | 24.2 MiB/s | 74.5 KiB | 00m00s [141/177] libunistring-0:1.1-10.fc43.x8 100% | 132.6 MiB/s | 542.9 KiB | 00m00s [142/177] nettle-0:3.10.1-2.fc43.x86_64 100% | 69.0 MiB/s | 424.2 KiB | 00m00s [143/177] p11-kit-0:0.25.8-1.fc44.x86_6 100% | 71.2 MiB/s | 510.0 KiB | 00m00s [144/177] cyrus-sasl-lib-0:2.1.28-33.fc 100% | 86.4 MiB/s | 796.5 KiB | 00m00s [145/177] libevent-0:2.1.12-16.fc43.x86 100% | 28.0 MiB/s | 257.8 KiB | 00m00s [146/177] libtool-ltdl-0:2.5.4-7.fc43.x 100% | 4.4 MiB/s | 36.2 KiB | 00m00s [147/177] libffi-0:3.5.2-1.fc44.x86_64 100% | 6.7 MiB/s | 41.1 KiB | 00m00s [148/177] gdbm-libs-1:1.23-10.fc43.x86_ 100% | 18.5 MiB/s | 56.8 KiB | 00m00s [149/177] alternatives-0:1.33-3.fc44.x8 100% | 10.0 MiB/s | 40.8 KiB | 00m00s [150/177] jansson-0:2.14-3.fc43.x86_64 100% | 8.8 MiB/s | 45.3 KiB | 00m00s [151/177] pkgconf-pkg-config-0:2.3.0-3. 100% | 2.3 MiB/s | 9.6 KiB | 00m00s [152/177] pkgconf-0:2.3.0-3.fc43.x86_64 100% | 10.9 MiB/s | 44.6 KiB | 00m00s [153/177] pkgconf-m4-0:2.3.0-3.fc43.noa 100% | 4.5 MiB/s | 13.9 KiB | 00m00s [154/177] libpkgconf-0:2.3.0-3.fc43.x86 100% | 12.3 MiB/s | 37.9 KiB | 00m00s [155/177] fedora-release-0:44-0.5.noarc 100% | 4.4 MiB/s | 13.6 KiB | 00m00s [156/177] p11-kit-trust-0:0.25.8-1.fc44 100% | 27.3 MiB/s | 139.7 KiB | 00m00s [157/177] binutils-0:2.45.50-7.fc44.x86 100% | 227.8 MiB/s | 5.9 MiB | 00m00s [158/177] systemd-standalone-sysusers-0 100% | 17.2 MiB/s | 141.1 KiB | 00m00s [159/177] xxhash-libs-0:0.8.3-3.fc43.x8 100% | 6.3 MiB/s | 38.5 KiB | 00m00s [160/177] fedora-release-identity-basic 100% | 2.8 MiB/s | 14.3 KiB | 00m00s [161/177] libcurl-0:8.17.0~rc3-1.fc44.x 100% | 57.5 MiB/s | 412.1 KiB | 00m00s [162/177] krb5-libs-0:1.21.3-10.fc44.x8 100% | 92.9 MiB/s | 761.1 KiB | 00m00s [163/177] gdb-minimal-0:16.3-6.fc44.x86 100% | 146.9 MiB/s | 4.4 MiB | 00m00s [164/177] libbrotli-0:1.1.0-10.fc44.x86 100% | 33.1 MiB/s | 339.1 KiB | 00m00s [165/177] libnghttp2-0:1.68.0-1.fc44.x8 100% | 7.9 MiB/s | 72.8 KiB | 00m00s [166/177] libpsl-0:0.21.5-6.fc43.x86_64 100% | 21.1 MiB/s | 65.0 KiB | 00m00s [167/177] libssh-0:0.11.3-1.fc44.x86_64 100% | 75.8 MiB/s | 232.8 KiB | 00m00s [168/177] keyutils-libs-0:1.6.3-6.fc43. 100% | 15.3 MiB/s | 31.4 KiB | 00m00s [169/177] libverto-0:0.3.2-11.fc43.x86_ 100% | 10.1 MiB/s | 20.7 KiB | 00m00s [170/177] libcom_err-0:1.47.3-2.fc43.x8 100% | 8.7 MiB/s | 26.8 KiB | 00m00s [171/177] publicsuffix-list-dafsa-0:202 100% | 19.3 MiB/s | 59.2 KiB | 00m00s [172/177] libssh-config-0:0.11.3-1.fc44 100% | 4.4 MiB/s | 9.1 KiB | 00m00s [173/177] policycoreutils-0:3.9-5.fc44. 100% | 52.4 MiB/s | 214.6 KiB | 00m00s [174/177] selinux-policy-0:42.14-1.fc44 100% | 7.7 MiB/s | 62.7 KiB | 00m00s [175/177] libselinux-utils-0:3.9-5.fc44 100% | 19.4 MiB/s | 119.3 KiB | 00m00s [176/177] rpm-plugin-selinux-0:6.0.0-1. 100% | 3.2 MiB/s | 19.5 KiB | 00m00s [177/177] selinux-policy-targeted-0:42. 100% | 174.2 MiB/s | 6.8 MiB | 00m00s -------------------------------------------------------------------------------- [177/177] Total 100% | 144.5 MiB/s | 66.6 MiB | 00m00s Running transaction Importing OpenPGP key 0x6D9F90A6: UserID : "Fedora (44) " Fingerprint: 36F612DCF27F7D1A48A835E4DBFCF71C6D9F90A6 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-44-primary The key was successfully imported. Importing OpenPGP key 0x6D9F90A6: UserID : "Fedora (44) " Fingerprint: 36F612DCF27F7D1A48A835E4DBFCF71C6D9F90A6 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-44-primary The key was successfully imported. Importing OpenPGP key 0x31645531: UserID : "Fedora (43) " Fingerprint: C6E7F081CF80E13146676E88829B606631645531 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary The key was successfully imported. Importing OpenPGP key 0xF577861E: UserID : "Fedora (45) " Fingerprint: 4F50A6114CD5C6976A7F1179655A4B02F577861E From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-45-primary The key was successfully imported. [ 1/179] Verify package files 100% | 725.0 B/s | 177.0 B | 00m00s [ 2/179] Prepare transaction 100% | 3.6 KiB/s | 177.0 B | 00m00s [ 3/179] Installing libgcc-0:15.2.1-3. 100% | 262.0 MiB/s | 268.3 KiB | 00m00s [ 4/179] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 5/179] Installing publicsuffix-list- 100% | 0.0 B/s | 69.8 KiB | 00m00s [ 6/179] Installing fedora-release-ide 100% | 0.0 B/s | 920.0 B | 00m00s [ 7/179] Installing fedora-gpg-keys-0: 100% | 58.3 MiB/s | 179.0 KiB | 00m00s [ 8/179] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/179] Installing fedora-repos-0:44- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/179] Installing fedora-release-com 100% | 24.3 MiB/s | 24.9 KiB | 00m00s [ 11/179] Installing fedora-release-0:4 100% | 17.3 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.0-27.fc44.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-27.fc44.noarch >>> Scriptlet output: >>> Creating group 'adm' with GID 4. >>> Creating group 'audio' with GID 63. >>> Creating group 'cdrom' with GID 11. >>> Creating group 'clock' with GID 103. >>> Creating group 'dialout' with GID 18. >>> Creating group 'disk' with GID 6. >>> Creating group 'floppy' with GID 19. >>> Creating group 'ftp' with GID 50. >>> Creating group 'games' with GID 20. >>> Creating group 'input' with GID 104. >>> Creating group 'kmem' with GID 9. >>> Creating group 'kvm' with GID 36. >>> Creating group 'lock' with GID 54. >>> Creating group 'lp' with GID 7. >>> Creating group 'mail' with GID 12. >>> Creating group 'man' with GID 15. >>> Creating group 'mem' with GID 8. >>> Creating group 'nobody' with GID 65534. >>> Creating group 'render' with GID 105. >>> Creating group 'root' with GID 0. >>> Creating group 'sgx' with GID 106. >>> Creating group 'sys' with GID 3. >>> Creating group 'tape' with GID 33. >>> Creating group 'tty' with GID 5. >>> Creating group 'users' with GID 100. >>> Creating group 'utmp' with GID 22. >>> Creating group 'video' with GID 39. >>> Creating group 'wheel' with GID 10. >>> Creating user 'adm' (adm) with UID 3 and GID 4. >>> Creating group 'bin' with GID 1. >>> Creating user 'bin' (bin) with UID 1 and GID 1. >>> Creating group 'daemon' with GID 2. >>> Creating user 'daemon' (daemon) with UID 2 and GID 2. >>> Creating user 'ftp' (FTP User) with UID 14 and GID 50. >>> Creating user 'games' (games) with UID 12 and GID 100. >>> Creating user 'halt' (halt) with UID 7 and GID 0. >>> Creating user 'lp' (lp) with UID 4 and GID 7. >>> Creating user 'mail' (mail) with UID 8 and GID 12. >>> Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534. >>> Creating user 'operator' (operator) with UID 11 and GID 0. >>> Creating user 'root' (Super User) with UID 0 and GID 0. >>> Creating user 'shutdown' (shutdown) with UID 6 and GID 0. >>> Creating user 'sync' (sync) with UID 5 and GID 0. >>> [ 12/179] Installing setup-0:2.15.0-27. 100% | 54.9 MiB/s | 730.6 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/179] Installing filesystem-0:3.18- 100% | 3.1 MiB/s | 212.8 KiB | 00m00s [ 14/179] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [ 15/179] Installing pcre2-syntax-0:10. 100% | 271.2 MiB/s | 277.8 KiB | 00m00s [ 16/179] Installing gnulib-l10n-0:2024 100% | 215.5 MiB/s | 661.9 KiB | 00m00s [ 17/179] Installing coreutils-common-0 100% | 429.8 MiB/s | 11.2 MiB | 00m00s [ 18/179] Installing ncurses-base-0:6.5 100% | 86.3 MiB/s | 353.5 KiB | 00m00s [ 19/179] Installing bash-0:5.3.0-2.fc4 100% | 301.1 MiB/s | 8.4 MiB | 00m00s [ 20/179] Installing glibc-common-0:2.4 100% | 68.1 MiB/s | 1.0 MiB | 00m00s [ 21/179] Installing glibc-gconv-extra- 100% | 304.8 MiB/s | 7.3 MiB | 00m00s [ 22/179] Installing glibc-0:2.42.9000- 100% | 206.7 MiB/s | 6.8 MiB | 00m00s [ 23/179] Installing ncurses-libs-0:6.5 100% | 310.1 MiB/s | 952.8 KiB | 00m00s [ 24/179] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 25/179] Installing zlib-ng-compat-0:2 100% | 135.2 MiB/s | 138.4 KiB | 00m00s [ 26/179] Installing bzip2-libs-0:1.0.8 100% | 79.8 MiB/s | 81.7 KiB | 00m00s [ 27/179] Installing libgpg-error-0:1.5 100% | 64.3 MiB/s | 922.5 KiB | 00m00s [ 28/179] Installing libstdc++-0:15.2.1 100% | 406.3 MiB/s | 2.8 MiB | 00m00s [ 29/179] Installing libassuan-0:2.5.7- 100% | 161.7 MiB/s | 165.6 KiB | 00m00s [ 30/179] Installing libgcrypt-0:1.11.2 100% | 394.0 MiB/s | 1.6 MiB | 00m00s [ 31/179] Installing readline-0:8.3-2.f 100% | 250.9 MiB/s | 513.9 KiB | 00m00s [ 32/179] Installing gmp-1:6.3.0-4.fc44 100% | 399.2 MiB/s | 817.5 KiB | 00m00s [ 33/179] Installing xz-libs-1:5.8.1-2. 100% | 213.8 MiB/s | 218.9 KiB | 00m00s [ 34/179] Installing libuuid-0:2.41.2-7 100% | 0.0 B/s | 38.5 KiB | 00m00s [ 35/179] Installing popt-0:1.19-9.fc43 100% | 68.1 MiB/s | 139.4 KiB | 00m00s [ 36/179] Installing libzstd-0:1.5.7-3. 100% | 459.7 MiB/s | 941.6 KiB | 00m00s [ 37/179] Installing elfutils-libelf-0: 100% | 373.7 MiB/s | 1.1 MiB | 00m00s [ 38/179] Installing npth-0:1.8-3.fc43. 100% | 0.0 B/s | 50.7 KiB | 00m00s [ 39/179] Installing libblkid-0:2.41.2- 100% | 257.4 MiB/s | 263.5 KiB | 00m00s [ 40/179] Installing libxcrypt-0:4.5.1- 100% | 281.0 MiB/s | 287.8 KiB | 00m00s [ 41/179] Installing libsepol-0:3.9-2.f 100% | 401.8 MiB/s | 822.9 KiB | 00m00s [ 42/179] Installing sqlite-libs-0:3.50 100% | 379.1 MiB/s | 1.5 MiB | 00m00s [ 43/179] Installing gnupg2-gpgconf-0:2 100% | 20.5 MiB/s | 252.0 KiB | 00m00s [ 44/179] Installing libattr-0:2.5.2-6. 100% | 0.0 B/s | 25.4 KiB | 00m00s [ 45/179] Installing libacl-0:2.3.2-4.f 100% | 0.0 B/s | 36.8 KiB | 00m00s [ 46/179] Installing pcre2-0:10.46-1.fc 100% | 341.4 MiB/s | 699.1 KiB | 00m00s [ 47/179] Installing libselinux-0:3.9-5 100% | 189.8 MiB/s | 194.4 KiB | 00m00s [ 48/179] Installing grep-0:3.12-2.fc43 100% | 66.8 MiB/s | 1.0 MiB | 00m00s [ 49/179] Installing sed-0:4.9-6.fc44.x 100% | 60.4 MiB/s | 865.5 KiB | 00m00s [ 50/179] Installing findutils-1:4.10.0 100% | 116.1 MiB/s | 1.9 MiB | 00m00s [ 51/179] Installing libtasn1-0:4.20.0- 100% | 173.9 MiB/s | 178.1 KiB | 00m00s [ 52/179] Installing libunistring-0:1.1 100% | 431.7 MiB/s | 1.7 MiB | 00m00s [ 53/179] Installing libidn2-0:2.3.8-2. 100% | 60.6 MiB/s | 558.7 KiB | 00m00s [ 54/179] Installing crypto-policies-0: 100% | 42.0 MiB/s | 172.0 KiB | 00m00s [ 55/179] Installing xz-1:5.8.1-2.fc43. 100% | 83.2 MiB/s | 1.3 MiB | 00m00s [ 56/179] Installing libmount-0:2.41.2- 100% | 365.0 MiB/s | 373.8 KiB | 00m00s [ 57/179] Installing gnupg2-verify-0:2. 100% | 28.5 MiB/s | 349.9 KiB | 00m00s [ 58/179] Installing dwz-0:0.16-2.fc43. 100% | 23.5 MiB/s | 288.5 KiB | 00m00s [ 59/179] Installing mpfr-0:4.2.2-2.fc4 100% | 271.6 MiB/s | 834.4 KiB | 00m00s [ 60/179] Installing gawk-0:5.3.2-2.fc4 100% | 113.5 MiB/s | 1.8 MiB | 00m00s [ 61/179] Installing libksba-0:1.6.7-4. 100% | 391.7 MiB/s | 401.1 KiB | 00m00s [ 62/179] Installing unzip-0:6.0-68.fc4 100% | 32.1 MiB/s | 393.8 KiB | 00m00s [ 63/179] Installing file-libs-0:5.46-8 100% | 697.5 MiB/s | 11.9 MiB | 00m00s [ 64/179] Installing file-0:5.46-8.fc44 100% | 9.0 MiB/s | 101.7 KiB | 00m00s [ 65/179] Installing diffutils-0:3.12-3 100% | 104.1 MiB/s | 1.6 MiB | 00m00s [ 66/179] Installing libeconf-0:0.7.9-2 100% | 65.0 MiB/s | 66.5 KiB | 00m00s [ 67/179] Installing libcap-ng-0:0.8.5- 100% | 69.2 MiB/s | 70.8 KiB | 00m00s [ 68/179] Installing audit-libs-0:4.1.2 100% | 372.6 MiB/s | 381.5 KiB | 00m00s [ 69/179] Installing pam-libs-0:1.7.1-3 100% | 126.0 MiB/s | 129.0 KiB | 00m00s [ 70/179] Installing libcap-0:2.77-1.fc 100% | 17.4 MiB/s | 214.3 KiB | 00m00s [ 71/179] Installing systemd-libs-0:258 100% | 389.5 MiB/s | 2.3 MiB | 00m00s [ 72/179] Installing libsemanage-0:3.9- 100% | 303.0 MiB/s | 310.2 KiB | 00m00s [ 73/179] Installing libsmartcols-0:2.4 100% | 177.3 MiB/s | 181.6 KiB | 00m00s [ 74/179] Installing lua-libs-0:5.4.8-2 100% | 275.3 MiB/s | 281.9 KiB | 00m00s [ 75/179] Installing json-c-0:0.18-7.fc 100% | 0.0 B/s | 84.0 KiB | 00m00s [ 76/179] Installing libffi-0:3.5.2-1.f 100% | 83.2 MiB/s | 85.2 KiB | 00m00s [ 77/179] Installing p11-kit-0:0.25.8-1 100% | 127.2 MiB/s | 2.3 MiB | 00m00s [ 78/179] Installing alternatives-0:1.3 100% | 5.7 MiB/s | 63.8 KiB | 00m00s [ 79/179] Installing p11-kit-trust-0:0. 100% | 23.0 MiB/s | 448.3 KiB | 00m00s [ 80/179] Installing openssl-libs-1:3.5 100% | 405.0 MiB/s | 8.9 MiB | 00m00s [ 81/179] Installing coreutils-0:9.8-3. 100% | 176.6 MiB/s | 5.5 MiB | 00m00s [ 82/179] Installing ca-certificates-0: 100% | 2.3 MiB/s | 2.5 MiB | 00m01s [ 83/179] Installing gzip-0:1.14-1.fc44 100% | 30.3 MiB/s | 403.3 KiB | 00m00s [ 84/179] Installing rpm-sequoia-0:1.9. 100% | 413.1 MiB/s | 2.5 MiB | 00m00s [ 85/179] Installing libfsverity-0:1.6- 100% | 0.0 B/s | 29.5 KiB | 00m00s [ 86/179] Installing libevent-0:2.1.12- 100% | 288.7 MiB/s | 886.8 KiB | 00m00s [ 87/179] Installing util-linux-core-0: 100% | 92.5 MiB/s | 1.5 MiB | 00m00s [ 88/179] Installing libusb1-0:1.0.29-4 100% | 21.1 MiB/s | 172.9 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [ 89/179] Installing tpm2-tss-0:4.1.3-8 100% | 314.4 MiB/s | 1.6 MiB | 00m00s [ 90/179] Installing ima-evm-utils-libs 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [ 91/179] Installing gnupg2-gpg-agent-0 100% | 33.0 MiB/s | 675.4 KiB | 00m00s [ 92/179] Installing systemd-standalone 100% | 23.9 MiB/s | 294.1 KiB | 00m00s [ 93/179] Installing rpm-libs-0:6.0.0-1 100% | 304.5 MiB/s | 935.3 KiB | 00m00s [ 94/179] Installing zip-0:3.0-44.fc43. 100% | 52.5 MiB/s | 698.4 KiB | 00m00s [ 95/179] Installing gnupg2-keyboxd-0:2 100% | 33.0 MiB/s | 202.7 KiB | 00m00s [ 96/179] Installing libpsl-0:0.21.5-6. 100% | 75.7 MiB/s | 77.5 KiB | 00m00s [ 97/179] Installing tar-2:1.35-6.fc43. 100% | 155.7 MiB/s | 3.0 MiB | 00m00s [ 98/179] Installing linkdupes-0:0.7.2- 100% | 63.1 MiB/s | 840.1 KiB | 00m00s [ 99/179] Installing libselinux-utils-0 100% | 24.3 MiB/s | 323.4 KiB | 00m00s [100/179] Installing liblastlog2-0:2.41 100% | 7.0 MiB/s | 35.9 KiB | 00m00s [101/179] Installing libfdisk-0:2.41.2- 100% | 186.3 MiB/s | 381.6 KiB | 00m00s [102/179] Installing util-linux-0:2.41. 100% | 108.3 MiB/s | 3.6 MiB | 00m00s [103/179] Installing policycoreutils-0: 100% | 30.2 MiB/s | 711.8 KiB | 00m00s [104/179] Installing selinux-policy-0:4 100% | 1.8 MiB/s | 33.5 KiB | 00m00s [105/179] Installing selinux-policy-tar 100% | 207.0 MiB/s | 14.9 MiB | 00m00s [106/179] Installing zstd-0:1.5.7-3.fc4 100% | 33.2 MiB/s | 509.8 KiB | 00m00s [107/179] Installing libxml2-0:2.12.10- 100% | 113.6 MiB/s | 1.7 MiB | 00m00s [108/179] Installing nettle-0:3.10.1-2. 100% | 258.4 MiB/s | 793.7 KiB | 00m00s [109/179] Installing gnutls-0:3.8.10-5. 100% | 384.3 MiB/s | 3.8 MiB | 00m00s [110/179] Installing bzip2-0:1.0.8-21.f 100% | 8.1 MiB/s | 99.8 KiB | 00m00s [111/179] Installing add-determinism-0: 100% | 144.1 MiB/s | 2.3 MiB | 00m00s [112/179] Installing build-reproducibil 100% | 0.0 B/s | 1.5 KiB | 00m00s [113/179] Installing cpio-0:2.15-6.fc43 100% | 78.5 MiB/s | 1.1 MiB | 00m00s [114/179] Installing ed-0:1.22.2-1.fc44 100% | 13.3 MiB/s | 150.4 KiB | 00m00s [115/179] Installing patch-0:2.8-2.fc43 100% | 19.9 MiB/s | 224.3 KiB | 00m00s [116/179] Installing lz4-libs-0:1.10.0- 100% | 158.6 MiB/s | 162.5 KiB | 00m00s [117/179] Installing libarchive-0:3.8.2 100% | 311.6 MiB/s | 957.2 KiB | 00m00s [118/179] Installing libgomp-0:15.2.1-3 100% | 265.0 MiB/s | 542.8 KiB | 00m00s [119/179] Installing libtool-ltdl-0:2.5 100% | 0.0 B/s | 71.2 KiB | 00m00s [120/179] Installing gdbm-libs-1:1.23-1 100% | 128.5 MiB/s | 131.6 KiB | 00m00s [121/179] Installing cyrus-sasl-lib-0:2 100% | 135.3 MiB/s | 2.3 MiB | 00m00s [122/179] Installing openldap-0:2.6.10- 100% | 324.0 MiB/s | 663.6 KiB | 00m00s [123/179] Installing gnupg2-dirmngr-0:2 100% | 31.9 MiB/s | 621.1 KiB | 00m00s [124/179] Installing gnupg2-0:2.4.8-4.f 100% | 242.6 MiB/s | 6.6 MiB | 00m00s [125/179] Installing rpm-sign-libs-0:6. 100% | 0.0 B/s | 40.6 KiB | 00m00s [126/179] Installing gpgverify-0:2.2-3. 100% | 0.0 B/s | 9.4 KiB | 00m00s [127/179] Installing jansson-0:2.14-3.f 100% | 88.3 MiB/s | 90.5 KiB | 00m00s [128/179] Installing libpkgconf-0:2.3.0 100% | 77.4 MiB/s | 79.2 KiB | 00m00s [129/179] Installing pkgconf-0:2.3.0-3. 100% | 7.4 MiB/s | 91.0 KiB | 00m00s [130/179] Installing pkgconf-pkg-config 100% | 147.8 KiB/s | 1.8 KiB | 00m00s [131/179] Installing xxhash-libs-0:0.8. 100% | 89.4 MiB/s | 91.6 KiB | 00m00s [132/179] Installing libbrotli-0:1.1.0- 100% | 272.0 MiB/s | 835.6 KiB | 00m00s [133/179] Installing libnghttp2-0:1.68. 100% | 159.5 MiB/s | 163.4 KiB | 00m00s [134/179] Installing keyutils-libs-0:1. 100% | 0.0 B/s | 55.7 KiB | 00m00s [135/179] Installing libcom_err-0:1.47. 100% | 0.0 B/s | 64.2 KiB | 00m00s [136/179] Installing libverto-0:0.3.2-1 100% | 26.6 MiB/s | 27.2 KiB | 00m00s [137/179] Installing krb5-libs-0:1.21.3 100% | 328.5 MiB/s | 2.3 MiB | 00m00s [138/179] Installing libssh-0:0.11.3-1. 100% | 277.9 MiB/s | 569.2 KiB | 00m00s [139/179] Installing libcurl-0:8.17.0~r 100% | 302.2 MiB/s | 928.4 KiB | 00m00s [140/179] Installing curl-0:8.17.0~rc3- 100% | 22.2 MiB/s | 478.1 KiB | 00m00s [141/179] Installing rpm-0:6.0.0-1.fc44 100% | 83.1 MiB/s | 2.6 MiB | 00m00s [142/179] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.2 KiB | 00m00s [143/179] Installing java-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [144/179] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [145/179] Installing tree-sitter-srpm-m 100% | 0.0 B/s | 9.3 KiB | 00m00s [146/179] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [147/179] Installing filesystem-srpm-ma 100% | 0.0 B/s | 38.9 KiB | 00m00s [148/179] Installing elfutils-default-y 100% | 408.6 KiB/s | 2.0 KiB | 00m00s [149/179] Installing elfutils-libs-0:0. 100% | 224.4 MiB/s | 689.3 KiB | 00m00s [150/179] Installing elfutils-debuginfo 100% | 6.5 MiB/s | 86.3 KiB | 00m00s [151/179] Installing elfutils-0:0.194-1 100% | 154.2 MiB/s | 2.9 MiB | 00m00s [152/179] Installing binutils-0:2.45.50 100% | 352.3 MiB/s | 27.1 MiB | 00m00s [153/179] Installing gdb-minimal-0:16.3 100% | 301.3 MiB/s | 13.3 MiB | 00m00s [154/179] Installing debugedit-0:5.2-3. 100% | 17.7 MiB/s | 217.3 KiB | 00m00s [155/179] Installing rpm-build-libs-0:6 100% | 262.9 MiB/s | 269.2 KiB | 00m00s [156/179] Installing rust-srpm-macros-0 100% | 0.0 B/s | 5.6 KiB | 00m00s [157/179] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 740.0 B | 00m00s [158/179] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [159/179] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [160/179] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [161/179] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [162/179] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.1 KiB | 00m00s [163/179] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [164/179] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [165/179] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [166/179] Installing gap-srpm-macros-0: 100% | 0.0 B/s | 2.7 KiB | 00m00s [167/179] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [168/179] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [169/179] Installing redhat-rpm-config- 100% | 185.1 MiB/s | 189.5 KiB | 00m00s [170/179] Installing forge-srpm-macros- 100% | 0.0 B/s | 40.3 KiB | 00m00s [171/179] Installing fonts-srpm-macros- 100% | 0.0 B/s | 57.0 KiB | 00m00s [172/179] Installing go-srpm-macros-0:3 100% | 61.6 MiB/s | 63.0 KiB | 00m00s [173/179] Installing rpm-build-0:6.0.0- 100% | 22.3 MiB/s | 296.5 KiB | 00m00s [174/179] Installing pyproject-srpm-mac 100% | 0.0 B/s | 2.5 KiB | 00m00s [175/179] Installing python-srpm-macros 100% | 12.9 MiB/s | 52.9 KiB | 00m00s [176/179] Installing rpm-plugin-selinux 100% | 0.0 B/s | 13.0 KiB | 00m00s [177/179] Installing which-0:2.23-3.fc4 100% | 6.4 MiB/s | 85.7 KiB | 00m00s [178/179] Installing shadow-utils-2:4.1 100% | 147.0 MiB/s | 4.0 MiB | 00m00s [179/179] Installing info-0:7.2-6.fc43. 100% | 51.2 KiB/s | 354.3 KiB | 00m07s Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.7.2-2.fc44.x86_64 alternatives-1.33-3.fc44.x86_64 ansible-srpm-macros-1-18.1.fc43.noarch audit-libs-4.1.2-2.fc44.x86_64 bash-5.3.0-2.fc43.x86_64 binutils-2.45.50-7.fc44.x86_64 build-reproducibility-srpm-macros-0.7.2-2.fc44.noarch bzip2-1.0.8-21.fc43.x86_64 bzip2-libs-1.0.8-21.fc43.x86_64 ca-certificates-2025.2.80_v9.0.304-2.fc44.noarch coreutils-9.8-3.fc44.x86_64 coreutils-common-9.8-3.fc44.x86_64 cpio-2.15-6.fc43.x86_64 crypto-policies-20250714-5.gitcd6043a.fc44.noarch curl-8.17.0~rc3-1.fc44.x86_64 cyrus-sasl-lib-2.1.28-33.fc44.x86_64 debugedit-5.2-3.fc44.x86_64 diffutils-3.12-3.fc43.x86_64 dwz-0.16-2.fc43.x86_64 ed-1.22.2-1.fc44.x86_64 efi-srpm-macros-6-5.fc44.noarch elfutils-0.194-1.fc44.x86_64 elfutils-debuginfod-client-0.194-1.fc44.x86_64 elfutils-default-yama-scope-0.194-1.fc44.noarch elfutils-libelf-0.194-1.fc44.x86_64 elfutils-libs-0.194-1.fc44.x86_64 fedora-gpg-keys-44-0.1.noarch fedora-release-44-0.5.noarch fedora-release-common-44-0.5.noarch fedora-release-identity-basic-44-0.5.noarch fedora-repos-44-0.1.noarch fedora-repos-rawhide-44-0.1.noarch file-5.46-8.fc44.x86_64 file-libs-5.46-8.fc44.x86_64 filesystem-3.18-50.fc43.x86_64 filesystem-srpm-macros-3.18-50.fc43.noarch findutils-4.10.0-6.fc43.x86_64 fonts-srpm-macros-5.0.0-1.fc44.noarch forge-srpm-macros-0.4.0-3.fc43.noarch fpc-srpm-macros-1.3-15.fc43.noarch gap-srpm-macros-2-1.fc44.noarch gawk-5.3.2-2.fc43.x86_64 gdb-minimal-16.3-6.fc44.x86_64 gdbm-libs-1.23-10.fc43.x86_64 ghc-srpm-macros-1.9.2-3.fc43.noarch glibc-2.42.9000-8.fc44.x86_64 glibc-common-2.42.9000-8.fc44.x86_64 glibc-gconv-extra-2.42.9000-8.fc44.x86_64 glibc-minimal-langpack-2.42.9000-8.fc44.x86_64 gmp-6.3.0-4.fc44.x86_64 gnat-srpm-macros-6-8.fc43.noarch gnulib-l10n-20241231-1.fc44.noarch gnupg2-2.4.8-4.fc43.x86_64 gnupg2-dirmngr-2.4.8-4.fc43.x86_64 gnupg2-gpg-agent-2.4.8-4.fc43.x86_64 gnupg2-gpgconf-2.4.8-4.fc43.x86_64 gnupg2-keyboxd-2.4.8-4.fc43.x86_64 gnupg2-verify-2.4.8-4.fc43.x86_64 gnutls-3.8.10-5.fc44.x86_64 go-srpm-macros-3.8.0-1.fc44.noarch gpg-pubkey-36f612dcf27f7d1a48a835e4dbfcf71c6d9f90a6-6786af3b gpg-pubkey-4f50a6114cd5c6976a7f1179655a4b02f577861e-6888bc98 gpg-pubkey-c6e7f081cf80e13146676e88829b606631645531-66b6dccf gpgverify-2.2-3.fc43.noarch grep-3.12-2.fc43.x86_64 gzip-1.14-1.fc44.x86_64 ima-evm-utils-libs-1.6.2-7.fc44.x86_64 info-7.2-6.fc43.x86_64 jansson-2.14-3.fc43.x86_64 java-srpm-macros-1-7.fc43.noarch json-c-0.18-7.fc43.x86_64 kernel-srpm-macros-1.0-27.fc43.noarch keyutils-libs-1.6.3-6.fc43.x86_64 krb5-libs-1.21.3-10.fc44.x86_64 libacl-2.3.2-4.fc43.x86_64 libarchive-3.8.2-1.fc44.x86_64 libassuan-2.5.7-4.fc43.x86_64 libattr-2.5.2-6.fc43.x86_64 libblkid-2.41.2-7.fc44.x86_64 libbrotli-1.1.0-10.fc44.x86_64 libcap-2.77-1.fc44.x86_64 libcap-ng-0.8.5-8.fc44.x86_64 libcom_err-1.47.3-2.fc43.x86_64 libcurl-8.17.0~rc3-1.fc44.x86_64 libeconf-0.7.9-2.fc43.x86_64 libevent-2.1.12-16.fc43.x86_64 libfdisk-2.41.2-7.fc44.x86_64 libffi-3.5.2-1.fc44.x86_64 libfsverity-1.6-3.fc43.x86_64 libgcc-15.2.1-3.fc44.x86_64 libgcrypt-1.11.2-1.fc44.x86_64 libgomp-15.2.1-3.fc44.x86_64 libgpg-error-1.56-1.fc44.x86_64 libidn2-2.3.8-2.fc43.x86_64 libksba-1.6.7-4.fc43.x86_64 liblastlog2-2.41.2-7.fc44.x86_64 libmount-2.41.2-7.fc44.x86_64 libnghttp2-1.68.0-1.fc44.x86_64 libpkgconf-2.3.0-3.fc43.x86_64 libpsl-0.21.5-6.fc43.x86_64 libselinux-3.9-5.fc44.x86_64 libselinux-utils-3.9-5.fc44.x86_64 libsemanage-3.9-4.fc44.x86_64 libsepol-3.9-2.fc43.x86_64 libsmartcols-2.41.2-7.fc44.x86_64 libssh-0.11.3-1.fc44.x86_64 libssh-config-0.11.3-1.fc44.noarch libstdc++-15.2.1-3.fc44.x86_64 libtasn1-4.20.0-2.fc43.x86_64 libtool-ltdl-2.5.4-7.fc43.x86_64 libunistring-1.1-10.fc43.x86_64 libusb1-1.0.29-4.fc44.x86_64 libuuid-2.41.2-7.fc44.x86_64 libverto-0.3.2-11.fc43.x86_64 libxcrypt-4.5.1-1.fc44.x86_64 libxml2-2.12.10-5.fc44.x86_64 libzstd-1.5.7-3.fc44.x86_64 linkdupes-0.7.2-2.fc44.x86_64 lua-libs-5.4.8-2.fc43.x86_64 lua-srpm-macros-1-16.fc43.noarch lz4-libs-1.10.0-3.fc43.x86_64 mpfr-4.2.2-2.fc43.x86_64 ncurses-base-6.5-7.20250614.fc43.noarch ncurses-libs-6.5-7.20250614.fc43.x86_64 nettle-3.10.1-2.fc43.x86_64 npth-1.8-3.fc43.x86_64 ocaml-srpm-macros-11-2.fc43.noarch openblas-srpm-macros-2-20.fc43.noarch openldap-2.6.10-4.fc44.x86_64 openssl-libs-3.5.4-1.fc44.x86_64 p11-kit-0.25.8-1.fc44.x86_64 p11-kit-trust-0.25.8-1.fc44.x86_64 package-notes-srpm-macros-0.5-14.fc43.noarch pam-libs-1.7.1-3.fc43.x86_64 patch-2.8-2.fc43.x86_64 pcre2-10.46-1.fc44.x86_64 pcre2-syntax-10.46-1.fc44.noarch perl-srpm-macros-1-60.fc43.noarch pkgconf-2.3.0-3.fc43.x86_64 pkgconf-m4-2.3.0-3.fc43.noarch pkgconf-pkg-config-2.3.0-3.fc43.x86_64 policycoreutils-3.9-5.fc44.x86_64 popt-1.19-9.fc43.x86_64 publicsuffix-list-dafsa-20250616-2.fc43.noarch pyproject-srpm-macros-1.18.5-1.fc44.noarch python-srpm-macros-3.14-9.fc44.noarch qt5-srpm-macros-5.15.18-1.fc44.noarch qt6-srpm-macros-6.10.0-1.fc44.noarch readline-8.3-2.fc43.x86_64 redhat-rpm-config-343-14.fc44.noarch rpm-6.0.0-1.fc44.x86_64 rpm-build-6.0.0-1.fc44.x86_64 rpm-build-libs-6.0.0-1.fc44.x86_64 rpm-libs-6.0.0-1.fc44.x86_64 rpm-plugin-selinux-6.0.0-1.fc44.x86_64 rpm-sequoia-1.9.0-2.fc43.x86_64 rpm-sign-libs-6.0.0-1.fc44.x86_64 rust-srpm-macros-26.4-1.fc44.noarch sed-4.9-6.fc44.x86_64 selinux-policy-42.14-1.fc44.noarch selinux-policy-targeted-42.14-1.fc44.noarch setup-2.15.0-27.fc44.noarch shadow-utils-4.18.0-3.fc43.x86_64 sqlite-libs-3.50.4-1.fc44.x86_64 systemd-libs-258.2-1.fc44.x86_64 systemd-standalone-sysusers-258.2-1.fc44.x86_64 tar-1.35-6.fc43.x86_64 tpm2-tss-4.1.3-8.fc43.x86_64 tree-sitter-srpm-macros-0.4.2-1.fc43.noarch unzip-6.0-68.fc44.x86_64 util-linux-2.41.2-7.fc44.x86_64 util-linux-core-2.41.2-7.fc44.x86_64 which-2.23-3.fc43.x86_64 xxhash-libs-0.8.3-3.fc43.x86_64 xz-5.8.1-2.fc43.x86_64 xz-libs-5.8.1-2.fc43.x86_64 zig-srpm-macros-1-5.fc43.noarch zip-3.0-44.fc43.x86_64 zlib-ng-compat-2.2.5-2.fc44.x86_64 zstd-1.5.7-3.fc44.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1762646400 Wrote: /builddir/build/SRPMS/python-tokenizers-0.22.1-1.fc44.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1762722903.548974/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-kdj8a427/python-tokenizers/python-tokenizers.spec) Config(child) 0 minutes 22 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/python-tokenizers-0.22.1-1.fc44.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1762722903.548974/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1762722903.548974/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1762722903.548974/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-6.0.0-1.fc44.x86_64 rpm-sequoia-1.9.0-2.fc43.x86_64 dnf5-5.3.0.0-2.fc44.x86_64 dnf5-plugins-5.3.0.0-2.fc44.x86_64 Finish: chroot init Start: build phase for python-tokenizers-0.22.1-1.fc44.src.rpm Start: build setup for python-tokenizers-0.22.1-1.fc44.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1762646400 Wrote: /builddir/build/SRPMS/python-tokenizers-0.22.1-1.fc44.src.rpm Updating and loading repositories: Copr repository 100% | 137.2 KiB/s | 1.5 KiB | 00m00s fedora 100% | 99.9 KiB/s | 28.3 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: cargo-rpm-macros noarch 0:26.4-1.fc44 fedora 14.7 KiB python3-datasets noarch 0:4.4.0-1.fc44 fedora 5.1 MiB python3-devel x86_64 0:3.14.0-2.fc44 fedora 1.9 MiB python3-numpy x86_64 1:2.3.4-1.fc44 fedora 41.4 MiB python3-pytest noarch 0:8.3.5-10.fc44 fedora 21.6 MiB python3-pytest-asyncio noarch 0:1.1.0-2.fc44 fedora 130.7 KiB python3-pytest-datadir noarch 0:1.8.0-3.fc44 fedora 34.8 KiB python3-pytest-xdist noarch 0:3.7.0-5.fc44 fedora 468.4 KiB rust-tempfile+default-devel noarch 0:3.23.0-1.fc44 fedora 2.0 KiB tomcli noarch 0:0.10.1-3.fc44 fedora 152.0 KiB Installing dependencies: abseil-cpp x86_64 0:20250814.1-1.fc44 fedora 2.5 MiB annobin-docs noarch 0:13.03-1.fc44 fedora 99.2 KiB annobin-plugin-gcc x86_64 0:13.03-1.fc44 fedora 695.8 KiB boost-program-options x86_64 0:1.83.0-17.fc44 fedora 280.8 KiB c-ares x86_64 0:1.34.5-2.fc43 fedora 269.1 KiB cargo x86_64 0:1.91.0-1.fc44 fedora 22.8 MiB cargo2rpm noarch 0:0.1.18-6.fc44 fedora 1.3 MiB cpp x86_64 0:15.2.1-3.fc44 fedora 37.9 MiB expat x86_64 0:2.7.2-1.fc44 fedora 298.6 KiB flexiblas x86_64 0:3.5.0-1.fc44 fedora 38.0 KiB flexiblas-netlib x86_64 0:3.5.0-1.fc44 fedora 16.5 MiB flexiblas-openblas-openmp x86_64 0:3.5.0-1.fc44 fedora 39.2 KiB gcc x86_64 0:15.2.1-3.fc44 fedora 111.9 MiB gcc-plugin-annobin x86_64 0:15.2.1-3.fc44 fedora 57.1 KiB glib2 x86_64 0:2.86.1-2.fc44 fedora 14.8 MiB glibc-devel x86_64 0:2.42.9000-8.fc44 fedora 2.3 MiB grpc x86_64 0:1.48.4-54.fc44 fedora 10.5 MiB grpc-cpp x86_64 0:1.48.4-54.fc44 fedora 3.0 MiB grpc-data noarch 0:1.48.4-54.fc44 fedora 29.6 KiB kernel-headers x86_64 0:6.18.0-0.rc4.37.fc44 fedora 6.8 MiB libarrow x86_64 0:22.0.0-1.fc44 fedora 12.9 MiB libarrow-acero-libs x86_64 0:22.0.0-1.fc44 fedora 1.4 MiB libarrow-compute-libs x86_64 0:22.0.0-1.fc44 fedora 14.0 MiB libarrow-dataset-libs x86_64 0:22.0.0-1.fc44 fedora 1.5 MiB libarrow-doc noarch 0:22.0.0-1.fc44 fedora 119.0 KiB libarrow-flight-libs x86_64 0:22.0.0-1.fc44 fedora 1.4 MiB libarrow-glib-libs x86_64 0:22.0.0-1.fc44 fedora 1.5 MiB libedit x86_64 0:3.1-57.20251016cvs.fc44 fedora 240.2 KiB libgfortran x86_64 0:15.2.1-3.fc44 fedora 3.4 MiB libgit2 x86_64 0:1.9.0-6.fc43 fedora 1.3 MiB libicu x86_64 0:77.1-1.fc43 fedora 36.4 MiB libmpc x86_64 0:1.3.1-8.fc43 fedora 160.6 KiB liborc2 x86_64 0:2.2.1-1.fc44 fedora 1.8 MiB libquadmath x86_64 0:15.2.1-3.fc44 fedora 317.9 KiB libssh2 x86_64 0:1.11.1-4.fc43 fedora 322.7 KiB libxcrypt-devel x86_64 0:4.5.1-1.fc44 fedora 31.0 KiB libyaml x86_64 0:0.2.5-17.fc43 fedora 134.6 KiB llhttp x86_64 0:9.3.0-5.fc43 fedora 92.6 KiB llvm-filesystem x86_64 0:21.1.4-1.fc44 fedora 0.0 B llvm-libs x86_64 0:21.1.4-1.fc44 fedora 138.6 MiB make x86_64 1:4.4.1-11.fc43 fedora 1.8 MiB mpdecimal x86_64 0:4.0.1-2.fc43 fedora 217.2 KiB openblas x86_64 0:0.3.29-2.fc43 fedora 111.7 KiB openblas-openmp x86_64 0:0.3.29-2.fc43 fedora 43.7 MiB parquet-libs x86_64 0:22.0.0-1.fc44 fedora 3.6 MiB protobuf x86_64 0:3.19.6-18.fc44 fedora 3.3 MiB protobuf-compiler x86_64 0:3.19.6-18.fc44 fedora 2.5 MiB pyproject-rpm-macros noarch 0:1.18.5-1.fc44 fedora 115.0 KiB python-pip-wheel noarch 0:25.2-4.fc44 fedora 1.2 MiB python-rpm-macros noarch 0:3.14-9.fc44 fedora 27.6 KiB python3 x86_64 0:3.14.0-2.fc44 fedora 28.9 KiB python3-Bottleneck x86_64 0:1.6.0-1.fc44 fedora 577.8 KiB python3-aiohappyeyeballs noarch 0:2.6.1-9.fc44 fedora 102.5 KiB python3-aiohttp x86_64 0:3.13.1-1.fc44 fedora 4.0 MiB python3-aiosignal noarch 0:1.4.0-4.fc44 fedora 24.8 KiB python3-anyio noarch 0:4.8.0-7.fc44 fedora 1.2 MiB python3-attrs noarch 0:25.4.0-1.fc44 fedora 436.8 KiB python3-certifi noarch 0:2025.07.09-3.fc44 fedora 7.4 KiB python3-charset-normalizer noarch 0:3.4.4-1.fc44 fedora 356.2 KiB python3-click noarch 1:8.1.7-11.fc44 fedora 1.2 MiB python3-dateutil noarch 1:2.9.0.post0-6.fc44 fedora 877.5 KiB python3-dill noarch 0:0.4.0-7.fc44 fedora 1.1 MiB python3-execnet noarch 0:2.1.1-10.fc44 fedora 970.1 KiB python3-filelock noarch 0:3.15.4-10.fc44 fedora 97.0 KiB python3-frozenlist x86_64 0:1.8.0-1.fc44 fedora 150.6 KiB python3-fsspec noarch 0:2025.10.0-1.fc44 fedora 1.9 MiB python3-fsspec+http noarch 0:2025.10.0-1.fc44 fedora 0.0 B python3-h11 noarch 0:0.16.0-5.fc44 fedora 279.9 KiB python3-httpcore noarch 0:1.0.9-5.fc44 fedora 853.9 KiB python3-httpx noarch 0:0.28.1-9.fc44 fedora 992.1 KiB python3-huggingface-hub noarch 0:0.30.2-5.fc44 fedora 4.0 MiB python3-idna noarch 0:3.11-1.fc44 fedora 738.4 KiB python3-iniconfig noarch 0:2.1.0-3.fc44 fedora 42.4 KiB python3-libs x86_64 0:3.14.0-2.fc44 fedora 43.0 MiB python3-multidict x86_64 0:6.6.4-2.fc44 fedora 323.3 KiB python3-multiprocess noarch 0:0.70.18^20250509git72b6714-5.fc44 fedora 2.1 MiB python3-numexpr x86_64 0:2.12.1-2.fc44 fedora 819.0 KiB python3-numpy-f2py x86_64 1:2.3.4-1.fc44 fedora 2.1 MiB python3-packaging noarch 0:25.0-7.fc44 fedora 607.4 KiB python3-pandas x86_64 0:2.3.3-2.fc44 fedora 41.7 MiB python3-pluggy noarch 0:1.6.0-4.fc44 fedora 211.0 KiB python3-propcache x86_64 0:0.4.1-1.fc44 fedora 152.9 KiB python3-pyarrow x86_64 0:22.0.0-1.fc44 fedora 26.7 MiB python3-pytz noarch 0:2025.2-5.fc44 fedora 224.0 KiB python3-pyyaml x86_64 0:6.0.3-1.fc44 fedora 793.6 KiB python3-requests noarch 0:2.32.5-2.fc44 fedora 476.9 KiB python3-rpm-generators noarch 0:14-13.fc43 fedora 81.7 KiB python3-rpm-macros noarch 0:3.14-9.fc44 fedora 6.5 KiB python3-six noarch 0:1.17.0-7.fc44 fedora 118.0 KiB python3-sniffio noarch 0:1.3.1-8.fc44 fedora 35.3 KiB python3-tomlkit noarch 0:0.13.2-6.fc44 fedora 493.9 KiB python3-tqdm noarch 0:4.67.1-9.fc44 fedora 575.3 KiB python3-typing-extensions noarch 0:4.15.0-2.fc44 fedora 538.4 KiB python3-urllib3 noarch 0:2.5.0-3.fc44 fedora 1.1 MiB python3-xxhash x86_64 0:3.6.0-1.fc44 fedora 66.0 KiB python3-yarl x86_64 0:1.22.0-1.fc44 fedora 550.9 KiB re2 x86_64 2:20251105-2.fc44 fedora 583.4 KiB rust x86_64 0:1.91.0-1.fc44 fedora 93.5 MiB rust-bitflags+std-devel noarch 0:2.10.0-1.fc44 fedora 2.3 KiB rust-bitflags-devel noarch 0:2.10.0-1.fc44 fedora 212.0 KiB rust-cfg-if+default-devel noarch 0:1.0.4-1.fc44 fedora 1.2 KiB rust-cfg-if-devel noarch 0:1.0.4-1.fc44 fedora 21.9 KiB rust-errno+std-devel noarch 0:0.3.14-1.fc44 fedora 1.3 KiB rust-errno-devel noarch 0:0.3.14-1.fc44 fedora 31.7 KiB rust-fastrand+alloc-devel noarch 0:2.3.0-3.fc43 fedora 1.4 KiB rust-fastrand+default-devel noarch 0:2.3.0-3.fc43 fedora 1.4 KiB rust-fastrand+std-devel noarch 0:2.3.0-3.fc43 fedora 1.4 KiB rust-fastrand-devel noarch 0:2.3.0-3.fc43 fedora 50.0 KiB rust-getrandom-devel noarch 0:0.3.4-1.fc44 fedora 158.4 KiB rust-libc+default-devel noarch 0:0.2.177-1.fc44 fedora 5.2 KiB rust-libc+std-devel noarch 0:0.2.177-1.fc44 fedora 5.2 KiB rust-libc-devel noarch 0:0.2.177-1.fc44 fedora 4.1 MiB rust-linux-raw-sys+auxvec-devel noarch 0:0.11.0-1.fc44 fedora 2.2 KiB rust-linux-raw-sys+elf-devel noarch 0:0.11.0-1.fc44 fedora 2.2 KiB rust-linux-raw-sys+errno-devel noarch 0:0.11.0-1.fc44 fedora 2.2 KiB rust-linux-raw-sys+general-devel noarch 0:0.11.0-1.fc44 fedora 2.2 KiB rust-linux-raw-sys+ioctl-devel noarch 0:0.11.0-1.fc44 fedora 2.2 KiB rust-linux-raw-sys+no_std-devel noarch 0:0.11.0-1.fc44 fedora 2.2 KiB rust-linux-raw-sys-devel noarch 0:0.11.0-1.fc44 fedora 14.2 MiB rust-once_cell+alloc-devel noarch 0:1.21.3-2.fc43 fedora 2.5 KiB rust-once_cell+race-devel noarch 0:1.21.3-2.fc43 fedora 2.5 KiB rust-once_cell+std-devel noarch 0:1.21.3-2.fc43 fedora 2.5 KiB rust-once_cell-devel noarch 0:1.21.3-2.fc43 fedora 136.7 KiB rust-rustix+alloc-devel noarch 0:1.1.2-2.fc44 fedora 9.2 KiB rust-rustix+default-devel noarch 0:1.1.2-2.fc44 fedora 9.2 KiB rust-rustix+fs-devel noarch 0:1.1.2-2.fc44 fedora 9.2 KiB rust-rustix+std-devel noarch 0:1.1.2-2.fc44 fedora 9.2 KiB rust-rustix-devel noarch 0:1.1.2-2.fc44 fedora 2.2 MiB rust-std-static x86_64 0:1.91.0-1.fc44 fedora 164.2 MiB rust-tempfile+getrandom-devel noarch 0:3.23.0-1.fc44 fedora 2.0 KiB rust-tempfile-devel noarch 0:3.23.0-1.fc44 fedora 165.8 KiB snappy x86_64 0:1.2.2-3.fc44 fedora 71.8 KiB thrift x86_64 0:0.20.0-8.fc44 fedora 5.5 MiB tomcli+tomlkit noarch 0:0.10.1-3.fc44 fedora 7.9 KiB tzdata noarch 0:2025b-3.fc43 fedora 1.6 MiB utf8proc x86_64 0:2.10.0-2.fc43 fedora 372.0 KiB Transaction Summary: Installing: 146 packages Total size of inbound packages is 259 MiB. Need to download 259 MiB. After this operation, 1 GiB extra will be used (install 1 GiB, remove 0 B). [ 1/146] cargo-rpm-macros-0:26.4-1.fc4 100% | 1.1 MiB/s | 13.9 KiB | 00m00s [ 2/146] rust-tempfile+default-devel-0 100% | 609.4 KiB/s | 9.1 KiB | 00m00s [ 3/146] python3-pytest-0:8.3.5-10.fc4 100% | 85.2 MiB/s | 2.2 MiB | 00m00s [ 4/146] python3-numpy-1:2.3.4-1.fc44. 100% | 191.3 MiB/s | 8.2 MiB | 00m00s [ 5/146] python3-pytest-asyncio-0:1.1. 100% | 1.1 MiB/s | 41.0 KiB | 00m00s [ 6/146] python3-pytest-datadir-0:1.8. 100% | 490.2 KiB/s | 23.0 KiB | 00m00s [ 7/146] python3-pytest-xdist-0:3.7.0- 100% | 4.3 MiB/s | 117.7 KiB | 00m00s [ 8/146] python3-devel-0:3.14.0-2.fc44 100% | 84.9 MiB/s | 434.9 KiB | 00m00s [ 9/146] python3-datasets-0:4.4.0-1.fc 100% | 7.7 MiB/s | 998.1 KiB | 00m00s [ 10/146] cargo2rpm-0:0.1.18-6.fc44.noa 100% | 18.8 MiB/s | 192.1 KiB | 00m00s [ 11/146] rust-tempfile+getrandom-devel 100% | 1.8 MiB/s | 9.2 KiB | 00m00s [ 12/146] rust-tempfile-devel-0:3.23.0- 100% | 10.2 MiB/s | 52.2 KiB | 00m00s [ 13/146] tomcli-0:0.10.1-3.fc44.noarch 100% | 1.5 MiB/s | 75.1 KiB | 00m00s [ 14/146] cargo-0:1.91.0-1.fc44.x86_64 100% | 138.5 MiB/s | 7.5 MiB | 00m00s [ 15/146] python3-fsspec+http-0:2025.10 100% | 515.9 KiB/s | 10.8 KiB | 00m00s [ 16/146] python3-filelock-0:3.15.4-10. 100% | 915.5 KiB/s | 44.9 KiB | 00m00s [ 17/146] python3-dill-0:0.4.0-7.fc44.n 100% | 3.0 MiB/s | 278.7 KiB | 00m00s [ 18/146] python3-httpx-0:0.28.1-9.fc44 100% | 4.0 MiB/s | 213.7 KiB | 00m00s [ 19/146] python3-huggingface-hub-0:0.3 100% | 21.8 MiB/s | 825.4 KiB | 00m00s [ 20/146] python3-packaging-0:25.0-7.fc 100% | 39.4 MiB/s | 161.4 KiB | 00m00s [ 21/146] python3-fsspec-0:2025.10.0-1. 100% | 4.4 MiB/s | 468.8 KiB | 00m00s [ 22/146] python3-multiprocess-0:0.70.1 100% | 4.7 MiB/s | 416.1 KiB | 00m00s [ 23/146] python3-pyyaml-0:6.0.3-1.fc44 100% | 46.2 MiB/s | 236.5 KiB | 00m00s [ 24/146] python3-requests-0:2.32.5-2.f 100% | 26.1 MiB/s | 160.4 KiB | 00m00s [ 25/146] python3-tqdm-0:4.67.1-9.fc44. 100% | 7.6 MiB/s | 179.7 KiB | 00m00s [ 26/146] python3-xxhash-0:3.6.0-1.fc44 100% | 1.3 MiB/s | 27.2 KiB | 00m00s [ 27/146] flexiblas-netlib-0:3.5.0-1.fc 100% | 97.8 MiB/s | 4.5 MiB | 00m00s [ 28/146] python3-numpy-f2py-1:2.3.4-1. 100% | 14.2 MiB/s | 510.6 KiB | 00m00s [ 29/146] python3-pyarrow-0:22.0.0-1.fc 100% | 22.6 MiB/s | 4.9 MiB | 00m00s [ 30/146] python3-pluggy-0:1.6.0-4.fc44 100% | 7.5 MiB/s | 61.6 KiB | 00m00s [ 31/146] python3-pandas-0:2.3.3-2.fc44 100% | 32.0 MiB/s | 7.7 MiB | 00m00s [ 32/146] python3-click-1:8.1.7-11.fc44 100% | 35.5 MiB/s | 254.6 KiB | 00m00s [ 33/146] python3-iniconfig-0:2.1.0-3.f 100% | 394.3 KiB/s | 22.9 KiB | 00m00s [ 34/146] libgit2-0:1.9.0-6.fc43.x86_64 100% | 35.4 MiB/s | 580.3 KiB | 00m00s [ 35/146] libssh2-0:1.11.1-4.fc43.x86_6 100% | 12.7 MiB/s | 143.0 KiB | 00m00s [ 36/146] python3-libs-0:3.14.0-2.fc44. 100% | 119.8 MiB/s | 9.8 MiB | 00m00s [ 37/146] rust-getrandom-devel-0:0.3.4- 100% | 8.8 MiB/s | 62.8 KiB | 00m00s [ 38/146] rust-fastrand+default-devel-0 100% | 1.6 MiB/s | 8.2 KiB | 00m00s [ 39/146] rust-once_cell+std-devel-0:1. 100% | 755.8 KiB/s | 8.3 KiB | 00m00s [ 40/146] python3-execnet-0:2.1.1-10.fc 100% | 2.1 MiB/s | 267.8 KiB | 00m00s [ 41/146] rust-once_cell-devel-0:1.21.3 100% | 3.9 MiB/s | 44.4 KiB | 00m00s [ 42/146] rust-rustix+default-devel-0:1 100% | 1.2 MiB/s | 9.9 KiB | 00m00s [ 43/146] rust-rustix+fs-devel-0:1.1.2- 100% | 1.2 MiB/s | 9.8 KiB | 00m00s [ 44/146] python3-aiohttp-0:3.13.1-1.fc 100% | 22.4 MiB/s | 850.4 KiB | 00m00s [ 45/146] python3-anyio-0:4.8.0-7.fc44. 100% | 7.6 MiB/s | 271.1 KiB | 00m00s [ 46/146] python3-certifi-0:2025.07.09- 100% | 500.3 KiB/s | 15.0 KiB | 00m00s [ 47/146] python3-httpcore-0:1.0.9-5.fc 100% | 4.7 MiB/s | 157.4 KiB | 00m00s [ 48/146] python3-idna-0:3.11-1.fc44.no 100% | 9.4 MiB/s | 124.8 KiB | 00m00s [ 49/146] python3-typing-extensions-0:4 100% | 9.1 MiB/s | 112.3 KiB | 00m00s [ 50/146] python3-Bottleneck-0:1.6.0-1. 100% | 9.8 MiB/s | 181.3 KiB | 00m00s [ 51/146] python3-dateutil-1:2.9.0.post 100% | 21.0 MiB/s | 344.2 KiB | 00m00s [ 52/146] python3-pytz-0:2025.2-5.fc44. 100% | 5.9 MiB/s | 66.1 KiB | 00m00s [ 53/146] python3-numexpr-0:2.12.1-2.fc 100% | 6.6 MiB/s | 223.0 KiB | 00m00s [ 54/146] libarrow-acero-libs-0:22.0.0- 100% | 10.6 MiB/s | 520.0 KiB | 00m00s [ 55/146] rust-0:1.91.0-1.fc44.x86_64 100% | 80.8 MiB/s | 30.0 MiB | 00m00s [ 56/146] libarrow-dataset-libs-0:22.0. 100% | 38.7 MiB/s | 515.3 KiB | 00m00s [ 57/146] libarrow-flight-libs-0:22.0.0 100% | 59.1 MiB/s | 423.4 KiB | 00m00s [ 58/146] parquet-libs-0:22.0.0-1.fc44. 100% | 74.8 MiB/s | 1.1 MiB | 00m00s [ 59/146] libyaml-0:0.2.5-17.fc43.x86_6 100% | 19.6 MiB/s | 60.1 KiB | 00m00s [ 60/146] python3-charset-normalizer-0: 100% | 16.4 MiB/s | 117.4 KiB | 00m00s [ 61/146] libarrow-0:22.0.0-1.fc44.x86_ 100% | 14.5 MiB/s | 3.5 MiB | 00m00s [ 62/146] python3-urllib3-0:2.5.0-3.fc4 100% | 14.5 MiB/s | 297.4 KiB | 00m00s [ 63/146] flexiblas-0:3.5.0-1.fc44.x86_ 100% | 7.5 MiB/s | 23.1 KiB | 00m00s [ 64/146] flexiblas-openblas-openmp-0:3 100% | 4.2 MiB/s | 17.3 KiB | 00m00s [ 65/146] libquadmath-0:15.2.1-3.fc44.x 100% | 33.3 MiB/s | 204.3 KiB | 00m00s [ 66/146] expat-0:2.7.2-1.fc44.x86_64 100% | 23.2 MiB/s | 119.0 KiB | 00m00s [ 67/146] mpdecimal-0:4.0.1-2.fc43.x86_ 100% | 11.9 MiB/s | 97.1 KiB | 00m00s [ 68/146] libgfortran-0:15.2.1-3.fc44.x 100% | 22.6 MiB/s | 971.6 KiB | 00m00s [ 69/146] python-pip-wheel-0:25.2-4.fc4 100% | 51.5 MiB/s | 1.1 MiB | 00m00s [ 70/146] tzdata-0:2025b-3.fc43.noarch 100% | 77.5 MiB/s | 713.9 KiB | 00m00s [ 71/146] libarrow-compute-libs-0:22.0. 100% | 12.7 MiB/s | 2.9 MiB | 00m00s [ 72/146] llhttp-0:9.3.0-5.fc43.x86_64 100% | 3.2 MiB/s | 38.8 KiB | 00m00s [ 73/146] llvm-libs-0:21.1.4-1.fc44.x86 100% | 98.0 MiB/s | 34.9 MiB | 00m00s [ 74/146] gcc-0:15.2.1-3.fc44.x86_64 100% | 98.5 MiB/s | 39.7 MiB | 00m00s [ 75/146] rust-cfg-if+default-devel-0:1 100% | 181.0 KiB/s | 8.0 KiB | 00m00s [ 76/146] rust-libc+default-devel-0:0.2 100% | 1.2 MiB/s | 9.5 KiB | 00m00s [ 77/146] rust-fastrand+std-devel-0:2.3 100% | 1.3 MiB/s | 8.2 KiB | 00m00s [ 78/146] rust-fastrand-devel-0:2.3.0-3 100% | 4.6 MiB/s | 23.6 KiB | 00m00s [ 79/146] rust-once_cell+alloc-devel-0: 100% | 1.4 MiB/s | 8.3 KiB | 00m00s [ 80/146] rust-rustix+std-devel-0:1.1.2 100% | 1.4 MiB/s | 10.3 KiB | 00m00s [ 81/146] rust-rustix-devel-0:1.1.2-2.f 100% | 35.4 MiB/s | 399.3 KiB | 00m00s [ 82/146] python3-aiohappyeyeballs-0:2. 100% | 1.6 MiB/s | 43.0 KiB | 00m00s [ 83/146] python3-attrs-0:25.4.0-1.fc44 100% | 7.2 MiB/s | 140.7 KiB | 00m00s [ 84/146] python3-aiosignal-0:1.4.0-4.f 100% | 363.2 KiB/s | 20.0 KiB | 00m00s [ 85/146] rust-std-static-0:1.91.0-1.fc 100% | 78.3 MiB/s | 40.5 MiB | 00m01s [ 86/146] python3-frozenlist-0:1.8.0-1. 100% | 1.1 MiB/s | 58.9 KiB | 00m00s [ 87/146] python3-multidict-0:6.6.4-2.f 100% | 1.8 MiB/s | 86.8 KiB | 00m00s [ 88/146] python3-propcache-0:0.4.1-1.f 100% | 2.6 MiB/s | 61.2 KiB | 00m00s [ 89/146] python3-yarl-0:1.22.0-1.fc44. 100% | 5.0 MiB/s | 144.0 KiB | 00m00s [ 90/146] python3-six-0:1.17.0-7.fc44.n 100% | 8.2 MiB/s | 41.8 KiB | 00m00s [ 91/146] python3-sniffio-0:1.3.1-8.fc4 100% | 1.1 MiB/s | 27.5 KiB | 00m00s [ 92/146] libarrow-doc-0:22.0.0-1.fc44. 100% | 4.8 MiB/s | 29.8 KiB | 00m00s [ 93/146] python3-h11-0:0.16.0-5.fc44.n 100% | 3.2 MiB/s | 81.0 KiB | 00m00s [ 94/146] re2-2:20251105-2.fc44.x86_64 100% | 20.5 MiB/s | 231.5 KiB | 00m00s [ 95/146] snappy-0:1.2.2-3.fc44.x86_64 100% | 1.3 MiB/s | 39.8 KiB | 00m00s [ 96/146] utf8proc-0:2.10.0-2.fc43.x86_ 100% | 6.1 MiB/s | 81.8 KiB | 00m00s [ 97/146] abseil-cpp-0:20250814.1-1.fc4 100% | 53.8 MiB/s | 771.2 KiB | 00m00s [ 98/146] glib2-0:2.86.1-2.fc44.x86_64 100% | 93.0 MiB/s | 3.1 MiB | 00m00s [ 99/146] grpc-0:1.48.4-54.fc44.x86_64 100% | 80.0 MiB/s | 2.6 MiB | 00m00s [100/146] grpc-cpp-0:1.48.4-54.fc44.x86 100% | 46.9 MiB/s | 720.9 KiB | 00m00s [101/146] libarrow-glib-libs-0:22.0.0-1 100% | 37.9 MiB/s | 427.3 KiB | 00m00s [102/146] liborc2-0:2.2.1-1.fc44.x86_64 100% | 5.7 MiB/s | 567.4 KiB | 00m00s [103/146] protobuf-0:3.19.6-18.fc44.x86 100% | 83.9 MiB/s | 1.0 MiB | 00m00s [104/146] thrift-0:0.20.0-8.fc44.x86_64 100% | 51.5 MiB/s | 1.8 MiB | 00m00s [105/146] libmpc-0:1.3.1-8.fc43.x86_64 100% | 6.2 MiB/s | 70.4 KiB | 00m00s [106/146] openblas-openmp-0:0.3.29-2.fc 100% | 99.3 MiB/s | 5.4 MiB | 00m00s [107/146] make-1:4.4.1-11.fc43.x86_64 100% | 40.8 MiB/s | 585.2 KiB | 00m00s [108/146] llvm-filesystem-0:21.1.4-1.fc 100% | 4.0 MiB/s | 16.3 KiB | 00m00s [109/146] libedit-0:3.1-57.20251016cvs. 100% | 10.3 MiB/s | 105.0 KiB | 00m00s [110/146] rust-cfg-if-devel-0:1.0.4-1.f 100% | 3.3 MiB/s | 16.8 KiB | 00m00s [111/146] glibc-devel-0:2.42.9000-8.fc4 100% | 63.3 MiB/s | 583.1 KiB | 00m00s [112/146] rust-libc+std-devel-0:0.2.177 100% | 946.2 KiB/s | 9.5 KiB | 00m00s [113/146] rust-libc-devel-0:0.2.177-1.f 100% | 39.9 MiB/s | 449.5 KiB | 00m00s [114/146] rust-fastrand+alloc-devel-0:2 100% | 1.1 MiB/s | 8.2 KiB | 00m00s [115/146] rust-once_cell+race-devel-0:1 100% | 1.2 MiB/s | 8.3 KiB | 00m00s [116/146] rust-bitflags+std-devel-0:2.1 100% | 1.7 MiB/s | 8.7 KiB | 00m00s [117/146] rust-errno+std-devel-0:0.3.14 100% | 2.1 MiB/s | 8.6 KiB | 00m00s [118/146] rust-errno-devel-0:0.3.14-1.f 100% | 4.9 MiB/s | 20.2 KiB | 00m00s [119/146] cpp-0:15.2.1-3.fc44.x86_64 100% | 113.4 MiB/s | 12.9 MiB | 00m00s [120/146] rust-rustix+alloc-devel-0:1.1 100% | 546.7 KiB/s | 9.8 KiB | 00m00s [121/146] rust-bitflags-devel-0:2.10.0- 100% | 3.5 MiB/s | 64.4 KiB | 00m00s [122/146] rust-linux-raw-sys+auxvec-dev 100% | 1.7 MiB/s | 8.6 KiB | 00m00s [123/146] rust-linux-raw-sys+elf-devel- 100% | 1.7 MiB/s | 8.6 KiB | 00m00s [124/146] rust-linux-raw-sys+errno-deve 100% | 2.1 MiB/s | 8.6 KiB | 00m00s [125/146] rust-linux-raw-sys+general-de 100% | 1.2 MiB/s | 8.6 KiB | 00m00s [126/146] rust-linux-raw-sys+ioctl-deve 100% | 1.2 MiB/s | 8.6 KiB | 00m00s [127/146] rust-linux-raw-sys+no_std-dev 100% | 1.0 MiB/s | 8.6 KiB | 00m00s [128/146] c-ares-0:1.34.5-2.fc43.x86_64 100% | 6.0 MiB/s | 117.0 KiB | 00m00s [129/146] grpc-data-0:1.48.4-54.fc44.no 100% | 2.1 MiB/s | 18.9 KiB | 00m00s [130/146] protobuf-compiler-0:3.19.6-18 100% | 58.8 MiB/s | 783.3 KiB | 00m00s [131/146] libxcrypt-devel-0:4.5.1-1.fc4 100% | 7.3 MiB/s | 29.9 KiB | 00m00s [132/146] python3-0:3.14.0-2.fc44.x86_6 100% | 5.4 MiB/s | 27.7 KiB | 00m00s [133/146] rust-linux-raw-sys-devel-0:0. 100% | 5.0 MiB/s | 294.3 KiB | 00m00s [134/146] boost-program-options-0:1.83. 100% | 15.4 MiB/s | 110.7 KiB | 00m00s [135/146] openblas-0:0.3.29-2.fc43.x86_ 100% | 2.9 MiB/s | 42.3 KiB | 00m00s [136/146] libicu-0:77.1-1.fc43.x86_64 100% | 127.4 MiB/s | 10.7 MiB | 00m00s [137/146] kernel-headers-0:6.18.0-0.rc4 100% | 74.4 MiB/s | 1.7 MiB | 00m00s [138/146] annobin-plugin-gcc-0:13.03-1. 100% | 133.4 MiB/s | 682.8 KiB | 00m00s [139/146] gcc-plugin-annobin-0:15.2.1-3 100% | 18.8 MiB/s | 57.7 KiB | 00m00s [140/146] tomcli+tomlkit-0:0.10.1-3.fc4 100% | 323.1 KiB/s | 9.0 KiB | 00m00s [141/146] annobin-docs-0:13.03-1.fc44.n 100% | 21.8 MiB/s | 89.4 KiB | 00m00s [142/146] pyproject-rpm-macros-0:1.18.5 100% | 21.7 MiB/s | 44.4 KiB | 00m00s [143/146] python-rpm-macros-0:3.14-9.fc 100% | 9.6 MiB/s | 19.6 KiB | 00m00s [144/146] python3-rpm-macros-0:3.14-9.f 100% | 5.9 MiB/s | 12.2 KiB | 00m00s [145/146] python3-rpm-generators-0:14-1 100% | 9.3 MiB/s | 28.5 KiB | 00m00s [146/146] python3-tomlkit-0:0.13.2-6.fc 100% | 5.0 MiB/s | 126.8 KiB | 00m00s -------------------------------------------------------------------------------- [146/146] Total 100% | 131.9 MiB/s | 259.2 MiB | 00m02s Running transaction [ 1/148] Verify package files 100% | 166.0 B/s | 146.0 B | 00m01s [ 2/148] Prepare transaction 100% | 1.9 KiB/s | 146.0 B | 00m00s [ 3/148] Installing libarrow-doc-0:22. 100% | 117.0 MiB/s | 119.8 KiB | 00m00s [ 4/148] Installing protobuf-0:3.19.6- 100% | 408.8 MiB/s | 3.3 MiB | 00m00s [ 5/148] Installing abseil-cpp-0:20250 100% | 252.7 MiB/s | 2.5 MiB | 00m00s [ 6/148] Installing python-rpm-macros- 100% | 9.3 MiB/s | 28.5 KiB | 00m00s [ 7/148] Installing tzdata-0:2025b-3.f 100% | 70.1 MiB/s | 1.9 MiB | 00m00s [ 8/148] Installing python3-rpm-macros 100% | 0.0 B/s | 6.8 KiB | 00m00s [ 9/148] Installing libmpc-0:1.3.1-8.f 100% | 158.3 MiB/s | 162.1 KiB | 00m00s [ 10/148] Installing glib2-0:2.86.1-2.f 100% | 309.5 MiB/s | 14.9 MiB | 00m00s [ 11/148] Installing snappy-0:1.2.2-3.f 100% | 71.8 MiB/s | 73.5 KiB | 00m00s [ 12/148] Installing llhttp-0:9.3.0-5.f 100% | 91.8 MiB/s | 94.0 KiB | 00m00s [ 13/148] Installing libgfortran-0:15.2 100% | 479.9 MiB/s | 3.4 MiB | 00m00s [ 14/148] Installing libssh2-0:1.11.1-4 100% | 316.8 MiB/s | 324.4 KiB | 00m00s [ 15/148] Installing libgit2-0:1.9.0-6. 100% | 331.8 MiB/s | 1.3 MiB | 00m00s [ 16/148] Installing liborc2-0:2.2.1-1. 100% | 369.0 MiB/s | 1.8 MiB | 00m00s [ 17/148] Installing libarrow-0:22.0.0- 100% | 459.9 MiB/s | 12.9 MiB | 00m00s [ 18/148] Installing cpp-0:15.2.1-3.fc4 100% | 375.7 MiB/s | 37.9 MiB | 00m00s [ 19/148] Installing pyproject-rpm-macr 100% | 114.3 MiB/s | 117.0 KiB | 00m00s [ 20/148] Installing protobuf-compiler- 100% | 146.5 MiB/s | 2.5 MiB | 00m00s [ 21/148] Installing annobin-docs-0:13. 100% | 32.7 MiB/s | 100.3 KiB | 00m00s [ 22/148] Installing kernel-headers-0:6 100% | 231.3 MiB/s | 6.9 MiB | 00m00s [ 23/148] Installing glibc-devel-0:2.42 100% | 196.4 MiB/s | 2.4 MiB | 00m00s [ 24/148] Installing libxcrypt-devel-0: 100% | 32.5 MiB/s | 33.3 KiB | 00m00s [ 25/148] Installing openblas-0:0.3.29- 100% | 0.0 B/s | 113.5 KiB | 00m00s [ 26/148] Installing openblas-openmp-0: 100% | 661.9 MiB/s | 43.7 MiB | 00m00s [ 27/148] Installing boost-program-opti 100% | 275.2 MiB/s | 281.8 KiB | 00m00s [ 28/148] Installing grpc-data-0:1.48.4 100% | 0.0 B/s | 30.4 KiB | 00m00s [ 29/148] Installing c-ares-0:1.34.5-2. 100% | 264.3 MiB/s | 270.6 KiB | 00m00s [ 30/148] Installing libicu-0:77.1-1.fc 100% | 433.2 MiB/s | 36.4 MiB | 00m00s [ 31/148] Installing re2-2:20251105-2.f 100% | 285.5 MiB/s | 584.7 KiB | 00m00s [ 32/148] Installing grpc-0:1.48.4-54.f 100% | 501.4 MiB/s | 10.5 MiB | 00m00s [ 33/148] Installing grpc-cpp-0:1.48.4- 100% | 429.4 MiB/s | 3.0 MiB | 00m00s [ 34/148] Installing llvm-filesystem-0: 100% | 0.0 B/s | 1.1 KiB | 00m00s [ 35/148] Installing libedit-0:3.1-57.2 100% | 236.2 MiB/s | 241.8 KiB | 00m00s [ 36/148] Installing llvm-libs-0:21.1.4 100% | 474.7 MiB/s | 138.6 MiB | 00m00s [ 37/148] Installing make-1:4.4.1-11.fc 100% | 105.9 MiB/s | 1.8 MiB | 00m00s [ 38/148] Installing gcc-0:15.2.1-3.fc4 100% | 433.7 MiB/s | 111.9 MiB | 00m00s [ 39/148] Installing rust-0:1.91.0-1.fc 100% | 415.7 MiB/s | 93.5 MiB | 00m00s [ 40/148] Installing rust-std-static-0: 100% | 497.6 MiB/s | 164.2 MiB | 00m00s [ 41/148] Installing cargo-0:1.91.0-1.f 100% | 350.6 MiB/s | 22.8 MiB | 00m00s [ 42/148] Installing rust-linux-raw-sys 100% | 646.9 MiB/s | 14.2 MiB | 00m00s [ 43/148] Installing rust-libc-devel-0: 100% | 279.0 MiB/s | 4.2 MiB | 00m00s [ 44/148] Installing rust-once_cell-dev 100% | 138.6 MiB/s | 142.0 KiB | 00m00s [ 45/148] Installing rust-libc+std-deve 100% | 0.0 B/s | 124.0 B | 00m00s [ 46/148] Installing rust-errno-devel-0 100% | 33.4 MiB/s | 34.2 KiB | 00m00s [ 47/148] Installing rust-fastrand-deve 100% | 51.4 MiB/s | 52.6 KiB | 00m00s [ 48/148] Installing rust-bitflags-deve 100% | 108.7 MiB/s | 222.6 KiB | 00m00s [ 49/148] Installing rust-bitflags+std- 100% | 0.0 B/s | 124.0 B | 00m00s [ 50/148] Installing rust-fastrand+allo 100% | 0.0 B/s | 124.0 B | 00m00s [ 51/148] Installing rust-fastrand+std- 100% | 0.0 B/s | 124.0 B | 00m00s [ 52/148] Installing rust-fastrand+defa 100% | 0.0 B/s | 124.0 B | 00m00s [ 53/148] Installing rust-errno+std-dev 100% | 0.0 B/s | 124.0 B | 00m00s [ 54/148] Installing rust-libc+default- 100% | 0.0 B/s | 124.0 B | 00m00s [ 55/148] Installing rust-once_cell+rac 100% | 0.0 B/s | 124.0 B | 00m00s [ 56/148] Installing rust-once_cell+all 100% | 0.0 B/s | 124.0 B | 00m00s [ 57/148] Installing rust-once_cell+std 100% | 0.0 B/s | 124.0 B | 00m00s [ 58/148] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [ 59/148] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [ 60/148] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [ 61/148] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [ 62/148] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [ 63/148] Installing rust-linux-raw-sys 100% | 121.1 KiB/s | 124.0 B | 00m00s [ 64/148] Installing rust-rustix-devel- 100% | 188.5 MiB/s | 2.3 MiB | 00m00s [ 65/148] Installing rust-rustix+fs-dev 100% | 0.0 B/s | 124.0 B | 00m00s [ 66/148] Installing rust-rustix+alloc- 100% | 0.0 B/s | 124.0 B | 00m00s [ 67/148] Installing rust-rustix+std-de 100% | 0.0 B/s | 124.0 B | 00m00s [ 68/148] Installing rust-rustix+defaul 100% | 0.0 B/s | 124.0 B | 00m00s [ 69/148] Installing rust-tempfile-deve 100% | 167.4 MiB/s | 171.4 KiB | 00m00s [ 70/148] Installing rust-cfg-if-devel- 100% | 0.0 B/s | 23.8 KiB | 00m00s [ 71/148] Installing rust-cfg-if+defaul 100% | 0.0 B/s | 124.0 B | 00m00s [ 72/148] Installing rust-getrandom-dev 100% | 162.5 MiB/s | 166.4 KiB | 00m00s [ 73/148] Installing rust-tempfile+getr 100% | 0.0 B/s | 124.0 B | 00m00s [ 74/148] Installing thrift-0:0.20.0-8. 100% | 218.5 MiB/s | 5.5 MiB | 00m00s [ 75/148] Installing parquet-libs-0:22. 100% | 455.7 MiB/s | 3.6 MiB | 00m00s [ 76/148] Installing utf8proc-0:2.10.0- 100% | 364.7 MiB/s | 373.4 KiB | 00m00s [ 77/148] Installing libarrow-compute-l 100% | 538.9 MiB/s | 14.0 MiB | 00m00s [ 78/148] Installing libarrow-acero-lib 100% | 351.4 MiB/s | 1.4 MiB | 00m00s [ 79/148] Installing libarrow-dataset-l 100% | 370.4 MiB/s | 1.5 MiB | 00m00s [ 80/148] Installing libarrow-glib-libs 100% | 382.1 MiB/s | 1.5 MiB | 00m00s [ 81/148] Installing libarrow-flight-li 100% | 354.2 MiB/s | 1.4 MiB | 00m00s [ 82/148] Installing python-pip-wheel-0 100% | 589.9 MiB/s | 1.2 MiB | 00m00s [ 83/148] Installing mpdecimal-0:4.0.1- 100% | 213.7 MiB/s | 218.8 KiB | 00m00s [ 84/148] Installing expat-0:2.7.2-1.fc 100% | 17.3 MiB/s | 300.7 KiB | 00m00s [ 85/148] Installing python3-libs-0:3.1 100% | 373.7 MiB/s | 43.3 MiB | 00m00s [ 86/148] Installing python3-0:3.14.0-2 100% | 2.5 MiB/s | 30.6 KiB | 00m00s [ 87/148] Installing python3-idna-0:3.1 100% | 363.7 MiB/s | 744.9 KiB | 00m00s [ 88/148] Installing python3-packaging- 100% | 201.8 MiB/s | 619.9 KiB | 00m00s [ 89/148] Installing python3-fsspec-0:2 100% | 277.6 MiB/s | 1.9 MiB | 00m00s [ 90/148] Installing python3-dill-0:0.4 100% | 68.1 MiB/s | 1.1 MiB | 00m00s [ 91/148] Installing python3-filelock-0 100% | 101.4 MiB/s | 103.9 KiB | 00m00s [ 92/148] Installing python3-tqdm-0:4.6 100% | 41.8 MiB/s | 598.6 KiB | 00m00s [ 93/148] Installing python3-certifi-0: 100% | 10.9 MiB/s | 11.2 KiB | 00m00s [ 94/148] Installing python3-frozenlist 100% | 151.0 MiB/s | 154.7 KiB | 00m00s [ 95/148] Installing python3-multidict- 100% | 160.3 MiB/s | 328.3 KiB | 00m00s [ 96/148] Installing python3-propcache- 100% | 154.3 MiB/s | 158.0 KiB | 00m00s [ 97/148] Installing python3-yarl-0:1.2 100% | 272.5 MiB/s | 558.0 KiB | 00m00s [ 98/148] Installing python3-aiosignal- 100% | 27.2 MiB/s | 27.9 KiB | 00m00s [ 99/148] Installing python3-multiproce 100% | 356.0 MiB/s | 2.1 MiB | 00m00s [100/148] Installing python3-rpm-genera 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [101/148] Installing python3-urllib3-0: 100% | 222.2 MiB/s | 1.1 MiB | 00m00s [102/148] Installing cargo2rpm-0:0.1.18 100% | 76.3 MiB/s | 1.3 MiB | 00m00s [103/148] Installing python3-pyarrow-0: 100% | 473.3 MiB/s | 27.0 MiB | 00m00s [104/148] Installing python3-xxhash-0:3 100% | 68.5 MiB/s | 70.1 KiB | 00m00s [105/148] Installing python3-iniconfig- 100% | 45.4 MiB/s | 46.5 KiB | 00m00s [106/148] Installing python3-pluggy-0:1 100% | 70.8 MiB/s | 217.5 KiB | 00m00s [107/148] Installing python3-pytest-0:8 100% | 396.3 MiB/s | 21.8 MiB | 00m00s [108/148] Installing python3-execnet-0: 100% | 242.1 MiB/s | 991.8 KiB | 00m00s [109/148] Installing python3-click-1:8. 100% | 390.1 MiB/s | 1.2 MiB | 00m00s [110/148] Installing python3-typing-ext 100% | 528.0 MiB/s | 540.7 KiB | 00m00s [111/148] Installing python3-pytz-0:202 100% | 224.0 MiB/s | 229.4 KiB | 00m00s [112/148] Installing python3-charset-no 100% | 27.5 MiB/s | 366.4 KiB | 00m00s [113/148] Installing python3-requests-0 100% | 238.7 MiB/s | 488.9 KiB | 00m00s [114/148] Installing python3-aiohappyey 100% | 105.1 MiB/s | 107.7 KiB | 00m00s [115/148] Installing python3-attrs-0:25 100% | 146.8 MiB/s | 451.1 KiB | 00m00s [116/148] Installing python3-aiohttp-0: 100% | 408.0 MiB/s | 4.1 MiB | 00m00s [117/148] Installing python3-fsspec+htt 100% | 0.0 B/s | 124.0 B | 00m00s [118/148] Installing python3-sniffio-0: 100% | 40.0 MiB/s | 40.9 KiB | 00m00s [119/148] Installing python3-anyio-0:4. 100% | 251.4 MiB/s | 1.3 MiB | 00m00s [120/148] Installing python3-h11-0:0.16 100% | 140.6 MiB/s | 287.9 KiB | 00m00s [121/148] Installing python3-httpcore-0 100% | 213.5 MiB/s | 874.4 KiB | 00m00s [122/148] Installing python3-httpx-0:0. 100% | 328.0 MiB/s | 1.0 MiB | 00m00s [123/148] Installing python3-six-0:1.17 100% | 117.5 MiB/s | 120.3 KiB | 00m00s [124/148] Installing python3-dateutil-1 100% | 290.1 MiB/s | 891.1 KiB | 00m00s [125/148] Installing python3-tomlkit-0: 100% | 245.6 MiB/s | 503.0 KiB | 00m00s [126/148] Installing tomcli-0:0.10.1-3. 100% | 12.4 MiB/s | 164.7 KiB | 00m00s [127/148] Installing tomcli+tomlkit-0:0 100% | 0.0 B/s | 124.0 B | 00m00s [128/148] Installing libquadmath-0:15.2 100% | 311.7 MiB/s | 319.2 KiB | 00m00s [129/148] Installing flexiblas-netlib-0 100% | 343.9 MiB/s | 16.5 MiB | 00m00s [130/148] Installing flexiblas-0:3.5.0- 100% | 0.0 B/s | 39.2 KiB | 00m00s [131/148] Installing flexiblas-openblas 100% | 13.0 MiB/s | 40.1 KiB | 00m00s [132/148] Installing python3-numpy-1:2. 100% | 368.7 MiB/s | 41.7 MiB | 00m00s [133/148] Installing python3-numpy-f2py 100% | 103.4 MiB/s | 2.2 MiB | 00m00s [134/148] Installing python3-Bottleneck 100% | 146.6 MiB/s | 600.5 KiB | 00m00s [135/148] Installing python3-numexpr-0: 100% | 135.2 MiB/s | 830.5 KiB | 00m00s [136/148] Installing python3-pandas-0:2 100% | 432.4 MiB/s | 41.9 MiB | 00m00s [137/148] Installing libyaml-0:0.2.5-17 100% | 26.6 MiB/s | 136.0 KiB | 00m00s [138/148] Installing python3-pyyaml-0:6 100% | 197.2 MiB/s | 807.6 KiB | 00m00s [139/148] Installing python3-huggingfac 100% | 164.3 MiB/s | 4.1 MiB | 00m00s [140/148] Installing python3-datasets-0 100% | 186.8 MiB/s | 5.2 MiB | 00m00s [141/148] Installing python3-pytest-xdi 100% | 234.8 MiB/s | 480.8 KiB | 00m00s [142/148] Installing python3-pytest-asy 100% | 131.6 MiB/s | 134.8 KiB | 00m00s [143/148] Installing python3-pytest-dat 100% | 38.4 MiB/s | 39.4 KiB | 00m00s [144/148] Installing cargo-rpm-macros-0 100% | 15.2 MiB/s | 15.5 KiB | 00m00s [145/148] Installing python3-devel-0:3. 100% | 104.7 MiB/s | 2.0 MiB | 00m00s [146/148] Installing rust-tempfile+defa 100% | 0.0 B/s | 124.0 B | 00m00s [147/148] Installing annobin-plugin-gcc 100% | 56.8 MiB/s | 697.4 KiB | 00m00s [148/148] Installing gcc-plugin-annobin 100% | 444.2 KiB/s | 58.6 KiB | 00m00s Complete! Finish: build setup for python-tokenizers-0.22.1-1.fc44.src.rpm Start: rpmbuild python-tokenizers-0.22.1-1.fc44.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1762646400 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.gbLLjS Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.oIetoZ + umask 022 + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + rm -rf tokenizers-0.22.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/tokenizers-0.22.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd tokenizers-0.22.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + set -euo pipefail + /usr/bin/mkdir -p target/rpm + /usr/bin/ln -s rpm target/release + /usr/bin/rm -rf .cargo/ + /usr/bin/mkdir -p .cargo + cat + cat + /usr/bin/rm -f Cargo.lock + /usr/bin/rm -f Cargo.toml.orig + cp -a tokenizers/LICENSE LICENSE + rm -r tokenizers/ + rm bindings/python/Cargo.lock + tomcli set bindings/python/Cargo.toml del dependencies.tokenizers.path + tomcli set bindings/python/Cargo.toml str dependencies.tokenizers.version =0.22.1 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.JTTvWS + umask 022 + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + cd tokenizers-0.22.1 + cd bindings/python/ + /usr/bin/cargo2rpm --path Cargo.toml buildrequires + cd ../../ + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=44 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir --output /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-buildrequires Handling maturin>=1.0,<2.0 from build-system.requires Requirement not satisfied: maturin>=1.0,<2.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-tokenizers-0.22.1-1.fc44.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 14.8 KiB/s | 1.5 KiB | 00m00s fedora 100% | 121.9 KiB/s | 28.3 KiB | 00m00s Repositories loaded. Package "cargo-rpm-macros-26.4-1.fc44.noarch" is already installed. Package "rust-tempfile+default-devel-3.23.0-1.fc44.noarch" is already installed. Package "pyproject-rpm-macros-1.18.5-1.fc44.noarch" is already installed. Package "python3-devel-3.14.0-2.fc44.x86_64" is already installed. Package "python3-datasets-4.4.0-1.fc44.noarch" is already installed. Package "python3-numpy-1:2.3.4-1.fc44.x86_64" is already installed. Package "python3-packaging-25.0-7.fc44.noarch" is already installed. Package "python3-pytest-8.3.5-10.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-2.fc44.noarch" is already installed. Package "python3-pytest-datadir-1.8.0-3.fc44.noarch" is already installed. Package "python3-pytest-xdist-3.7.0-5.fc44.noarch" is already installed. Package "tomcli-0.10.1-3.fc44.noarch" is already installed. Package Arch Version Repository Size Installing: maturin x86_64 0:1.9.6-1.fc44 fedora 12.6 MiB python3-pip noarch 0:25.2-4.fc44 fedora 11.3 MiB rust-ahash+default-devel noarch 0:0.8.12-2.fc43 fedora 2.8 KiB rust-ahash+serde-devel noarch 0:0.8.12-2.fc43 fedora 2.8 KiB rust-env_logger+default-devel noarch 0:0.11.8-2.fc43 fedora 5.4 KiB rust-itertools+default-devel noarch 0:0.14.0-2.fc43 fedora 3.1 KiB rust-ndarray+default-devel noarch 0:0.16.1-3.fc43 fedora 5.6 KiB rust-numpy+default-devel noarch 0:0.25.0-1.fc44 fedora 2.4 KiB rust-once_cell+default-devel noarch 0:1.21.3-2.fc43 fedora 2.5 KiB rust-pyo3-async-runtimes0.25+default-devel noarch 0:0.25.0-1.fc44 fedora 4.6 KiB rust-pyo3-async-runtimes0.25+tokio-runtime-devel noarch 0:0.25.0-1.fc44 fedora 4.6 KiB rust-pyo3_0.25+abi3-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+abi3-py39-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+default-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+extension-module-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+py-clone-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-rayon+default-devel noarch 0:1.11.0-1.fc44 fedora 2.2 KiB rust-serde+default-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde+derive-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde+rc-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde_json+default-devel noarch 0:1.0.145-1.fc44 fedora 3.0 KiB rust-tokenizers+default-devel noarch 0:0.22.1-2.fc44 fedora 4.3 KiB rust-tokio+default-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio+macros-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio+rt-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio+rt-multi-thread-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio+signal-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB Installing dependencies: clang x86_64 0:21.1.4-1.fc44 fedora 65.5 MiB clang-devel x86_64 0:21.1.4-1.fc44 fedora 31.7 MiB clang-libs x86_64 0:21.1.4-1.fc44 fedora 114.9 MiB clang-resource-filesystem x86_64 0:21.1.4-1.fc44 fedora 15.3 KiB clang-tools-extra x86_64 0:21.1.4-1.fc44 fedora 65.8 MiB cmake-filesystem x86_64 0:3.31.6-4.fc43 fedora 0.0 B emacs-filesystem noarch 1:30.0-5.fc43 fedora 0.0 B gcc-c++ x86_64 0:15.2.1-3.fc44 fedora 41.4 MiB libedit-devel x86_64 0:3.1-57.20251016cvs.fc44 fedora 59.4 KiB libstdc++-devel x86_64 0:15.2.1-3.fc44 fedora 37.2 MiB libzstd-devel x86_64 0:1.5.7-3.fc44 fedora 217.6 KiB llvm x86_64 0:21.1.4-1.fc44 fedora 89.3 MiB llvm-devel x86_64 0:21.1.4-1.fc44 fedora 33.5 MiB llvm-googletest x86_64 0:21.1.4-1.fc44 fedora 2.4 MiB llvm-static x86_64 0:21.1.4-1.fc44 fedora 377.4 MiB llvm-test x86_64 0:21.1.4-1.fc44 fedora 2.3 MiB ncurses-c++-libs x86_64 0:6.5-7.20250614.fc43 fedora 153.6 KiB ncurses-devel x86_64 0:6.5-7.20250614.fc43 fedora 893.4 KiB oniguruma x86_64 0:6.9.10-3.fc43 fedora 763.1 KiB oniguruma-devel x86_64 0:6.9.10-3.fc43 fedora 266.9 KiB rust-ahash+getrandom-devel noarch 0:0.8.12-2.fc43 fedora 2.8 KiB rust-ahash+runtime-rng-devel noarch 0:0.8.12-2.fc43 fedora 2.8 KiB rust-ahash+std-devel noarch 0:0.8.12-2.fc43 fedora 2.8 KiB rust-ahash-devel noarch 0:0.8.12-2.fc43 fedora 167.8 KiB rust-aho-corasick+default-devel noarch 0:1.1.4-1.fc44 fedora 1.6 KiB rust-aho-corasick+perf-literal-devel noarch 0:1.1.4-1.fc44 fedora 1.6 KiB rust-aho-corasick+std-devel noarch 0:1.1.4-1.fc44 fedora 1.6 KiB rust-aho-corasick-devel noarch 0:1.1.4-1.fc44 fedora 805.9 KiB rust-anstream+auto-devel noarch 0:0.6.20-1.fc43 fedora 4.7 KiB rust-anstream+wincon-devel noarch 0:0.6.20-1.fc43 fedora 4.7 KiB rust-anstream-devel noarch 0:0.6.20-1.fc43 fedora 98.3 KiB rust-anstyle+default-devel noarch 0:1.0.13-1.fc44 fedora 4.1 KiB rust-anstyle+std-devel noarch 0:1.0.13-1.fc44 fedora 4.1 KiB rust-anstyle-devel noarch 0:1.0.13-1.fc44 fedora 65.6 KiB rust-anstyle-parse+default-devel noarch 0:0.2.7-2.fc43 fedora 4.4 KiB rust-anstyle-parse+utf8-devel noarch 0:0.2.7-2.fc43 fedora 4.4 KiB rust-anstyle-parse-devel noarch 0:0.2.7-2.fc43 fedora 79.7 KiB rust-anstyle-query+default-devel noarch 0:1.1.4-1.fc43 fedora 4.0 KiB rust-anstyle-query-devel noarch 0:1.1.4-1.fc43 fedora 24.7 KiB rust-autocfg+default-devel noarch 0:1.5.0-2.fc43 fedora 1.5 KiB rust-autocfg-devel noarch 0:1.5.0-2.fc43 fedora 59.2 KiB rust-base64+alloc-devel noarch 0:0.22.1-4.fc43 fedora 1.7 KiB rust-base64+default-devel noarch 0:0.22.1-4.fc43 fedora 1.7 KiB rust-base64+std-devel noarch 0:0.22.1-4.fc43 fedora 1.7 KiB rust-base64-devel noarch 0:0.22.1-4.fc43 fedora 288.8 KiB rust-bindgen0.69+default-devel noarch 0:0.69.5-2.fc43 fedora 3.0 KiB rust-bindgen0.69+logging-devel noarch 0:0.69.5-2.fc43 fedora 3.0 KiB rust-bindgen0.69+prettyplease-devel noarch 0:0.69.5-2.fc43 fedora 3.0 KiB rust-bindgen0.69+runtime-devel noarch 0:0.69.5-2.fc43 fedora 3.0 KiB rust-bindgen0.69+which-rustfmt-devel noarch 0:0.69.5-2.fc43 fedora 3.0 KiB rust-bindgen0.69-devel noarch 0:0.69.5-2.fc43 fedora 1.0 MiB rust-bitflags+default-devel noarch 0:2.10.0-1.fc44 fedora 2.3 KiB rust-bitflags1+default-devel noarch 0:1.3.2-6.fc43 fedora 1.3 KiB rust-bitflags1-devel noarch 0:1.3.2-6.fc43 fedora 91.4 KiB rust-castaway+alloc-devel noarch 0:0.2.4-2.fc43 fedora 1.2 KiB rust-castaway-devel noarch 0:0.2.4-2.fc43 fedora 38.8 KiB rust-cc+default-devel noarch 0:1.2.34-1.fc44 fedora 1.6 KiB rust-cc-devel noarch 0:1.2.34-1.fc44 fedora 435.3 KiB rust-cexpr+default-devel noarch 0:0.6.0-12.fc43 fedora 984.0 B rust-cexpr-devel noarch 0:0.6.0-12.fc43 fedora 62.0 KiB rust-clang-sys+clang_3_5-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+clang_3_6-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+clang_3_7-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+clang_3_8-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+clang_3_9-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+clang_4_0-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+clang_5_0-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+clang_6_0-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+default-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+libloading-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys+runtime-devel noarch 0:1.8.1-4.fc43 fedora 1.8 KiB rust-clang-sys-devel noarch 0:1.8.1-4.fc43 fedora 206.1 KiB rust-colorchoice+default-devel noarch 0:1.0.4-2.fc43 fedora 3.9 KiB rust-colorchoice-devel noarch 0:1.0.4-2.fc43 fedora 20.3 KiB rust-compact_str+default-devel noarch 0:0.9.0-2.fc43 fedora 2.9 KiB rust-compact_str+serde-devel noarch 0:0.9.0-2.fc43 fedora 2.9 KiB rust-compact_str+std-devel noarch 0:0.9.0-2.fc43 fedora 2.9 KiB rust-compact_str-devel noarch 0:0.9.0-2.fc43 fedora 325.1 KiB rust-console+alloc-devel noarch 0:0.16.1-1.fc44 fedora 2.0 KiB rust-console+ansi-parsing-devel noarch 0:0.16.1-1.fc44 fedora 2.0 KiB rust-console+std-devel noarch 0:0.16.1-1.fc44 fedora 2.0 KiB rust-console+unicode-width-devel noarch 0:0.16.1-1.fc44 fedora 2.0 KiB rust-console-devel noarch 0:0.16.1-1.fc44 fedora 140.5 KiB rust-crossbeam-deque+default-devel noarch 0:0.8.6-3.fc43 fedora 1.8 KiB rust-crossbeam-deque+std-devel noarch 0:0.8.6-3.fc43 fedora 1.8 KiB rust-crossbeam-deque-devel noarch 0:0.8.6-3.fc43 fedora 125.3 KiB rust-crossbeam-epoch+alloc-devel noarch 0:0.9.18-5.fc43 fedora 1.2 KiB rust-crossbeam-epoch+std-devel noarch 0:0.9.18-5.fc43 fedora 1.2 KiB rust-crossbeam-epoch-devel noarch 0:0.9.18-5.fc43 fedora 184.3 KiB rust-crossbeam-utils+default-devel noarch 0:0.8.21-3.fc43 fedora 1.9 KiB rust-crossbeam-utils+std-devel noarch 0:0.8.21-3.fc43 fedora 1.9 KiB rust-crossbeam-utils-devel noarch 0:0.8.21-3.fc43 fedora 183.4 KiB rust-darling+default-devel noarch 0:0.20.11-2.fc43 fedora 4.1 KiB rust-darling+suggestions-devel noarch 0:0.20.11-2.fc43 fedora 4.1 KiB rust-darling-devel noarch 0:0.20.11-2.fc43 fedora 129.6 KiB rust-darling_core+default-devel noarch 0:0.20.11-2.fc43 fedora 1.4 KiB rust-darling_core+strsim-devel noarch 0:0.20.11-2.fc43 fedora 1.4 KiB rust-darling_core+suggestions-devel noarch 0:0.20.11-2.fc43 fedora 1.4 KiB rust-darling_core-devel noarch 0:0.20.11-2.fc43 fedora 305.3 KiB rust-darling_macro+default-devel noarch 0:0.20.11-2.fc43 fedora 1.2 KiB rust-darling_macro-devel noarch 0:0.20.11-2.fc43 fedora 3.6 KiB rust-dary_heap+default-devel noarch 0:0.3.8-1.fc44 fedora 1.4 KiB rust-dary_heap+serde-devel noarch 0:0.3.8-1.fc44 fedora 1.4 KiB rust-dary_heap-devel noarch 0:0.3.8-1.fc44 fedora 92.3 KiB rust-derive_builder+default-devel noarch 0:0.20.2-3.fc43 fedora 3.9 KiB rust-derive_builder+std-devel noarch 0:0.20.2-3.fc43 fedora 3.9 KiB rust-derive_builder-devel noarch 0:0.20.2-3.fc43 fedora 128.3 KiB rust-derive_builder_core+default-devel noarch 0:0.20.2-3.fc43 fedora 1.4 KiB rust-derive_builder_core+lib_has_std-devel noarch 0:0.20.2-3.fc43 fedora 1.4 KiB rust-derive_builder_core-devel noarch 0:0.20.2-3.fc43 fedora 140.4 KiB rust-derive_builder_macro+default-devel noarch 0:0.20.2-3.fc43 fedora 1.6 KiB rust-derive_builder_macro+lib_has_std-devel noarch 0:0.20.2-3.fc43 fedora 1.6 KiB rust-derive_builder_macro-devel noarch 0:0.20.2-3.fc43 fedora 15.6 KiB rust-either+default-devel noarch 0:1.15.0-2.fc43 fedora 1.5 KiB rust-either+std-devel noarch 0:1.15.0-2.fc43 fedora 1.5 KiB rust-either+use_std-devel noarch 0:1.15.0-2.fc43 fedora 1.5 KiB rust-either-devel noarch 0:1.15.0-2.fc43 fedora 74.8 KiB rust-env_filter+regex-devel noarch 0:0.1.4-1.fc44 fedora 4.1 KiB rust-env_filter-devel noarch 0:0.1.4-1.fc44 fedora 57.0 KiB rust-env_logger+auto-color-devel noarch 0:0.11.8-2.fc43 fedora 5.4 KiB rust-env_logger+color-devel noarch 0:0.11.8-2.fc43 fedora 5.4 KiB rust-env_logger+humantime-devel noarch 0:0.11.8-2.fc43 fedora 5.4 KiB rust-env_logger+regex-devel noarch 0:0.11.8-2.fc43 fedora 5.4 KiB rust-env_logger-devel noarch 0:0.11.8-2.fc43 fedora 122.4 KiB rust-esaxx-rs+cc-devel noarch 0:0.1.10-1.fc43 fedora 963.0 B rust-esaxx-rs+cpp-devel noarch 0:0.1.10-1.fc43 fedora 963.0 B rust-esaxx-rs-devel noarch 0:0.1.10-1.fc43 fedora 86.4 KiB rust-fnv+default-devel noarch 0:1.0.7-14.fc43 fedora 886.0 B rust-fnv+std-devel noarch 0:1.0.7-14.fc43 fedora 886.0 B rust-fnv-devel noarch 0:1.0.7-14.fc43 fedora 33.5 KiB rust-futures+alloc-devel noarch 0:0.3.31-4.fc43 fedora 6.8 KiB rust-futures+async-await-devel noarch 0:0.3.31-4.fc43 fedora 6.8 KiB rust-futures+default-devel noarch 0:0.3.31-4.fc43 fedora 6.8 KiB rust-futures+executor-devel noarch 0:0.3.31-4.fc43 fedora 6.8 KiB rust-futures+std-devel noarch 0:0.3.31-4.fc43 fedora 6.8 KiB rust-futures-channel+alloc-devel noarch 0:0.3.31-3.fc43 fedora 1.9 KiB rust-futures-channel+futures-sink-devel noarch 0:0.3.31-3.fc43 fedora 1.9 KiB rust-futures-channel+sink-devel noarch 0:0.3.31-3.fc43 fedora 1.9 KiB rust-futures-channel+std-devel noarch 0:0.3.31-3.fc43 fedora 1.9 KiB rust-futures-channel-devel noarch 0:0.3.31-3.fc43 fedora 131.2 KiB rust-futures-core+alloc-devel noarch 0:0.3.31-3.fc43 fedora 1.5 KiB rust-futures-core+std-devel noarch 0:0.3.31-3.fc43 fedora 1.5 KiB rust-futures-core-devel noarch 0:0.3.31-3.fc43 fedora 44.1 KiB rust-futures-devel noarch 0:0.3.31-4.fc43 fedora 311.9 KiB rust-futures-executor+std-devel noarch 0:0.3.31-3.fc43 fedora 1.8 KiB rust-futures-executor-devel noarch 0:0.3.31-3.fc43 fedora 63.1 KiB rust-futures-io+std-devel noarch 0:0.3.31-3.fc43 fedora 1.3 KiB rust-futures-io-devel noarch 0:0.3.31-3.fc43 fedora 33.9 KiB rust-futures-macro-devel noarch 0:0.3.31-3.fc43 fedora 37.2 KiB rust-futures-sink+alloc-devel noarch 0:0.3.31-3.fc43 fedora 1.3 KiB rust-futures-sink+std-devel noarch 0:0.3.31-3.fc43 fedora 1.3 KiB rust-futures-sink-devel noarch 0:0.3.31-3.fc43 fedora 22.4 KiB rust-futures-task+alloc-devel noarch 0:0.3.31-3.fc43 fedora 1.3 KiB rust-futures-task+std-devel noarch 0:0.3.31-3.fc43 fedora 1.3 KiB rust-futures-task-devel noarch 0:0.3.31-3.fc43 fedora 38.6 KiB rust-futures-util+alloc-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+async-await-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+async-await-macro-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+channel-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+futures-channel-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+futures-io-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+futures-macro-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+futures-sink-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+io-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+memchr-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+sink-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+slab-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util+std-devel noarch 0:0.3.31-4.fc43 fedora 2.9 KiB rust-futures-util-devel noarch 0:0.3.31-4.fc43 fedora 818.4 KiB rust-getrandom+default-devel noarch 0:0.3.4-1.fc44 fedora 2.0 KiB rust-getrandom+std-devel noarch 0:0.3.4-1.fc44 fedora 2.0 KiB rust-glob+default-devel noarch 0:0.3.3-1.fc44 fedora 1.1 KiB rust-glob-devel noarch 0:0.3.3-1.fc44 fedora 83.3 KiB rust-heck+default-devel noarch 0:0.5.0-4.fc43 fedora 892.0 B rust-heck-devel noarch 0:0.5.0-4.fc43 fedora 41.9 KiB rust-home+default-devel noarch 0:0.5.11-3.fc43 fedora 1.4 KiB rust-home-devel noarch 0:0.5.11-3.fc43 fedora 25.8 KiB rust-ident_case+default-devel noarch 0:1.0.1-18.fc43 fedora 900.0 B rust-ident_case-devel noarch 0:1.0.1-18.fc43 fedora 8.5 KiB rust-indicatif+default-devel noarch 0:0.18.1-1.fc44 fedora 3.7 KiB rust-indicatif+unicode-width-devel noarch 0:0.18.1-1.fc44 fedora 3.7 KiB rust-indicatif-devel noarch 0:0.18.1-1.fc44 fedora 299.5 KiB rust-indoc+default-devel noarch 0:2.0.7-1.fc44 fedora 2.1 KiB rust-indoc-devel noarch 0:2.0.7-1.fc44 fedora 47.8 KiB rust-itertools+use_alloc-devel noarch 0:0.14.0-2.fc43 fedora 3.1 KiB rust-itertools+use_std-devel noarch 0:0.14.0-2.fc43 fedora 3.1 KiB rust-itertools-devel noarch 0:0.14.0-2.fc43 fedora 702.9 KiB rust-itertools0.12-devel noarch 0:0.12.1-4.fc43 fedora 634.4 KiB rust-itoa+default-devel noarch 0:1.0.15-2.fc43 fedora 1.5 KiB rust-itoa-devel noarch 0:1.0.15-2.fc43 fedora 28.9 KiB rust-jiff+alloc-devel noarch 0:0.2.16-1.fc44 fedora 2.9 KiB rust-jiff+std-devel noarch 0:0.2.16-1.fc44 fedora 2.9 KiB rust-jiff-devel noarch 0:0.2.16-1.fc44 fedora 3.5 MiB rust-lazy_static+default-devel noarch 0:1.5.0-4.fc43 fedora 1.2 KiB rust-lazy_static-devel noarch 0:1.5.0-4.fc43 fedora 34.1 KiB rust-lazycell+default-devel noarch 0:1.3.0-14.fc43 fedora 1.1 KiB rust-lazycell-devel noarch 0:1.3.0-14.fc43 fedora 44.8 KiB rust-libc+extra_traits-devel noarch 0:0.2.177-1.fc44 fedora 5.2 KiB rust-libloading+default-devel noarch 0:0.8.9-1.fc44 fedora 1.8 KiB rust-libloading-devel noarch 0:0.8.9-1.fc44 fedora 114.1 KiB rust-linux-raw-sys0.4+elf-devel noarch 0:0.4.15-3.fc43 fedora 2.3 KiB rust-linux-raw-sys0.4+errno-devel noarch 0:0.4.15-3.fc43 fedora 2.3 KiB rust-linux-raw-sys0.4+general-devel noarch 0:0.4.15-3.fc43 fedora 2.3 KiB rust-linux-raw-sys0.4+ioctl-devel noarch 0:0.4.15-3.fc43 fedora 2.3 KiB rust-linux-raw-sys0.4+no_std-devel noarch 0:0.4.15-3.fc43 fedora 2.3 KiB rust-linux-raw-sys0.4-devel noarch 0:0.4.15-3.fc43 fedora 11.3 MiB rust-log+default-devel noarch 0:0.4.28-1.fc44 fedora 1.8 KiB rust-log+std-devel noarch 0:0.4.28-1.fc44 fedora 1.8 KiB rust-log-devel noarch 0:0.4.28-1.fc44 fedora 219.6 KiB rust-macro_rules_attribute+default-devel noarch 0:0.2.2-2.fc43 fedora 1.6 KiB rust-macro_rules_attribute-devel noarch 0:0.2.2-2.fc43 fedora 41.3 KiB rust-macro_rules_attribute-proc_macro+default-devel noarch 0:0.2.2-2.fc43 fedora 909.0 B rust-macro_rules_attribute-proc_macro-devel noarch 0:0.2.2-2.fc43 fedora 22.8 KiB rust-matrixmultiply+cgemm-devel noarch 0:0.3.10-2.fc43 fedora 2.3 KiB rust-matrixmultiply+std-devel noarch 0:0.3.10-2.fc43 fedora 2.3 KiB rust-matrixmultiply-devel noarch 0:0.3.10-2.fc43 fedora 225.6 KiB rust-memchr+alloc-devel noarch 0:2.7.6-1.fc44 fedora 1.8 KiB rust-memchr+default-devel noarch 0:2.7.6-1.fc44 fedora 1.8 KiB rust-memchr+std-devel noarch 0:2.7.6-1.fc44 fedora 1.8 KiB rust-memchr-devel noarch 0:2.7.6-1.fc44 fedora 564.7 KiB rust-memoffset+default-devel noarch 0:0.9.1-4.fc43 fedora 970.0 B rust-memoffset-devel noarch 0:0.9.1-4.fc43 fedora 35.8 KiB rust-minimal-lexical+std-devel noarch 0:0.2.1-10.fc43 fedora 1.0 KiB rust-minimal-lexical-devel noarch 0:0.2.1-10.fc43 fedora 311.6 KiB rust-mio+net-devel noarch 0:1.1.0-1.fc44 fedora 2.6 KiB rust-mio+os-ext-devel noarch 0:1.1.0-1.fc44 fedora 2.6 KiB rust-mio+os-poll-devel noarch 0:1.1.0-1.fc44 fedora 2.6 KiB rust-mio-devel noarch 0:1.1.0-1.fc44 fedora 453.9 KiB rust-monostate+default-devel noarch 0:1.0.2-1.fc44 fedora 2.0 KiB rust-monostate-devel noarch 0:1.0.2-1.fc44 fedora 84.4 KiB rust-monostate-impl+default-devel noarch 0:1.0.2-1.fc44 fedora 1.5 KiB rust-monostate-impl-devel noarch 0:1.0.2-1.fc44 fedora 19.1 KiB rust-ndarray+std-devel noarch 0:0.16.1-3.fc43 fedora 5.6 KiB rust-ndarray-devel noarch 0:0.16.1-3.fc43 fedora 1.3 MiB rust-nom7+alloc-devel noarch 0:7.1.3-2.fc43 fedora 2.3 KiB rust-nom7+default-devel noarch 0:7.1.3-2.fc43 fedora 2.3 KiB rust-nom7+std-devel noarch 0:7.1.3-2.fc43 fedora 2.3 KiB rust-nom7-devel noarch 0:7.1.3-2.fc43 fedora 633.1 KiB rust-num-complex+default-devel noarch 0:0.4.6-3.fc43 fedora 1.8 KiB rust-num-complex+std-devel noarch 0:0.4.6-3.fc43 fedora 1.8 KiB rust-num-complex-devel noarch 0:0.4.6-3.fc43 fedora 137.8 KiB rust-num-integer+default-devel noarch 0:0.1.46-5.fc43 fedora 1.2 KiB rust-num-integer+std-devel noarch 0:0.1.46-5.fc43 fedora 1.2 KiB rust-num-integer-devel noarch 0:0.1.46-5.fc43 fedora 106.6 KiB rust-num-traits+default-devel noarch 0:0.2.19-4.fc43 fedora 1.3 KiB rust-num-traits+i128-devel noarch 0:0.2.19-4.fc43 fedora 1.3 KiB rust-num-traits+std-devel noarch 0:0.2.19-4.fc43 fedora 1.3 KiB rust-num-traits-devel noarch 0:0.2.19-4.fc43 fedora 266.7 KiB rust-numpy-devel noarch 0:0.25.0-1.fc44 fedora 355.1 KiB rust-onig-devel noarch 0:6.4.0-7.fc43 fedora 122.4 KiB rust-onig_sys-devel noarch 0:69.8.1-10.fc43 fedora 52.1 KiB rust-paste+default-devel noarch 0:1.0.15-4.fc43 fedora 1.6 KiB rust-paste-devel noarch 0:1.0.15-4.fc43 fedora 64.9 KiB rust-pin-project-lite+default-devel noarch 0:0.2.16-3.fc43 fedora 3.6 KiB rust-pin-project-lite-devel noarch 0:0.2.16-3.fc43 fedora 228.5 KiB rust-pin-utils+default-devel noarch 0:0.1.0-14.fc43 fedora 835.0 B rust-pin-utils-devel noarch 0:0.1.0-14.fc43 fedora 18.0 KiB rust-pkg-config+default-devel noarch 0:0.3.32-2.fc43 fedora 1.1 KiB rust-pkg-config-devel noarch 0:0.3.32-2.fc43 fedora 72.9 KiB rust-portable-atomic+default-devel noarch 0:1.11.1-2.fc43 fedora 5.0 KiB rust-portable-atomic+fallback-devel noarch 0:1.11.1-2.fc43 fedora 5.0 KiB rust-portable-atomic-devel noarch 0:1.11.1-2.fc43 fedora 1.1 MiB rust-ppv-lite86+simd-devel noarch 0:0.2.21-2.fc43 fedora 1.2 KiB rust-ppv-lite86+std-devel noarch 0:0.2.21-2.fc43 fedora 1.2 KiB rust-ppv-lite86-devel noarch 0:0.2.21-2.fc43 fedora 128.9 KiB rust-prettyplease+default-devel noarch 0:0.2.37-1.fc44 fedora 2.1 KiB rust-prettyplease+verbatim-devel noarch 0:0.2.37-1.fc44 fedora 2.1 KiB rust-prettyplease-devel noarch 0:0.2.37-1.fc44 fedora 401.2 KiB rust-proc-macro2+default-devel noarch 0:1.0.103-1.fc44 fedora 2.3 KiB rust-proc-macro2+proc-macro-devel noarch 0:1.0.103-1.fc44 fedora 2.3 KiB rust-proc-macro2-devel noarch 0:1.0.103-1.fc44 fedora 246.7 KiB rust-pyo3-async-runtimes0.25+tokio-devel noarch 0:0.25.0-1.fc44 fedora 4.6 KiB rust-pyo3-async-runtimes0.25-devel noarch 0:0.25.0-1.fc44 fedora 223.2 KiB rust-pyo3-build-config0.25+default-devel noarch 0:0.25.1-2.fc44 fedora 1.7 KiB rust-pyo3-build-config0.25+resolve-config-devel noarch 0:0.25.1-2.fc44 fedora 1.7 KiB rust-pyo3-build-config0.25-devel noarch 0:0.25.1-2.fc44 fedora 143.9 KiB rust-pyo3-ffi0.25+abi3-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+abi3-py310-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+abi3-py311-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+abi3-py312-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+abi3-py313-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+abi3-py314-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+abi3-py39-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+default-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25+extension-module-devel noarch 0:0.25.1-2.fc44 fedora 2.7 KiB rust-pyo3-ffi0.25-devel noarch 0:0.25.1-2.fc44 fedora 384.5 KiB rust-pyo3-macros-backend0.25+default-devel noarch 0:0.25.1-2.fc44 fedora 2.3 KiB rust-pyo3-macros-backend0.25-devel noarch 0:0.25.1-2.fc44 fedora 377.4 KiB rust-pyo3-macros0.25+default-devel noarch 0:0.25.1-2.fc44 fedora 2.1 KiB rust-pyo3-macros0.25-devel noarch 0:0.25.1-2.fc44 fedora 23.1 KiB rust-pyo3_0.25+abi3-py310-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+abi3-py311-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+abi3-py312-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+abi3-py313-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+abi3-py314-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+indoc-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+macros-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+pyo3-macros-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25+unindent-devel noarch 0:0.25.1-2.fc44 fedora 9.6 KiB rust-pyo3_0.25-devel noarch 0:0.25.1-2.fc44 fedora 3.3 MiB rust-quote+default-devel noarch 0:1.0.41-1.fc44 fedora 1.7 KiB rust-quote+proc-macro-devel noarch 0:1.0.41-1.fc44 fedora 1.7 KiB rust-quote-devel noarch 0:1.0.41-1.fc44 fedora 122.2 KiB rust-rand+alloc-devel noarch 0:0.9.2-2.fc43 fedora 2.3 KiB rust-rand+default-devel noarch 0:0.9.2-2.fc43 fedora 2.3 KiB rust-rand+os_rng-devel noarch 0:0.9.2-2.fc43 fedora 2.3 KiB rust-rand+small_rng-devel noarch 0:0.9.2-2.fc43 fedora 2.3 KiB rust-rand+std-devel noarch 0:0.9.2-2.fc43 fedora 2.3 KiB rust-rand+std_rng-devel noarch 0:0.9.2-2.fc43 fedora 2.3 KiB rust-rand+thread_rng-devel noarch 0:0.9.2-2.fc43 fedora 2.3 KiB rust-rand-devel noarch 0:0.9.2-2.fc43 fedora 391.6 KiB rust-rand_chacha+std-devel noarch 0:0.9.0-2.fc43 fedora 1.7 KiB rust-rand_chacha-devel noarch 0:0.9.0-2.fc43 fedora 53.1 KiB rust-rand_core+default-devel noarch 0:0.9.3-2.fc43 fedora 1.5 KiB rust-rand_core+os_rng-devel noarch 0:0.9.3-2.fc43 fedora 1.5 KiB rust-rand_core+std-devel noarch 0:0.9.3-2.fc43 fedora 1.5 KiB rust-rand_core-devel noarch 0:0.9.3-2.fc43 fedora 77.4 KiB rust-rawpointer+default-devel noarch 0:0.2.1-16.fc43 fedora 1.0 KiB rust-rawpointer-devel noarch 0:0.2.1-16.fc43 fedora 19.7 KiB rust-rayon-cond+default-devel noarch 0:0.4.0-2.fc43 fedora 1.1 KiB rust-rayon-cond-devel noarch 0:0.4.0-2.fc43 fedora 37.9 KiB rust-rayon-core+default-devel noarch 0:1.13.0-1.fc44 fedora 1.8 KiB rust-rayon-core-devel noarch 0:1.13.0-1.fc44 fedora 270.8 KiB rust-rayon-devel noarch 0:1.11.0-1.fc44 fedora 881.0 KiB rust-regex+default-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+perf-backtrack-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+perf-cache-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+perf-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+perf-dfa-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+perf-inline-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+perf-literal-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+perf-onepass-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+std-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-age-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-bool-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-case-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-gencat-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-perl-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-script-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex+unicode-segment-devel noarch 0:1.12.2-1.fc44 fedora 4.0 KiB rust-regex-automata+alloc-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+dfa-onepass-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+hybrid-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+meta-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+nfa-backtrack-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+nfa-pikevm-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+nfa-thompson-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+perf-inline-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+perf-literal-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+perf-literal-multisubstring-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+perf-literal-substring-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+std-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+syntax-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-age-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-bool-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-case-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-gencat-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-perl-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-script-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-segment-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata+unicode-word-boundary-devel noarch 0:0.4.13-1.fc44 fedora 3.9 KiB rust-regex-automata-devel noarch 0:0.4.13-1.fc44 fedora 2.6 MiB rust-regex-devel noarch 0:1.12.2-1.fc44 fedora 755.2 KiB rust-regex-syntax+default-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+std-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-age-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-bool-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-case-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-gencat-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-perl-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-script-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax+unicode-segment-devel noarch 0:0.8.8-1.fc44 fedora 1.8 KiB rust-regex-syntax-devel noarch 0:0.8.8-1.fc44 fedora 1.6 MiB rust-rustc-hash+default-devel noarch 0:2.1.1-2.fc43 fedora 1.1 KiB rust-rustc-hash+std-devel noarch 0:2.1.1-2.fc43 fedora 1.1 KiB rust-rustc-hash-devel noarch 0:2.1.1-2.fc43 fedora 36.4 KiB rust-rustc-hash1+default-devel noarch 0:1.1.0-4.fc43 fedora 864.0 B rust-rustc-hash1+std-devel noarch 0:1.1.0-4.fc43 fedora 864.0 B rust-rustc-hash1-devel noarch 0:1.1.0-4.fc43 fedora 23.3 KiB rust-rustix0.38+alloc-devel noarch 0:0.38.44-2.fc43 fedora 8.9 KiB rust-rustix0.38+fs-devel noarch 0:0.38.44-2.fc43 fedora 8.9 KiB rust-rustix0.38+libc-extra-traits-devel noarch 0:0.38.44-2.fc43 fedora 8.9 KiB rust-rustix0.38+std-devel noarch 0:0.38.44-2.fc43 fedora 8.9 KiB rust-rustix0.38-devel noarch 0:0.38.44-2.fc43 fedora 2.0 MiB rust-rustversion+default-devel noarch 0:1.0.22-1.fc44 fedora 1.7 KiB rust-rustversion-devel noarch 0:1.0.22-1.fc44 fedora 61.3 KiB rust-ryu+default-devel noarch 0:1.0.20-2.fc43 fedora 2.2 KiB rust-ryu-devel noarch 0:1.0.20-2.fc43 fedora 153.6 KiB rust-serde+alloc-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde+serde_derive-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde+std-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde-devel noarch 0:1.0.228-1.fc44 fedora 544.6 KiB rust-serde_core+alloc-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde_core+rc-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde_core+result-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde_core+std-devel noarch 0:1.0.228-1.fc44 fedora 1.9 KiB rust-serde_core-devel noarch 0:1.0.228-1.fc44 fedora 379.5 KiB rust-serde_derive+default-devel noarch 0:1.0.228-1.fc44 fedora 2.0 KiB rust-serde_derive-devel noarch 0:1.0.228-1.fc44 fedora 322.3 KiB rust-serde_json+std-devel noarch 0:1.0.145-1.fc44 fedora 3.0 KiB rust-serde_json-devel noarch 0:1.0.145-1.fc44 fedora 708.4 KiB rust-shlex+default-devel noarch 0:1.3.0-5.fc43 fedora 1.0 KiB rust-shlex+std-devel noarch 0:1.3.0-5.fc43 fedora 1.0 KiB rust-shlex-devel noarch 0:1.3.0-5.fc43 fedora 55.8 KiB rust-signal-hook-registry+default-devel noarch 0:1.4.6-1.fc43 fedora 1.3 KiB rust-signal-hook-registry-devel noarch 0:1.4.6-1.fc43 fedora 56.2 KiB rust-slab+default-devel noarch 0:0.4.11-1.fc44 fedora 1.4 KiB rust-slab+std-devel noarch 0:0.4.11-1.fc44 fedora 1.4 KiB rust-slab-devel noarch 0:0.4.11-1.fc44 fedora 74.7 KiB rust-smallvec+default-devel noarch 0:1.15.1-2.fc43 fedora 2.2 KiB rust-smallvec-devel noarch 0:1.15.1-2.fc43 fedora 145.2 KiB rust-spm_precompiled+default-devel noarch 0:0.1.4-2.fc43 fedora 1.3 KiB rust-spm_precompiled-devel noarch 0:0.1.4-2.fc43 fedora 20.6 KiB rust-static_assertions+default-devel noarch 0:1.1.0-17.fc43 fedora 1.4 KiB rust-static_assertions-devel noarch 0:1.1.0-17.fc43 fedora 62.2 KiB rust-strsim+default-devel noarch 0:0.11.1-4.fc43 fedora 1.1 KiB rust-strsim-devel noarch 0:0.11.1-4.fc43 fedora 52.6 KiB rust-syn+clone-impls-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+default-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+derive-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+extra-traits-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+full-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+parsing-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+printing-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+proc-macro-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn+visit-mut-devel noarch 0:2.0.108-1.fc44 fedora 4.9 KiB rust-syn-devel noarch 0:2.0.108-1.fc44 fedora 2.1 MiB rust-target-lexicon+default-devel noarch 0:0.13.3-1.fc44 fedora 1.4 KiB rust-target-lexicon-devel noarch 0:0.13.3-1.fc44 fedora 116.8 KiB rust-thiserror+default-devel noarch 0:2.0.17-1.fc44 fedora 2.4 KiB rust-thiserror+std-devel noarch 0:2.0.17-1.fc44 fedora 2.4 KiB rust-thiserror-devel noarch 0:2.0.17-1.fc44 fedora 101.6 KiB rust-thiserror-impl+default-devel noarch 0:2.0.17-1.fc44 fedora 1.4 KiB rust-thiserror-impl-devel noarch 0:2.0.17-1.fc44 fedora 91.5 KiB rust-tokenizers+esaxx_fast-devel noarch 0:0.22.1-2.fc44 fedora 4.3 KiB rust-tokenizers+indicatif-devel noarch 0:0.22.1-2.fc44 fedora 4.3 KiB rust-tokenizers+onig-devel noarch 0:0.22.1-2.fc44 fedora 4.3 KiB rust-tokenizers+progressbar-devel noarch 0:0.22.1-2.fc44 fedora 4.3 KiB rust-tokenizers-devel noarch 0:0.22.1-2.fc44 fedora 864.9 KiB rust-tokio+libc-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio+signal-hook-registry-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio+time-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio+tokio-macros-devel noarch 0:1.48.0-1.fc44 fedora 13.4 KiB rust-tokio-devel noarch 0:1.48.0-1.fc44 fedora 4.1 MiB rust-tokio-macros+default-devel noarch 0:2.6.0-1.fc44 fedora 1.6 KiB rust-tokio-macros-devel noarch 0:2.6.0-1.fc44 fedora 53.8 KiB rust-unicode-ident+default-devel noarch 0:1.0.22-1.fc44 fedora 2.0 KiB rust-unicode-ident-devel noarch 0:1.0.22-1.fc44 fedora 305.3 KiB rust-unicode-normalization-alignments+default-devel noarch 0:0.1.12-2.fc43 fedora 1.2 KiB rust-unicode-normalization-alignments-devel noarch 0:0.1.12-2.fc43 fedora 475.2 KiB rust-unicode-segmentation+default-devel noarch 0:1.12.0-3.fc43 fedora 1.4 KiB rust-unicode-segmentation-devel noarch 0:1.12.0-3.fc43 fedora 610.1 KiB rust-unicode-width+cjk-devel noarch 0:0.2.2-1.fc44 fedora 1.7 KiB rust-unicode-width+default-devel noarch 0:0.2.2-1.fc44 fedora 1.7 KiB rust-unicode-width-devel noarch 0:0.2.2-1.fc44 fedora 2.2 MiB rust-unicode_categories+default-devel noarch 0:0.1.1-18.fc43 fedora 417.0 B rust-unicode_categories-devel noarch 0:0.1.1-18.fc43 fedora 396.5 KiB rust-unindent+default-devel noarch 0:0.2.4-2.fc43 fedora 1.3 KiB rust-unindent-devel noarch 0:0.2.4-2.fc43 fedora 19.1 KiB rust-unit-prefix+default-devel noarch 0:0.5.1-2.fc43 fedora 1.2 KiB rust-unit-prefix+std-devel noarch 0:0.5.1-2.fc43 fedora 1.2 KiB rust-unit-prefix-devel noarch 0:0.5.1-2.fc43 fedora 24.7 KiB rust-utf8parse+default-devel noarch 0:0.2.2-4.fc43 fedora 1.1 KiB rust-utf8parse-devel noarch 0:0.2.2-4.fc43 fedora 33.3 KiB rust-version_check+default-devel noarch 0:0.9.5-3.fc43 fedora 1.0 KiB rust-version_check-devel noarch 0:0.9.5-3.fc43 fedora 57.2 KiB rust-which4-devel noarch 0:4.4.2-5.fc43 fedora 57.9 KiB rust-zerocopy+default-devel noarch 0:0.8.27-1.fc44 fedora 2.8 KiB rust-zerocopy+simd-devel noarch 0:0.8.27-1.fc44 fedora 2.8 KiB rust-zerocopy-derive+default-devel noarch 0:0.8.27-1.fc44 fedora 3.7 KiB rust-zerocopy-derive-devel noarch 0:0.8.27-1.fc44 fedora 543.0 KiB rust-zerocopy-devel noarch 0:0.8.27-1.fc44 fedora 1.3 MiB Transaction Summary: Installing: 502 packages Total size of inbound packages is 184 MiB. Need to download 184 MiB. After this operation, 949 MiB extra will be used (install 949 MiB, remove 0 B). [ 1/502] rust-env_logger+default-devel 100% | 428.6 KiB/s | 8.6 KiB | 00m00s [ 2/502] rust-ahash+default-devel-0:0. 100% | 233.6 KiB/s | 8.4 KiB | 00m00s [ 3/502] rust-ahash+serde-devel-0:0.8. 100% | 154.2 KiB/s | 8.5 KiB | 00m00s [ 4/502] rust-itertools+default-devel- 100% | 174.6 KiB/s | 8.2 KiB | 00m00s [ 5/502] rust-once_cell+default-devel- 100% | 2.0 MiB/s | 8.3 KiB | 00m00s [ 6/502] rust-numpy+default-devel-0:0. 100% | 297.2 KiB/s | 7.1 KiB | 00m00s [ 7/502] rust-ndarray+default-devel-0: 100% | 160.3 KiB/s | 7.5 KiB | 00m00s [ 8/502] rust-pyo3-async-runtimes0.25+ 100% | 308.0 KiB/s | 7.4 KiB | 00m00s [ 9/502] rust-pyo3-async-runtimes0.25+ 100% | 152.5 KiB/s | 7.3 KiB | 00m00s [ 10/502] rust-pyo3_0.25+abi3-devel-0:0 100% | 152.1 KiB/s | 7.1 KiB | 00m00s [ 11/502] rust-pyo3_0.25+abi3-py39-deve 100% | 153.4 KiB/s | 7.2 KiB | 00m00s [ 12/502] rust-pyo3_0.25+extension-modu 100% | 300.3 KiB/s | 7.2 KiB | 00m00s [ 13/502] rust-rayon+default-devel-0:1. 100% | 2.0 MiB/s | 8.2 KiB | 00m00s [ 14/502] rust-serde+default-devel-0:1. 100% | 1.6 MiB/s | 9.7 KiB | 00m00s [ 15/502] rust-pyo3_0.25+default-devel- 100% | 152.4 KiB/s | 7.2 KiB | 00m00s [ 16/502] rust-serde+derive-devel-0:1.0 100% | 2.4 MiB/s | 9.7 KiB | 00m00s [ 17/502] rust-pyo3_0.25+py-clone-devel 100% | 310.0 KiB/s | 7.1 KiB | 00m00s [ 18/502] rust-serde_json+default-devel 100% | 2.5 MiB/s | 10.2 KiB | 00m00s [ 19/502] rust-tokio+default-devel-0:1. 100% | 2.3 MiB/s | 9.5 KiB | 00m00s [ 20/502] rust-tokio+rt-devel-0:1.48.0- 100% | 2.3 MiB/s | 9.5 KiB | 00m00s [ 21/502] rust-tokio+macros-devel-0:1.4 100% | 1.2 MiB/s | 9.5 KiB | 00m00s [ 22/502] rust-serde+rc-devel-0:1.0.228 100% | 463.2 KiB/s | 9.7 KiB | 00m00s [ 23/502] rust-tokio+rt-multi-thread-de 100% | 795.3 KiB/s | 9.5 KiB | 00m00s [ 24/502] rust-tokio+signal-devel-0:1.4 100% | 395.5 KiB/s | 9.9 KiB | 00m00s [ 25/502] python3-pip-0:25.2-4.fc44.noa 100% | 87.5 MiB/s | 2.6 MiB | 00m00s [ 26/502] rust-tokenizers+default-devel 100% | 138.4 KiB/s | 7.5 KiB | 00m00s [ 27/502] rust-ahash+runtime-rng-devel- 100% | 262.4 KiB/s | 8.4 KiB | 00m00s [ 28/502] maturin-0:1.9.6-1.fc44.x86_64 100% | 43.3 MiB/s | 4.2 MiB | 00m00s [ 29/502] rust-ahash+std-devel-0:0.8.12 100% | 237.9 KiB/s | 8.3 KiB | 00m00s [ 30/502] rust-env_logger+auto-color-de 100% | 1.2 MiB/s | 8.8 KiB | 00m00s [ 31/502] rust-env_logger+humantime-dev 100% | 786.3 KiB/s | 8.6 KiB | 00m00s [ 32/502] rust-env_logger+regex-devel-0 100% | 1.4 MiB/s | 8.6 KiB | 00m00s [ 33/502] rust-env_logger-devel-0:0.11. 100% | 5.2 MiB/s | 42.5 KiB | 00m00s [ 34/502] rust-ahash-devel-0:0.8.12-2.f 100% | 1.0 MiB/s | 48.3 KiB | 00m00s [ 35/502] rust-itertools+use_std-devel- 100% | 321.6 KiB/s | 8.4 KiB | 00m00s [ 36/502] rust-ndarray+std-devel-0:0.16 100% | 321.7 KiB/s | 7.7 KiB | 00m00s [ 37/502] rust-itertools-devel-0:0.14.0 100% | 3.1 MiB/s | 150.0 KiB | 00m00s [ 38/502] rust-ndarray-devel-0:0.16.1-3 100% | 4.8 MiB/s | 269.7 KiB | 00m00s [ 39/502] rust-pyo3-async-runtimes0.25- 100% | 1.3 MiB/s | 49.7 KiB | 00m00s [ 40/502] rust-numpy-devel-0:0.25.0-1.f 100% | 1.5 MiB/s | 79.4 KiB | 00m00s [ 41/502] rust-pyo3-async-runtimes0.25+ 100% | 265.1 KiB/s | 7.7 KiB | 00m00s [ 42/502] rust-pyo3-ffi0.25+abi3-devel- 100% | 279.6 KiB/s | 7.3 KiB | 00m00s [ 43/502] rust-pyo3-ffi0.25+abi3-py39-d 100% | 318.7 KiB/s | 7.3 KiB | 00m00s [ 44/502] rust-pyo3_0.25+abi3-py310-dev 100% | 288.6 KiB/s | 7.2 KiB | 00m00s [ 45/502] rust-pyo3_0.25+macros-devel-0 100% | 289.1 KiB/s | 7.2 KiB | 00m00s [ 46/502] rust-rayon-devel-0:1.11.0-1.f 100% | 22.6 MiB/s | 185.5 KiB | 00m00s [ 47/502] rust-serde+std-devel-0:1.0.22 100% | 3.2 MiB/s | 9.7 KiB | 00m00s [ 48/502] rust-pyo3-ffi0.25+extension-m 100% | 215.2 KiB/s | 7.3 KiB | 00m00s [ 49/502] rust-serde-devel-0:1.0.228-1. 100% | 13.5 MiB/s | 82.6 KiB | 00m00s [ 50/502] rust-serde+serde_derive-devel 100% | 3.2 MiB/s | 9.9 KiB | 00m00s [ 51/502] rust-serde_json+std-devel-0:1 100% | 1.4 MiB/s | 10.3 KiB | 00m00s [ 52/502] rust-serde_json-devel-0:1.0.1 100% | 17.0 MiB/s | 156.3 KiB | 00m00s [ 53/502] rust-pyo3_0.25-devel-0:0.25.1 100% | 8.4 MiB/s | 994.4 KiB | 00m00s [ 54/502] rust-tokio-devel-0:1.48.0-1.f 100% | 29.9 MiB/s | 734.4 KiB | 00m00s [ 55/502] rust-tokio+tokio-macros-devel 100% | 1.3 MiB/s | 9.7 KiB | 00m00s [ 56/502] rust-serde_core+rc-devel-0:1. 100% | 163.0 KiB/s | 7.3 KiB | 00m00s [ 57/502] rust-mio+net-devel-0:1.1.0-1. 100% | 2.0 MiB/s | 8.3 KiB | 00m00s [ 58/502] rust-mio+os-ext-devel-0:1.1.0 100% | 2.0 MiB/s | 8.3 KiB | 00m00s [ 59/502] rust-mio+os-poll-devel-0:1.1. 100% | 1.6 MiB/s | 8.3 KiB | 00m00s [ 60/502] rust-tokio+libc-devel-0:1.48. 100% | 3.1 MiB/s | 9.6 KiB | 00m00s [ 61/502] rust-mio-devel-0:1.1.0-1.fc44 100% | 17.9 MiB/s | 109.9 KiB | 00m00s [ 62/502] rust-tokio+signal-hook-regist 100% | 1.1 MiB/s | 9.7 KiB | 00m00s [ 63/502] rust-tokenizers+progressbar-d 100% | 322.1 KiB/s | 7.4 KiB | 00m00s [ 64/502] rust-tokenizers+onig-devel-0: 100% | 162.3 KiB/s | 7.5 KiB | 00m00s [ 65/502] rust-tokenizers+esaxx_fast-de 100% | 113.7 KiB/s | 7.5 KiB | 00m00s [ 66/502] rust-ahash+getrandom-devel-0: 100% | 386.6 KiB/s | 8.5 KiB | 00m00s [ 67/502] rust-version_check+default-de 100% | 1.5 MiB/s | 7.9 KiB | 00m00s [ 68/502] rust-zerocopy+simd-devel-0:0. 100% | 1.3 MiB/s | 9.1 KiB | 00m00s [ 69/502] rust-anstream+auto-devel-0:0. 100% | 3.0 MiB/s | 9.1 KiB | 00m00s [ 70/502] rust-anstream+wincon-devel-0: 100% | 2.9 MiB/s | 9.0 KiB | 00m00s [ 71/502] rust-zerocopy-devel-0:0.8.27- 100% | 19.4 MiB/s | 298.2 KiB | 00m00s [ 72/502] rust-anstream-devel-0:0.6.20- 100% | 7.9 MiB/s | 32.5 KiB | 00m00s [ 73/502] rust-env_logger+color-devel-0 100% | 1.2 MiB/s | 8.7 KiB | 00m00s [ 74/502] rust-jiff+std-devel-0:0.2.16- 100% | 979.9 KiB/s | 11.8 KiB | 00m00s [ 75/502] rust-env_filter+regex-devel-0 100% | 1.3 MiB/s | 8.1 KiB | 00m00s [ 76/502] rust-tokenizers-devel-0:0.22. 100% | 2.0 MiB/s | 167.1 KiB | 00m00s [ 77/502] rust-log+default-devel-0:0.4. 100% | 2.7 MiB/s | 8.3 KiB | 00m00s [ 78/502] rust-log+std-devel-0:0.4.28-1 100% | 2.7 MiB/s | 8.2 KiB | 00m00s [ 79/502] rust-env_filter-devel-0:0.1.4 100% | 2.4 MiB/s | 21.7 KiB | 00m00s [ 80/502] rust-jiff-devel-0:0.2.16-1.fc 100% | 17.7 MiB/s | 526.4 KiB | 00m00s [ 81/502] rust-either-devel-0:1.15.0-2. 100% | 2.3 MiB/s | 26.4 KiB | 00m00s [ 82/502] rust-itertools+use_alloc-deve 100% | 389.4 KiB/s | 8.2 KiB | 00m00s [ 83/502] rust-matrixmultiply+std-devel 100% | 353.4 KiB/s | 8.5 KiB | 00m00s [ 84/502] rust-num-traits+std-devel-0:0 100% | 375.6 KiB/s | 7.9 KiB | 00m00s [ 85/502] rust-either+use_std-devel-0:1 100% | 170.5 KiB/s | 8.4 KiB | 00m00s [ 86/502] rust-matrixmultiply+cgemm-dev 100% | 223.4 KiB/s | 8.5 KiB | 00m00s [ 87/502] rust-matrixmultiply-devel-0:0 100% | 1.4 MiB/s | 62.6 KiB | 00m00s [ 88/502] rust-num-integer-devel-0:0.1. 100% | 3.2 MiB/s | 29.9 KiB | 00m00s [ 89/502] rust-num-traits-devel-0:0.2.1 100% | 14.2 MiB/s | 58.0 KiB | 00m00s [ 90/502] rust-rawpointer+default-devel 100% | 287.4 KiB/s | 7.8 KiB | 00m00s [ 91/502] rust-num-integer+default-deve 100% | 318.0 KiB/s | 8.0 KiB | 00m00s [ 92/502] rust-num-complex-devel-0:0.4. 100% | 462.8 KiB/s | 36.1 KiB | 00m00s [ 93/502] rust-pyo3-build-config0.25+de 100% | 303.1 KiB/s | 7.3 KiB | 00m00s [ 94/502] rust-num-traits+default-devel 100% | 294.2 KiB/s | 7.9 KiB | 00m00s [ 95/502] rust-rustc-hash+default-devel 100% | 2.0 MiB/s | 8.2 KiB | 00m00s [ 96/502] rust-pyo3-build-config0.25+re 100% | 304.1 KiB/s | 7.3 KiB | 00m00s [ 97/502] rust-futures+default-devel-0: 100% | 906.8 KiB/s | 8.2 KiB | 00m00s [ 98/502] rust-pin-project-lite+default 100% | 1.1 MiB/s | 8.2 KiB | 00m00s [ 99/502] rust-tokio+time-devel-0:1.48. 100% | 1.5 MiB/s | 9.5 KiB | 00m00s [100/502] rust-memoffset+default-devel- 100% | 320.2 KiB/s | 7.7 KiB | 00m00s [101/502] rust-pyo3-ffi0.25+default-dev 100% | 291.1 KiB/s | 7.3 KiB | 00m00s [102/502] rust-pyo3-ffi0.25-devel-0:0.2 100% | 2.7 MiB/s | 100.1 KiB | 00m00s [103/502] rust-pyo3-ffi0.25+abi3-py310- 100% | 333.5 KiB/s | 7.3 KiB | 00m00s [104/502] rust-pyo3_0.25+abi3-py311-dev 100% | 300.7 KiB/s | 7.2 KiB | 00m00s [105/502] rust-pyo3_0.25+indoc-devel-0: 100% | 250.6 KiB/s | 7.3 KiB | 00m00s [106/502] rust-rayon-core+default-devel 100% | 1.3 MiB/s | 7.9 KiB | 00m00s [107/502] rust-pyo3_0.25+pyo3-macros-de 100% | 287.4 KiB/s | 7.2 KiB | 00m00s [108/502] rust-pyo3_0.25+unindent-devel 100% | 291.4 KiB/s | 7.3 KiB | 00m00s [109/502] rust-serde_core+std-devel-0:1 100% | 1.2 MiB/s | 7.3 KiB | 00m00s [110/502] rust-serde_core+result-devel- 100% | 1.8 MiB/s | 7.4 KiB | 00m00s [111/502] rust-serde_core-devel-0:1.0.2 100% | 12.5 MiB/s | 63.9 KiB | 00m00s [112/502] rust-memchr+std-devel-0:2.7.6 100% | 1.6 MiB/s | 8.2 KiB | 00m00s [113/502] rust-serde_derive+default-dev 100% | 1.9 MiB/s | 9.8 KiB | 00m00s [114/502] rust-itoa+default-devel-0:1.0 100% | 1.3 MiB/s | 8.0 KiB | 00m00s [115/502] rust-ryu+default-devel-0:1.0. 100% | 1.3 MiB/s | 8.0 KiB | 00m00s [116/502] rust-memchr-devel-0:2.7.6-1.f 100% | 11.1 MiB/s | 91.2 KiB | 00m00s [117/502] rust-signal-hook-registry+def 100% | 1.1 MiB/s | 8.0 KiB | 00m00s [118/502] rust-tokio-macros+default-dev 100% | 618.8 KiB/s | 8.0 KiB | 00m00s [119/502] rust-esaxx-rs+cpp-devel-0:0.1 100% | 287.1 KiB/s | 7.2 KiB | 00m00s [120/502] rust-onig-devel-0:6.4.0-7.fc4 100% | 1.2 MiB/s | 41.5 KiB | 00m00s [121/502] rust-tokenizers+indicatif-dev 100% | 250.4 KiB/s | 7.5 KiB | 00m00s [122/502] rust-aho-corasick+default-dev 100% | 262.7 KiB/s | 7.9 KiB | 00m00s [123/502] rust-compact_str+serde-devel- 100% | 288.4 KiB/s | 8.4 KiB | 00m00s [124/502] rust-dary_heap+default-devel- 100% | 308.0 KiB/s | 7.7 KiB | 00m00s [125/502] rust-compact_str+default-deve 100% | 159.5 KiB/s | 8.1 KiB | 00m00s [126/502] rust-dary_heap+serde-devel-0: 100% | 282.0 KiB/s | 7.9 KiB | 00m00s [127/502] rust-derive_builder+default-d 100% | 355.2 KiB/s | 8.2 KiB | 00m00s [128/502] rust-getrandom+default-devel- 100% | 1.4 MiB/s | 8.5 KiB | 00m00s [129/502] rust-esaxx-rs-devel-0:0.1.10- 100% | 887.3 KiB/s | 25.7 KiB | 00m00s [130/502] rust-paste+default-devel-0:1. 100% | 1.2 MiB/s | 7.7 KiB | 00m00s [131/502] rust-macro_rules_attribute+de 100% | 309.4 KiB/s | 7.4 KiB | 00m00s [132/502] rust-monostate+default-devel- 100% | 258.0 KiB/s | 7.5 KiB | 00m00s [133/502] rust-regex+default-devel-0:1. 100% | 2.2 MiB/s | 8.8 KiB | 00m00s [134/502] rust-regex-syntax+default-dev 100% | 1.6 MiB/s | 8.2 KiB | 00m00s [135/502] rust-rand+default-devel-0:0.9 100% | 338.9 KiB/s | 8.1 KiB | 00m00s [136/502] rust-rayon-cond+default-devel 100% | 293.9 KiB/s | 7.3 KiB | 00m00s [137/502] rust-thiserror+default-devel- 100% | 1.4 MiB/s | 9.7 KiB | 00m00s [138/502] rust-spm_precompiled+default- 100% | 326.1 KiB/s | 7.5 KiB | 00m00s [139/502] rust-unicode-normalization-al 100% | 295.0 KiB/s | 7.7 KiB | 00m00s [140/502] rust-unicode-segmentation+def 100% | 332.6 KiB/s | 8.0 KiB | 00m00s [141/502] rust-version_check-devel-0:0. 100% | 5.6 MiB/s | 22.8 KiB | 00m00s [142/502] rust-anstyle-query+default-de 100% | 2.7 MiB/s | 8.3 KiB | 00m00s [143/502] rust-unicode_categories+defau 100% | 334.3 KiB/s | 7.7 KiB | 00m00s [144/502] rust-anstyle+default-devel-0: 100% | 2.1 MiB/s | 8.5 KiB | 00m00s [145/502] rust-anstyle-parse+default-de 100% | 2.0 MiB/s | 8.2 KiB | 00m00s [146/502] rust-zerocopy-derive+default- 100% | 651.3 KiB/s | 9.1 KiB | 00m00s [147/502] rust-colorchoice+default-deve 100% | 1.3 MiB/s | 8.0 KiB | 00m00s [148/502] rust-utf8parse+default-devel- 100% | 1.1 MiB/s | 7.7 KiB | 00m00s [149/502] rust-jiff+alloc-devel-0:0.2.1 100% | 1.4 MiB/s | 11.6 KiB | 00m00s [150/502] rust-log-devel-0:0.4.28-1.fc4 100% | 7.2 MiB/s | 51.6 KiB | 00m00s [151/502] rust-regex+perf-devel-0:1.12. 100% | 1.4 MiB/s | 8.8 KiB | 00m00s [152/502] rust-regex+std-devel-0:1.12.2 100% | 1.3 MiB/s | 9.1 KiB | 00m00s [153/502] rust-regex-devel-0:1.12.2-1.f 100% | 15.6 MiB/s | 143.9 KiB | 00m00s [154/502] rust-autocfg+default-devel-0: 100% | 2.6 MiB/s | 8.1 KiB | 00m00s [155/502] rust-num-traits+i128-devel-0: 100% | 1.3 MiB/s | 7.9 KiB | 00m00s [156/502] rust-either+std-devel-0:1.15. 100% | 307.6 KiB/s | 8.3 KiB | 00m00s [157/502] rust-rawpointer-devel-0:0.2.1 100% | 696.8 KiB/s | 15.3 KiB | 00m00s [158/502] rust-rustc-hash+std-devel-0:2 100% | 1.3 MiB/s | 8.1 KiB | 00m00s [159/502] rust-num-integer+std-devel-0: 100% | 335.3 KiB/s | 8.0 KiB | 00m00s [160/502] rust-rustc-hash-devel-0:2.1.1 100% | 4.2 MiB/s | 21.3 KiB | 00m00s [161/502] rust-futures+async-await-deve 100% | 1.4 MiB/s | 8.3 KiB | 00m00s [162/502] rust-futures+executor-devel-0 100% | 1.4 MiB/s | 8.3 KiB | 00m00s [163/502] rust-futures+std-devel-0:0.3. 100% | 1.1 MiB/s | 8.7 KiB | 00m00s [164/502] rust-pin-project-lite-devel-0 100% | 14.3 MiB/s | 58.7 KiB | 00m00s [165/502] rust-futures-devel-0:0.3.31-4 100% | 7.9 MiB/s | 73.1 KiB | 00m00s [166/502] rust-pyo3-build-config0.25-de 100% | 1.3 MiB/s | 37.7 KiB | 00m00s [167/502] rust-memoffset-devel-0:0.9.1- 100% | 764.3 KiB/s | 16.8 KiB | 00m00s [168/502] rust-pyo3-ffi0.25+abi3-py311- 100% | 305.7 KiB/s | 7.3 KiB | 00m00s [169/502] rust-pyo3_0.25+abi3-py312-dev 100% | 300.7 KiB/s | 7.2 KiB | 00m00s [170/502] rust-indoc+default-devel-0:2. 100% | 339.7 KiB/s | 7.8 KiB | 00m00s [171/502] rust-pyo3-macros0.25+default- 100% | 342.3 KiB/s | 7.2 KiB | 00m00s [172/502] rust-unindent+default-devel-0 100% | 339.2 KiB/s | 7.8 KiB | 00m00s [173/502] rust-rayon-core-devel-0:1.13. 100% | 15.3 MiB/s | 78.5 KiB | 00m00s [174/502] rust-serde_derive-devel-0:1.0 100% | 11.2 MiB/s | 69.0 KiB | 00m00s [175/502] rust-memchr+alloc-devel-0:2.7 100% | 2.0 MiB/s | 8.2 KiB | 00m00s [176/502] rust-itoa-devel-0:1.0.15-2.fc 100% | 3.0 MiB/s | 18.6 KiB | 00m00s [177/502] rust-ryu-devel-0:1.0.20-2.fc4 100% | 7.8 MiB/s | 56.2 KiB | 00m00s [178/502] rust-tokio-macros-devel-0:2.6 100% | 2.1 MiB/s | 21.7 KiB | 00m00s [179/502] rust-signal-hook-registry-dev 100% | 3.7 MiB/s | 26.7 KiB | 00m00s [180/502] rust-bitflags1+default-devel- 100% | 953.7 KiB/s | 7.6 KiB | 00m00s [181/502] rust-esaxx-rs+cc-devel-0:0.1. 100% | 331.2 KiB/s | 7.3 KiB | 00m00s [182/502] rust-aho-corasick+perf-litera 100% | 2.6 MiB/s | 8.0 KiB | 00m00s [183/502] rust-onig_sys-devel-0:69.8.1- 100% | 734.4 KiB/s | 18.4 KiB | 00m00s [184/502] rust-aho-corasick+std-devel-0 100% | 1.6 MiB/s | 8.0 KiB | 00m00s [185/502] rust-aho-corasick-devel-0:1.1 100% | 21.8 MiB/s | 156.5 KiB | 00m00s [186/502] rust-indicatif+default-devel- 100% | 170.2 KiB/s | 8.3 KiB | 00m00s [187/502] rust-compact_str+std-devel-0: 100% | 269.3 KiB/s | 8.1 KiB | 00m00s [188/502] rust-serde+alloc-devel-0:1.0. 100% | 3.2 MiB/s | 9.7 KiB | 00m00s [189/502] rust-compact_str-devel-0:0.9. 100% | 1.7 MiB/s | 77.8 KiB | 00m00s [190/502] rust-dary_heap-devel-0:0.3.8- 100% | 1.3 MiB/s | 31.3 KiB | 00m00s [191/502] rust-derive_builder+std-devel 100% | 340.2 KiB/s | 8.2 KiB | 00m00s [192/502] rust-macro_rules_attribute-de 100% | 830.5 KiB/s | 22.4 KiB | 00m00s [193/502] rust-monostate-devel-0:1.0.2- 100% | 1.2 MiB/s | 33.6 KiB | 00m00s [194/502] rust-paste-devel-0:1.0.15-4.f 100% | 7.3 MiB/s | 37.2 KiB | 00m00s [195/502] rust-derive_builder-devel-0:0 100% | 1.3 MiB/s | 61.0 KiB | 00m00s [196/502] rust-rand+os_rng-devel-0:0.9. 100% | 353.1 KiB/s | 8.1 KiB | 00m00s [197/502] rust-rand+small_rng-devel-0:0 100% | 362.6 KiB/s | 8.0 KiB | 00m00s [198/502] rust-rand+std-devel-0:0.9.2-2 100% | 376.5 KiB/s | 8.3 KiB | 00m00s [199/502] rust-rand+std_rng-devel-0:0.9 100% | 338.1 KiB/s | 8.1 KiB | 00m00s [200/502] rust-rand+thread_rng-devel-0: 100% | 367.2 KiB/s | 8.1 KiB | 00m00s [201/502] rust-regex+unicode-devel-0:1. 100% | 2.2 MiB/s | 9.1 KiB | 00m00s [202/502] rust-regex-syntax+std-devel-0 100% | 2.0 MiB/s | 8.1 KiB | 00m00s [203/502] rust-regex-syntax+unicode-dev 100% | 1.6 MiB/s | 8.4 KiB | 00m00s [204/502] rust-rand-devel-0:0.9.2-2.fc4 100% | 3.5 MiB/s | 101.0 KiB | 00m00s [205/502] rust-regex-syntax-devel-0:0.8 100% | 30.1 MiB/s | 215.5 KiB | 00m00s [206/502] rust-thiserror+std-devel-0:2. 100% | 1.9 MiB/s | 9.7 KiB | 00m00s [207/502] rust-thiserror-devel-0:2.0.17 100% | 6.1 MiB/s | 63.0 KiB | 00m00s [208/502] rust-rayon-cond-devel-0:0.4.0 100% | 436.4 KiB/s | 17.5 KiB | 00m00s [209/502] rust-spm_precompiled-devel-0: 100% | 450.6 KiB/s | 15.8 KiB | 00m00s [210/502] rust-unicode-normalization-al 100% | 2.3 MiB/s | 81.1 KiB | 00m00s [211/502] rust-unicode_categories-devel 100% | 1.4 MiB/s | 46.7 KiB | 00m00s [212/502] rust-anstyle-query-devel-0:1. 100% | 4.4 MiB/s | 18.1 KiB | 00m00s [213/502] rust-zerocopy-derive-devel-0: 100% | 4.2 MiB/s | 94.8 KiB | 00m00s [214/502] rust-anstyle+std-devel-0:1.0. 100% | 2.7 MiB/s | 8.4 KiB | 00m00s [215/502] rust-anstyle-devel-0:1.0.13-1 100% | 5.9 MiB/s | 24.2 KiB | 00m00s [216/502] rust-anstyle-parse+utf8-devel 100% | 2.7 MiB/s | 8.4 KiB | 00m00s [217/502] rust-anstyle-parse-devel-0:0. 100% | 6.0 MiB/s | 24.4 KiB | 00m00s [218/502] rust-colorchoice-devel-0:1.0. 100% | 4.0 MiB/s | 16.2 KiB | 00m00s [219/502] rust-utf8parse-devel-0:0.2.2- 100% | 3.0 MiB/s | 21.2 KiB | 00m00s [220/502] rust-serde_core+alloc-devel-0 100% | 918.6 KiB/s | 7.3 KiB | 00m00s [221/502] rust-regex+perf-backtrack-dev 100% | 1.2 MiB/s | 8.8 KiB | 00m00s [222/502] rust-regex+perf-cache-devel-0 100% | 1.4 MiB/s | 8.6 KiB | 00m00s [223/502] rust-unicode-segmentation-dev 100% | 897.0 KiB/s | 78.0 KiB | 00m00s [224/502] rust-regex+perf-dfa-devel-0:1 100% | 971.9 KiB/s | 8.7 KiB | 00m00s [225/502] rust-regex+perf-inline-devel- 100% | 974.1 KiB/s | 8.8 KiB | 00m00s [226/502] rust-regex+perf-literal-devel 100% | 1.2 MiB/s | 8.9 KiB | 00m00s [227/502] rust-regex+perf-onepass-devel 100% | 877.1 KiB/s | 8.8 KiB | 00m00s [228/502] rust-regex-automata+std-devel 100% | 924.3 KiB/s | 9.2 KiB | 00m00s [229/502] rust-regex-automata+alloc-dev 100% | 1.1 MiB/s | 8.7 KiB | 00m00s [230/502] rust-regex-automata+meta-deve 100% | 1.1 MiB/s | 8.8 KiB | 00m00s [231/502] rust-regex-automata+nfa-pikev 100% | 1.1 MiB/s | 8.8 KiB | 00m00s [232/502] rust-regex-automata+syntax-de 100% | 1.4 MiB/s | 8.9 KiB | 00m00s [233/502] rust-autocfg-devel-0:1.5.0-2. 100% | 5.5 MiB/s | 28.4 KiB | 00m00s [234/502] rust-regex-automata-devel-0:0 100% | 40.2 MiB/s | 452.9 KiB | 00m00s [235/502] rust-futures-util+async-await 100% | 814.2 KiB/s | 8.1 KiB | 00m00s [236/502] rust-target-lexicon+default-d 100% | 333.3 KiB/s | 8.3 KiB | 00m00s [237/502] rust-futures-executor+std-dev 100% | 821.6 KiB/s | 8.2 KiB | 00m00s [238/502] rust-futures-executor-devel-0 100% | 4.3 MiB/s | 26.4 KiB | 00m00s [239/502] rust-futures+alloc-devel-0:0. 100% | 1.4 MiB/s | 8.5 KiB | 00m00s [240/502] rust-futures-util+async-await 100% | 344.1 KiB/s | 8.3 KiB | 00m00s [241/502] rust-futures-core+std-devel-0 100% | 2.6 MiB/s | 7.9 KiB | 00m00s [242/502] rust-futures-io+std-devel-0:0 100% | 2.6 MiB/s | 7.9 KiB | 00m00s [243/502] rust-futures-task+std-devel-0 100% | 2.5 MiB/s | 7.8 KiB | 00m00s [244/502] rust-futures-sink+std-devel-0 100% | 1.3 MiB/s | 7.9 KiB | 00m00s [245/502] rust-futures-util+io-devel-0: 100% | 2.0 MiB/s | 8.2 KiB | 00m00s [246/502] rust-futures-util+channel-dev 100% | 1.1 MiB/s | 8.2 KiB | 00m00s [247/502] rust-futures-util+std-devel-0 100% | 2.1 MiB/s | 8.4 KiB | 00m00s [248/502] rust-futures-channel+sink-dev 100% | 1.5 MiB/s | 7.9 KiB | 00m00s [249/502] rust-futures-channel-devel-0: 100% | 9.4 MiB/s | 38.6 KiB | 00m00s [250/502] rust-futures-core-devel-0:0.3 100% | 5.6 MiB/s | 22.8 KiB | 00m00s [251/502] rust-futures-io-devel-0:0.3.3 100% | 4.1 MiB/s | 17.0 KiB | 00m00s [252/502] rust-futures-sink-devel-0:0.3 100% | 3.1 MiB/s | 16.0 KiB | 00m00s [253/502] rust-futures-task-devel-0:0.3 100% | 3.8 MiB/s | 19.7 KiB | 00m00s [254/502] rust-futures-util+sink-devel- 100% | 1.6 MiB/s | 8.2 KiB | 00m00s [255/502] rust-futures-util-devel-0:0.3 100% | 16.2 MiB/s | 182.2 KiB | 00m00s [256/502] rust-pyo3-ffi0.25+abi3-py312- 100% | 319.0 KiB/s | 7.3 KiB | 00m00s [257/502] rust-pyo3_0.25+abi3-py313-dev 100% | 257.7 KiB/s | 7.2 KiB | 00m00s [258/502] rust-pyo3-macros0.25-devel-0: 100% | 658.5 KiB/s | 15.8 KiB | 00m00s [259/502] rust-indoc-devel-0:2.0.7-1.fc 100% | 806.6 KiB/s | 33.1 KiB | 00m00s [260/502] rust-crossbeam-deque+default- 100% | 1.9 MiB/s | 8.0 KiB | 00m00s [261/502] rust-crossbeam-utils+default- 100% | 2.0 MiB/s | 8.1 KiB | 00m00s [262/502] rust-unindent-devel-0:0.2.4-2 100% | 623.2 KiB/s | 15.6 KiB | 00m00s [263/502] rust-proc-macro2+proc-macro-d 100% | 3.3 MiB/s | 10.1 KiB | 00m00s [264/502] rust-quote-devel-0:1.0.41-1.f 100% | 7.0 MiB/s | 43.2 KiB | 00m00s [265/502] rust-quote+proc-macro-devel-0 100% | 1.2 MiB/s | 8.4 KiB | 00m00s [266/502] rust-proc-macro2-devel-0:1.0. 100% | 7.9 MiB/s | 64.9 KiB | 00m00s [267/502] rust-syn+derive-devel-0:2.0.1 100% | 2.1 MiB/s | 10.5 KiB | 00m00s [268/502] rust-syn+parsing-devel-0:2.0. 100% | 2.1 MiB/s | 10.5 KiB | 00m00s [269/502] rust-syn+clone-impls-devel-0: 100% | 1.7 MiB/s | 10.5 KiB | 00m00s [270/502] rust-syn+printing-devel-0:2.0 100% | 3.5 MiB/s | 10.6 KiB | 00m00s [271/502] rust-syn+proc-macro-devel-0:2 100% | 2.6 MiB/s | 10.8 KiB | 00m00s [272/502] rust-proc-macro2+default-deve 100% | 2.0 MiB/s | 10.1 KiB | 00m00s [273/502] rust-quote+default-devel-0:1. 100% | 2.0 MiB/s | 8.3 KiB | 00m00s [274/502] rust-syn-devel-0:2.0.108-1.fc 100% | 25.1 MiB/s | 256.8 KiB | 00m00s [275/502] rust-syn+default-devel-0:2.0. 100% | 1.3 MiB/s | 10.7 KiB | 00m00s [276/502] rust-syn+full-devel-0:2.0.108 100% | 1.3 MiB/s | 10.5 KiB | 00m00s [277/502] rust-cc+default-devel-0:1.2.3 100% | 1.3 MiB/s | 10.8 KiB | 00m00s [278/502] rust-bitflags1-devel-0:1.3.2- 100% | 4.3 MiB/s | 39.5 KiB | 00m00s [279/502] rust-pkg-config+default-devel 100% | 2.7 MiB/s | 8.2 KiB | 00m00s [280/502] rust-bindgen0.69+default-deve 100% | 327.0 KiB/s | 7.5 KiB | 00m00s [281/502] rust-bindgen0.69+runtime-deve 100% | 341.7 KiB/s | 7.5 KiB | 00m00s [282/502] rust-console+unicode-width-de 100% | 335.4 KiB/s | 8.4 KiB | 00m00s [283/502] rust-indicatif+unicode-width- 100% | 346.6 KiB/s | 8.3 KiB | 00m00s [284/502] rust-castaway+alloc-devel-0:0 100% | 312.4 KiB/s | 7.8 KiB | 00m00s [285/502] rust-rustversion+default-deve 100% | 1.2 MiB/s | 8.4 KiB | 00m00s [286/502] rust-indicatif-devel-0:0.18.1 100% | 1.5 MiB/s | 70.7 KiB | 00m00s [287/502] rust-castaway-devel-0:0.2.4-2 100% | 789.2 KiB/s | 19.7 KiB | 00m00s [288/502] rust-static_assertions+defaul 100% | 335.3 KiB/s | 7.7 KiB | 00m00s [289/502] rust-derive_builder_macro+lib 100% | 354.2 KiB/s | 8.1 KiB | 00m00s [290/502] rust-derive_builder_macro+def 100% | 323.2 KiB/s | 8.1 KiB | 00m00s [291/502] rust-macro_rules_attribute-pr 100% | 305.2 KiB/s | 7.6 KiB | 00m00s [292/502] rust-monostate-impl+default-d 100% | 312.9 KiB/s | 7.5 KiB | 00m00s [293/502] rust-rand_core+os_rng-devel-0 100% | 357.2 KiB/s | 8.2 KiB | 00m00s [294/502] rust-rand+alloc-devel-0:0.9.2 100% | 346.2 KiB/s | 8.0 KiB | 00m00s [295/502] rust-rand_chacha-devel-0:0.9. 100% | 1.1 MiB/s | 24.3 KiB | 00m00s [296/502] rust-rand_chacha+std-devel-0: 100% | 316.3 KiB/s | 7.9 KiB | 00m00s [297/502] rust-rand_core+std-devel-0:0. 100% | 359.9 KiB/s | 8.3 KiB | 00m00s [298/502] rust-rand_core-devel-0:0.9.3- 100% | 1.2 MiB/s | 30.3 KiB | 00m00s [299/502] rust-regex+unicode-age-devel- 100% | 2.2 MiB/s | 8.9 KiB | 00m00s [300/502] rust-regex+unicode-case-devel 100% | 1.7 MiB/s | 8.9 KiB | 00m00s [301/502] rust-regex+unicode-bool-devel 100% | 1.7 MiB/s | 8.9 KiB | 00m00s [302/502] rust-either+default-devel-0:1 100% | 238.8 KiB/s | 8.4 KiB | 00m00s [303/502] rust-regex+unicode-gencat-dev 100% | 1.4 MiB/s | 8.9 KiB | 00m00s [304/502] rust-regex+unicode-perl-devel 100% | 1.3 MiB/s | 9.0 KiB | 00m00s [305/502] rust-regex+unicode-script-dev 100% | 1.2 MiB/s | 8.9 KiB | 00m00s [306/502] rust-regex+unicode-segment-de 100% | 1.7 MiB/s | 8.9 KiB | 00m00s [307/502] rust-regex-automata+unicode-d 100% | 2.3 MiB/s | 9.3 KiB | 00m00s [308/502] rust-regex-syntax+unicode-age 100% | 1.3 MiB/s | 8.1 KiB | 00m00s [309/502] rust-regex-syntax+unicode-cas 100% | 1.3 MiB/s | 8.1 KiB | 00m00s [310/502] rust-regex-syntax+unicode-boo 100% | 1.1 MiB/s | 8.1 KiB | 00m00s [311/502] rust-regex-syntax+unicode-gen 100% | 4.0 MiB/s | 8.1 KiB | 00m00s [312/502] rust-regex-syntax+unicode-per 100% | 4.0 MiB/s | 8.1 KiB | 00m00s [313/502] rust-regex-syntax+unicode-scr 100% | 2.0 MiB/s | 8.1 KiB | 00m00s [314/502] rust-regex-syntax+unicode-seg 100% | 1.3 MiB/s | 8.1 KiB | 00m00s [315/502] rust-base64+default-devel-0:0 100% | 1.4 MiB/s | 8.3 KiB | 00m00s [316/502] rust-thiserror-impl+default-d 100% | 2.4 MiB/s | 9.8 KiB | 00m00s [317/502] rust-nom7+default-devel-0:7.1 100% | 809.1 KiB/s | 7.3 KiB | 00m00s [318/502] rust-smallvec+default-devel-0 100% | 1.6 MiB/s | 8.2 KiB | 00m00s [319/502] rust-regex-automata+nfa-backt 100% | 1.4 MiB/s | 8.8 KiB | 00m00s [320/502] rust-regex-automata+perf-inli 100% | 1.7 MiB/s | 8.7 KiB | 00m00s [321/502] rust-regex-automata+hybrid-de 100% | 1.4 MiB/s | 8.8 KiB | 00m00s [322/502] rust-regex-automata+perf-lite 100% | 1.1 MiB/s | 8.9 KiB | 00m00s [323/502] rust-regex-automata+dfa-onepa 100% | 1.1 MiB/s | 8.8 KiB | 00m00s [324/502] rust-regex-automata+nfa-thomp 100% | 1.1 MiB/s | 8.8 KiB | 00m00s [325/502] rust-futures-channel+alloc-de 100% | 1.6 MiB/s | 8.0 KiB | 00m00s [326/502] rust-futures-core+alloc-devel 100% | 784.9 KiB/s | 7.8 KiB | 00m00s [327/502] rust-futures-util+futures-mac 100% | 454.7 KiB/s | 8.2 KiB | 00m00s [328/502] rust-target-lexicon-devel-0:0 100% | 1.5 MiB/s | 33.2 KiB | 00m00s [329/502] rust-futures-task+alloc-devel 100% | 975.2 KiB/s | 7.8 KiB | 00m00s [330/502] rust-futures-util+alloc-devel 100% | 2.0 MiB/s | 8.4 KiB | 00m00s [331/502] rust-futures-sink+alloc-devel 100% | 604.0 KiB/s | 7.9 KiB | 00m00s [332/502] rust-futures-util+futures-io- 100% | 1.4 MiB/s | 8.4 KiB | 00m00s [333/502] rust-futures-util+memchr-deve 100% | 1.6 MiB/s | 8.3 KiB | 00m00s [334/502] rust-futures-util+slab-devel- 100% | 2.0 MiB/s | 8.3 KiB | 00m00s [335/502] rust-futures-util+futures-cha 100% | 699.6 KiB/s | 8.4 KiB | 00m00s [336/502] rust-futures-channel+futures- 100% | 1.6 MiB/s | 8.1 KiB | 00m00s [337/502] rust-futures-util+futures-sin 100% | 1.6 MiB/s | 8.3 KiB | 00m00s [338/502] rust-pin-utils+default-devel- 100% | 1.8 MiB/s | 7.6 KiB | 00m00s [339/502] rust-pyo3_0.25+abi3-py314-dev 100% | 327.8 KiB/s | 7.2 KiB | 00m00s [340/502] rust-pyo3-ffi0.25+abi3-py313- 100% | 319.0 KiB/s | 7.3 KiB | 00m00s [341/502] rust-pyo3-macros-backend0.25+ 100% | 316.3 KiB/s | 7.3 KiB | 00m00s [342/502] rust-syn+extra-traits-devel-0 100% | 1.3 MiB/s | 10.5 KiB | 00m00s [343/502] rust-crossbeam-deque+std-deve 100% | 1.0 MiB/s | 8.2 KiB | 00m00s [344/502] rust-crossbeam-deque-devel-0: 100% | 3.6 MiB/s | 29.7 KiB | 00m00s [345/502] rust-crossbeam-utils+std-deve 100% | 1.6 MiB/s | 8.0 KiB | 00m00s [346/502] rust-crossbeam-utils-devel-0: 100% | 10.6 MiB/s | 54.5 KiB | 00m00s [347/502] rust-unicode-ident+default-de 100% | 1.0 MiB/s | 8.5 KiB | 00m00s [348/502] rust-cc-devel-0:1.2.34-1.fc44 100% | 13.6 MiB/s | 111.4 KiB | 00m00s [349/502] rust-bindgen0.69+logging-deve 100% | 326.3 KiB/s | 7.5 KiB | 00m00s [350/502] rust-bindgen0.69+prettyplease 100% | 363.3 KiB/s | 7.6 KiB | 00m00s [351/502] rust-clang-sys+runtime-devel- 100% | 2.5 MiB/s | 7.8 KiB | 00m00s [352/502] rust-bindgen0.69+which-rustfm 100% | 326.8 KiB/s | 7.5 KiB | 00m00s [353/502] rust-pkg-config-devel-0:0.3.3 100% | 5.6 MiB/s | 28.9 KiB | 00m00s [354/502] rust-unicode-width+default-de 100% | 643.7 KiB/s | 8.4 KiB | 00m00s [355/502] rust-bindgen0.69-devel-0:0.69 100% | 8.0 MiB/s | 196.4 KiB | 00m00s [356/502] rust-console-devel-0:0.16.1-1 100% | 1.3 MiB/s | 47.3 KiB | 00m00s [357/502] rust-console+ansi-parsing-dev 100% | 328.6 KiB/s | 8.2 KiB | 00m00s [358/502] rust-console+std-devel-0:0.16 100% | 337.9 KiB/s | 8.4 KiB | 00m00s [359/502] rust-portable-atomic+default- 100% | 384.9 KiB/s | 8.9 KiB | 00m00s [360/502] rust-unit-prefix+default-deve 100% | 245.2 KiB/s | 7.4 KiB | 00m00s [361/502] rust-rustversion-devel-0:1.0. 100% | 801.1 KiB/s | 34.4 KiB | 00m00s [362/502] rust-static_assertions-devel- 100% | 976.8 KiB/s | 26.4 KiB | 00m00s [363/502] rust-derive_builder_core+lib_ 100% | 382.7 KiB/s | 8.0 KiB | 00m00s [364/502] rust-macro_rules_attribute-pr 100% | 694.1 KiB/s | 16.0 KiB | 00m00s [365/502] rust-monostate-impl-devel-0:1 100% | 674.9 KiB/s | 15.5 KiB | 00m00s [366/502] rust-ppv-lite86+std-devel-0:0 100% | 979.1 KiB/s | 7.8 KiB | 00m00s [367/502] rust-derive_builder_macro-dev 100% | 442.7 KiB/s | 15.1 KiB | 00m00s [368/502] rust-ppv-lite86+simd-devel-0: 100% | 1.3 MiB/s | 7.8 KiB | 00m00s [369/502] rust-ppv-lite86-devel-0:0.2.2 100% | 4.0 MiB/s | 28.5 KiB | 00m00s [370/502] rust-regex-automata+unicode-a 100% | 2.2 MiB/s | 9.0 KiB | 00m00s [371/502] rust-regex-automata+unicode-b 100% | 2.2 MiB/s | 9.0 KiB | 00m00s [372/502] rust-regex-automata+unicode-c 100% | 1.5 MiB/s | 9.0 KiB | 00m00s [373/502] rust-rand_core+default-devel- 100% | 384.0 KiB/s | 8.1 KiB | 00m00s [374/502] rust-getrandom+std-devel-0:0. 100% | 367.1 KiB/s | 8.4 KiB | 00m00s [375/502] rust-regex-automata+unicode-g 100% | 1.5 MiB/s | 9.0 KiB | 00m00s [376/502] rust-regex-automata+unicode-p 100% | 1.5 MiB/s | 9.0 KiB | 00m00s [377/502] rust-regex-automata+unicode-w 100% | 1.1 MiB/s | 8.8 KiB | 00m00s [378/502] rust-regex-automata+unicode-s 100% | 1.1 MiB/s | 9.0 KiB | 00m00s [379/502] rust-regex-automata+unicode-s 100% | 1.0 MiB/s | 9.0 KiB | 00m00s [380/502] rust-base64+std-devel-0:0.22. 100% | 1.0 MiB/s | 8.3 KiB | 00m00s [381/502] rust-nom7+std-devel-0:7.1.3-2 100% | 1.0 MiB/s | 7.5 KiB | 00m00s [382/502] rust-base64-devel-0:0.22.1-4. 100% | 6.9 MiB/s | 77.3 KiB | 00m00s [383/502] rust-thiserror-impl-devel-0:2 100% | 5.0 MiB/s | 30.8 KiB | 00m00s [384/502] rust-nom7-devel-0:7.1.3-2.fc4 100% | 9.9 MiB/s | 111.3 KiB | 00m00s [385/502] rust-smallvec-devel-0:1.15.1- 100% | 4.6 MiB/s | 42.0 KiB | 00m00s [386/502] rust-regex-automata+perf-lite 100% | 1.1 MiB/s | 8.9 KiB | 00m00s [387/502] rust-regex-automata+perf-lite 100% | 1.3 MiB/s | 9.1 KiB | 00m00s [388/502] rust-futures-channel+std-deve 100% | 2.0 MiB/s | 8.1 KiB | 00m00s [389/502] rust-futures-macro-devel-0:0. 100% | 2.8 MiB/s | 20.0 KiB | 00m00s [390/502] rust-memchr+default-devel-0:2 100% | 2.0 MiB/s | 8.2 KiB | 00m00s [391/502] rust-slab+default-devel-0:0.4 100% | 1.9 MiB/s | 7.9 KiB | 00m00s [392/502] rust-pin-utils-devel-0:0.1.0- 100% | 2.5 MiB/s | 15.7 KiB | 00m00s [393/502] rust-crossbeam-epoch+std-deve 100% | 2.7 MiB/s | 8.1 KiB | 00m00s [394/502] rust-crossbeam-epoch-devel-0: 100% | 17.1 MiB/s | 52.5 KiB | 00m00s [395/502] rust-unicode-ident-devel-0:1. 100% | 6.4 MiB/s | 45.8 KiB | 00m00s [396/502] rust-pyo3-ffi0.25+abi3-py314- 100% | 349.0 KiB/s | 7.3 KiB | 00m00s [397/502] rust-shlex+default-devel-0:1. 100% | 1.9 MiB/s | 7.8 KiB | 00m00s [398/502] rust-prettyplease+default-dev 100% | 2.2 MiB/s | 9.0 KiB | 00m00s [399/502] rust-prettyplease+verbatim-de 100% | 2.2 MiB/s | 9.1 KiB | 00m00s [400/502] rust-bitflags+default-devel-0 100% | 1.4 MiB/s | 8.7 KiB | 00m00s [401/502] rust-pyo3-macros-backend0.25- 100% | 2.1 MiB/s | 76.4 KiB | 00m00s [402/502] rust-cexpr+default-devel-0:0. 100% | 1.8 MiB/s | 7.6 KiB | 00m00s [403/502] rust-clang-sys+clang_6_0-deve 100% | 1.5 MiB/s | 7.8 KiB | 00m00s [404/502] rust-clang-sys+default-devel- 100% | 1.5 MiB/s | 7.8 KiB | 00m00s [405/502] rust-which4-devel-0:4.4.2-5.f 100% | 1.0 MiB/s | 23.8 KiB | 00m00s [406/502] rust-lazy_static+default-deve 100% | 352.5 KiB/s | 7.8 KiB | 00m00s [407/502] rust-lazycell+default-devel-0 100% | 345.7 KiB/s | 7.6 KiB | 00m00s [408/502] rust-syn+visit-mut-devel-0:2. 100% | 2.1 MiB/s | 10.5 KiB | 00m00s [409/502] rust-clang-sys+libloading-dev 100% | 1.5 MiB/s | 7.9 KiB | 00m00s [410/502] rust-rustc-hash1+default-deve 100% | 304.7 KiB/s | 7.6 KiB | 00m00s [411/502] rust-clang-sys-devel-0:1.8.1- 100% | 11.7 MiB/s | 48.0 KiB | 00m00s [412/502] rust-unicode-width+cjk-devel- 100% | 1.0 MiB/s | 8.3 KiB | 00m00s [413/502] rust-console+alloc-devel-0:0. 100% | 356.2 KiB/s | 8.2 KiB | 00m00s [414/502] rust-portable-atomic+fallback 100% | 338.8 KiB/s | 8.8 KiB | 00m00s [415/502] rust-unicode-width-devel-0:0. 100% | 4.5 MiB/s | 193.9 KiB | 00m00s [416/502] rust-portable-atomic-devel-0: 100% | 5.7 MiB/s | 151.9 KiB | 00m00s [417/502] rust-unit-prefix+std-devel-0: 100% | 280.8 KiB/s | 7.3 KiB | 00m00s [418/502] rust-unit-prefix-devel-0:0.5. 100% | 636.8 KiB/s | 15.3 KiB | 00m00s [419/502] rust-zerocopy+default-devel-0 100% | 1.5 MiB/s | 9.1 KiB | 00m00s [420/502] rust-base64+alloc-devel-0:0.2 100% | 1.3 MiB/s | 8.3 KiB | 00m00s [421/502] rust-minimal-lexical+std-deve 100% | 2.5 MiB/s | 7.6 KiB | 00m00s [422/502] rust-derive_builder_core+defa 100% | 308.5 KiB/s | 8.0 KiB | 00m00s [423/502] rust-derive_builder_core-deve 100% | 1.2 MiB/s | 42.7 KiB | 00m00s [424/502] rust-nom7+alloc-devel-0:7.1.3 100% | 1.8 MiB/s | 7.2 KiB | 00m00s [425/502] rust-slab+std-devel-0:0.4.11- 100% | 2.6 MiB/s | 7.9 KiB | 00m00s [426/502] rust-minimal-lexical-devel-0: 100% | 15.9 MiB/s | 97.9 KiB | 00m00s [427/502] rust-slab-devel-0:0.4.11-1.fc 100% | 4.1 MiB/s | 25.4 KiB | 00m00s [428/502] rust-heck+default-devel-0:0.5 100% | 1.2 MiB/s | 7.6 KiB | 00m00s [429/502] rust-crossbeam-epoch+alloc-de 100% | 1.6 MiB/s | 8.0 KiB | 00m00s [430/502] rust-shlex+std-devel-0:1.3.0- 100% | 1.9 MiB/s | 7.8 KiB | 00m00s [431/502] rust-shlex-devel-0:1.3.0-5.fc 100% | 8.5 MiB/s | 26.1 KiB | 00m00s [432/502] rust-prettyplease-devel-0:0.2 100% | 10.4 MiB/s | 74.3 KiB | 00m00s [433/502] rust-rustix0.38+std-devel-0:0 100% | 341.8 KiB/s | 7.9 KiB | 00m00s [434/502] rust-rustix0.38+fs-devel-0:0. 100% | 263.7 KiB/s | 7.4 KiB | 00m00s [435/502] rust-home+default-devel-0:0.5 100% | 267.4 KiB/s | 7.8 KiB | 00m00s [436/502] rust-cexpr-devel-0:0.6.0-12.f 100% | 5.2 MiB/s | 26.6 KiB | 00m00s [437/502] rust-clang-sys+clang_5_0-deve 100% | 1.9 MiB/s | 7.8 KiB | 00m00s [438/502] rust-lazycell-devel-0:1.3.0-1 100% | 808.0 KiB/s | 20.2 KiB | 00m00s [439/502] rust-lazy_static-devel-0:1.5. 100% | 643.0 KiB/s | 21.2 KiB | 00m00s [440/502] rust-rustix0.38-devel-0:0.38. 100% | 8.0 MiB/s | 366.4 KiB | 00m00s [441/502] rust-libloading+default-devel 100% | 2.1 MiB/s | 8.5 KiB | 00m00s [442/502] rust-glob+default-devel-0:0.3 100% | 2.6 MiB/s | 7.9 KiB | 00m00s [443/502] rust-rustc-hash1+std-devel-0: 100% | 244.1 KiB/s | 7.6 KiB | 00m00s [444/502] rust-rustc-hash1-devel-0:1.1. 100% | 689.7 KiB/s | 17.2 KiB | 00m00s [445/502] rust-heck-devel-0:0.5.0-4.fc4 100% | 3.3 MiB/s | 20.1 KiB | 00m00s [446/502] rust-darling+default-devel-0: 100% | 372.6 KiB/s | 8.2 KiB | 00m00s [447/502] rust-home-devel-0:0.5.11-3.fc 100% | 686.7 KiB/s | 17.2 KiB | 00m00s [448/502] rust-rustix0.38+alloc-devel-0 100% | 284.3 KiB/s | 7.4 KiB | 00m00s [449/502] rust-rustix0.38+libc-extra-tr 100% | 283.5 KiB/s | 7.7 KiB | 00m00s [450/502] rust-linux-raw-sys0.4+elf-dev 100% | 345.5 KiB/s | 7.9 KiB | 00m00s [451/502] rust-linux-raw-sys0.4+errno-d 100% | 361.5 KiB/s | 8.0 KiB | 00m00s [452/502] rust-linux-raw-sys0.4+general 100% | 331.7 KiB/s | 8.0 KiB | 00m00s [453/502] rust-linux-raw-sys0.4+ioctl-d 100% | 318.2 KiB/s | 8.0 KiB | 00m00s [454/502] rust-clang-sys+clang_4_0-deve 100% | 1.9 MiB/s | 7.8 KiB | 00m00s [455/502] rust-libloading-devel-0:0.8.9 100% | 6.0 MiB/s | 37.2 KiB | 00m00s [456/502] rust-linux-raw-sys0.4+no_std- 100% | 234.1 KiB/s | 8.0 KiB | 00m00s [457/502] rust-glob-devel-0:0.3.3-1.fc4 100% | 5.4 MiB/s | 27.8 KiB | 00m00s [458/502] rust-linux-raw-sys0.4-devel-0 100% | 5.0 MiB/s | 261.9 KiB | 00m00s [459/502] rust-darling+suggestions-deve 100% | 273.9 KiB/s | 8.2 KiB | 00m00s [460/502] rust-clang-sys+clang_3_9-deve 100% | 2.5 MiB/s | 7.8 KiB | 00m00s [461/502] rust-darling-devel-0:0.20.11- 100% | 1.7 MiB/s | 60.8 KiB | 00m00s [462/502] rust-libc+extra_traits-devel- 100% | 413.1 KiB/s | 9.5 KiB | 00m00s [463/502] rust-darling_core+suggestions 100% | 308.5 KiB/s | 8.3 KiB | 00m00s [464/502] rust-clang-sys+clang_3_8-deve 100% | 1.5 MiB/s | 7.8 KiB | 00m00s [465/502] rust-darling_macro+default-de 100% | 307.2 KiB/s | 8.3 KiB | 00m00s [466/502] rust-darling_core+default-dev 100% | 201.7 KiB/s | 8.3 KiB | 00m00s [467/502] rust-darling_core+strsim-deve 100% | 350.8 KiB/s | 8.4 KiB | 00m00s [468/502] rust-clang-sys+clang_3_7-deve 100% | 1.1 MiB/s | 7.8 KiB | 00m00s [469/502] rust-darling_macro-devel-0:0. 100% | 494.7 KiB/s | 10.9 KiB | 00m00s [470/502] rust-strsim+default-devel-0:0 100% | 1.6 MiB/s | 8.0 KiB | 00m00s [471/502] rust-darling_core-devel-0:0.2 100% | 3.1 MiB/s | 85.9 KiB | 00m00s [472/502] rust-fnv+default-devel-0:1.0. 100% | 1.9 MiB/s | 7.6 KiB | 00m00s [473/502] rust-clang-sys+clang_3_6-deve 100% | 1.9 MiB/s | 7.8 KiB | 00m00s [474/502] rust-strsim-devel-0:0.11.1-4. 100% | 4.3 MiB/s | 22.3 KiB | 00m00s [475/502] rust-fnv-devel-0:1.0.7-14.fc4 100% | 4.5 MiB/s | 18.5 KiB | 00m00s [476/502] rust-fnv+std-devel-0:1.0.7-14 100% | 1.2 MiB/s | 7.5 KiB | 00m00s [477/502] rust-clang-sys+clang_3_5-deve 100% | 2.5 MiB/s | 7.8 KiB | 00m00s [478/502] oniguruma-devel-0:6.9.10-3.fc 100% | 15.0 MiB/s | 61.5 KiB | 00m00s [479/502] rust-ident_case+default-devel 100% | 331.9 KiB/s | 7.6 KiB | 00m00s [480/502] oniguruma-0:6.9.10-3.fc43.x86 100% | 19.2 MiB/s | 216.3 KiB | 00m00s [481/502] rust-ident_case-devel-0:1.0.1 100% | 550.0 KiB/s | 11.5 KiB | 00m00s [482/502] clang-resource-filesystem-0:2 100% | 1.3 MiB/s | 22.2 KiB | 00m00s [483/502] clang-devel-0:21.1.4-1.fc44.x 100% | 38.5 MiB/s | 4.0 MiB | 00m00s [484/502] clang-0:21.1.4-1.fc44.x86_64 100% | 42.2 MiB/s | 7.3 MiB | 00m00s [485/502] cmake-filesystem-0:3.31.6-4.f 100% | 2.5 MiB/s | 15.5 KiB | 00m00s [486/502] llvm-devel-0:21.1.4-1.fc44.x8 100% | 53.7 MiB/s | 5.4 MiB | 00m00s [487/502] emacs-filesystem-1:30.0-5.fc4 100% | 416.0 KiB/s | 7.5 KiB | 00m00s [488/502] clang-tools-extra-0:21.1.4-1. 100% | 43.4 MiB/s | 18.8 MiB | 00m00s [489/502] llvm-googletest-0:21.1.4-1.fc 100% | 19.7 MiB/s | 444.9 KiB | 00m00s [490/502] clang-libs-0:21.1.4-1.fc44.x8 100% | 45.2 MiB/s | 30.2 MiB | 00m01s [491/502] llvm-test-0:21.1.4-1.fc44.x86 100% | 22.1 MiB/s | 745.9 KiB | 00m00s [492/502] llvm-0:21.1.4-1.fc44.x86_64 100% | 50.0 MiB/s | 24.6 MiB | 00m00s [493/502] libedit-devel-0:3.1-57.202510 100% | 2.6 MiB/s | 40.6 KiB | 00m00s [494/502] ncurses-devel-0:6.5-7.2025061 100% | 33.9 MiB/s | 590.2 KiB | 00m00s [495/502] gcc-c++-0:15.2.1-3.fc44.x86_6 100% | 90.3 MiB/s | 15.3 MiB | 00m00s [496/502] ncurses-c++-libs-0:6.5-7.2025 100% | 1.7 MiB/s | 37.7 KiB | 00m00s [497/502] libzstd-devel-0:1.5.7-3.fc44. 100% | 11.0 MiB/s | 56.1 KiB | 00m00s [498/502] rust-num-complex+default-deve 100% | 293.7 KiB/s | 7.9 KiB | 00m00s [499/502] libstdc++-devel-0:15.2.1-3.fc 100% | 101.8 MiB/s | 5.3 MiB | 00m00s [500/502] rust-num-complex+std-devel-0: 100% | 276.8 KiB/s | 8.0 KiB | 00m00s [501/502] rust-itertools0.12-devel-0:0. 100% | 4.6 MiB/s | 137.2 KiB | 00m00s [502/502] llvm-static-0:21.1.4-1.fc44.x 100% | 75.6 MiB/s | 50.5 MiB | 00m01s -------------------------------------------------------------------------------- [502/502] Total 100% | 46.4 MiB/s | 183.9 MiB | 00m04s Running transaction [ 1/504] Verify package files 100% | 789.0 B/s | 502.0 B | 00m01s [ 2/504] Prepare transaction 100% | 5.3 KiB/s | 502.0 B | 00m00s [ 3/504] Installing rust-regex-automat 100% | 292.2 MiB/s | 2.6 MiB | 00m00s [ 4/504] Installing rust-regex-syntax- 100% | 402.1 MiB/s | 1.6 MiB | 00m00s [ 5/504] Installing rust-memchr-devel- 100% | 187.7 MiB/s | 576.6 KiB | 00m00s [ 6/504] Installing rust-aho-corasick- 100% | 265.0 MiB/s | 814.1 KiB | 00m00s [ 7/504] Installing rust-linux-raw-sys 100% | 569.4 MiB/s | 11.4 MiB | 00m00s [ 8/504] Installing rust-futures-core- 100% | 45.9 MiB/s | 47.0 KiB | 00m00s [ 9/504] Installing rust-futures-chann 100% | 132.0 MiB/s | 135.1 KiB | 00m00s [ 10/504] Installing rust-either-devel- 100% | 0.0 B/s | 77.0 KiB | 00m00s [ 11/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 12/504] Installing rust-console-devel 100% | 142.5 MiB/s | 145.9 KiB | 00m00s [ 13/504] Installing rust-futures-task- 100% | 0.0 B/s | 41.0 KiB | 00m00s [ 14/504] Installing rust-futures-sink- 100% | 0.0 B/s | 23.9 KiB | 00m00s [ 15/504] Installing rust-once_cell+def 100% | 0.0 B/s | 124.0 B | 00m00s [ 16/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 17/504] Installing rust-futures-core+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 18/504] Installing rust-futures-core+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 19/504] Installing rust-crossbeam-uti 100% | 185.4 MiB/s | 189.8 KiB | 00m00s [ 20/504] Installing rust-rand_core-dev 100% | 78.0 MiB/s | 79.9 KiB | 00m00s [ 21/504] Installing rust-rand-devel-0: 100% | 194.8 MiB/s | 399.0 KiB | 00m00s [ 22/504] Installing rust-getrandom+def 100% | 0.0 B/s | 124.0 B | 00m00s [ 23/504] Installing rust-mio-devel-0:1 100% | 152.2 MiB/s | 467.4 KiB | 00m00s [ 24/504] Installing rust-crossbeam-uti 100% | 0.0 B/s | 124.0 B | 00m00s [ 25/504] Installing rust-crossbeam-epo 100% | 185.0 MiB/s | 189.4 KiB | 00m00s [ 26/504] Installing rust-futures-task+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 27/504] Installing rust-futures-task+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 28/504] Installing rust-itertools-dev 100% | 233.7 MiB/s | 718.0 KiB | 00m00s [ 29/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 30/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 31/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 32/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 33/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 34/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 35/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 36/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 37/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 38/504] Installing cmake-filesystem-0 100% | 7.4 MiB/s | 7.6 KiB | 00m00s [ 39/504] Installing rust-base64-devel- 100% | 144.5 MiB/s | 295.9 KiB | 00m00s [ 40/504] Installing rust-futures-io-de 100% | 0.0 B/s | 35.3 KiB | 00m00s [ 41/504] Installing rust-log-devel-0:0 100% | 218.4 MiB/s | 223.6 KiB | 00m00s [ 42/504] Installing rust-log+default-d 100% | 0.0 B/s | 124.0 B | 00m00s [ 43/504] Installing rust-log+std-devel 100% | 0.0 B/s | 124.0 B | 00m00s [ 44/504] Installing rust-esaxx-rs-deve 100% | 87.0 MiB/s | 89.1 KiB | 00m00s [ 45/504] Installing rust-jiff-devel-0: 100% | 439.0 MiB/s | 3.5 MiB | 00m00s [ 46/504] Installing rust-env_filter-de 100% | 57.9 MiB/s | 59.3 KiB | 00m00s [ 47/504] Installing rust-env_logger-de 100% | 124.6 MiB/s | 127.6 KiB | 00m00s [ 48/504] Installing rust-futures-io+st 100% | 0.0 B/s | 124.0 B | 00m00s [ 49/504] Installing rust-regex-syntax+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 50/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 51/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 52/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 53/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 54/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 55/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 56/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 57/504] Installing rust-crossbeam-deq 100% | 124.9 MiB/s | 127.9 KiB | 00m00s [ 58/504] Installing rust-mio+os-poll-d 100% | 0.0 B/s | 124.0 B | 00m00s [ 59/504] Installing rust-futures-chann 100% | 0.0 B/s | 124.0 B | 00m00s [ 60/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 61/504] Installing rust-futures-sink+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 62/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [ 63/504] Installing rust-either+std-de 100% | 0.0 B/s | 124.0 B | 00m00s [ 64/504] Installing rust-either+defaul 100% | 0.0 B/s | 124.0 B | 00m00s [ 65/504] Installing rust-aho-corasick+ 100% | 0.0 B/s | 124.0 B | 00m00s [ 66/504] Installing rust-regex-automat 100% | 60.5 KiB/s | 124.0 B | 00m00s [ 67/504] Installing libstdc++-devel-0: 100% | 504.2 MiB/s | 37.3 MiB | 00m00s [ 68/504] Installing gcc-c++-0:15.2.1-3 100% | 383.1 MiB/s | 41.4 MiB | 00m00s [ 69/504] Installing llvm-0:21.1.4-1.fc 100% | 417.6 MiB/s | 89.4 MiB | 00m00s [ 70/504] Installing rust-fnv-devel-0:1 100% | 0.0 B/s | 34.7 KiB | 00m00s [ 71/504] Installing rust-rustc-hash1-d 100% | 0.0 B/s | 24.9 KiB | 00m00s [ 72/504] Installing rust-shlex-devel-0 100% | 0.0 B/s | 57.7 KiB | 00m00s [ 73/504] Installing rust-slab-devel-0: 100% | 75.1 MiB/s | 76.9 KiB | 00m00s [ 74/504] Installing rust-minimal-lexic 100% | 155.9 MiB/s | 319.3 KiB | 00m00s [ 75/504] Installing rust-nom7-devel-0: 100% | 209.4 MiB/s | 643.3 KiB | 00m00s [ 76/504] Installing rust-unit-prefix-d 100% | 25.9 MiB/s | 26.5 KiB | 00m00s [ 77/504] Installing rust-portable-atom 100% | 379.1 MiB/s | 1.1 MiB | 00m00s [ 78/504] Installing rust-unicode-width 100% | 546.3 MiB/s | 2.2 MiB | 00m00s [ 79/504] Installing rust-bitflags+defa 100% | 0.0 B/s | 124.0 B | 00m00s [ 80/504] Installing rust-anstyle-parse 100% | 80.6 MiB/s | 82.6 KiB | 00m00s [ 81/504] Installing rust-anstyle-devel 100% | 66.6 MiB/s | 68.2 KiB | 00m00s [ 82/504] Installing rust-dary_heap-dev 100% | 0.0 B/s | 93.9 KiB | 00m00s [ 83/504] Installing rust-rustc-hash-de 100% | 37.6 MiB/s | 38.5 KiB | 00m00s [ 84/504] Installing rust-rustc-hash+st 100% | 0.0 B/s | 124.0 B | 00m00s [ 85/504] Installing rust-rustc-hash+de 100% | 0.0 B/s | 124.0 B | 00m00s [ 86/504] Installing rust-dary_heap+def 100% | 0.0 B/s | 124.0 B | 00m00s [ 87/504] Installing rust-anstyle+std-d 100% | 0.0 B/s | 124.0 B | 00m00s [ 88/504] Installing rust-anstyle+defau 100% | 0.0 B/s | 124.0 B | 00m00s [ 89/504] Installing rust-unicode-width 100% | 0.0 B/s | 124.0 B | 00m00s [ 90/504] Installing rust-unicode-width 100% | 0.0 B/s | 124.0 B | 00m00s [ 91/504] Installing rust-console+unico 100% | 0.0 B/s | 124.0 B | 00m00s [ 92/504] Installing rust-portable-atom 100% | 0.0 B/s | 124.0 B | 00m00s [ 93/504] Installing rust-portable-atom 100% | 0.0 B/s | 124.0 B | 00m00s [ 94/504] Installing rust-unit-prefix+s 100% | 0.0 B/s | 124.0 B | 00m00s [ 95/504] Installing rust-unit-prefix+d 100% | 0.0 B/s | 124.0 B | 00m00s [ 96/504] Installing rust-nom7+alloc-de 100% | 0.0 B/s | 124.0 B | 00m00s [ 97/504] Installing rust-minimal-lexic 100% | 0.0 B/s | 124.0 B | 00m00s [ 98/504] Installing rust-slab+std-deve 100% | 0.0 B/s | 124.0 B | 00m00s [ 99/504] Installing rust-slab+default- 100% | 0.0 B/s | 124.0 B | 00m00s [100/504] Installing rust-shlex+std-dev 100% | 0.0 B/s | 124.0 B | 00m00s [101/504] Installing rust-shlex+default 100% | 0.0 B/s | 124.0 B | 00m00s [102/504] Installing rust-cc-devel-0:1. 100% | 215.6 MiB/s | 441.5 KiB | 00m00s [103/504] Installing rust-cc+default-de 100% | 0.0 B/s | 124.0 B | 00m00s [104/504] Installing rust-esaxx-rs+cc-d 100% | 0.0 B/s | 124.0 B | 00m00s [105/504] Installing rust-esaxx-rs+cpp- 100% | 0.0 B/s | 124.0 B | 00m00s [106/504] Installing rust-rustc-hash1+s 100% | 0.0 B/s | 124.0 B | 00m00s [107/504] Installing rust-rustc-hash1+d 100% | 0.0 B/s | 124.0 B | 00m00s [108/504] Installing rust-fnv+std-devel 100% | 0.0 B/s | 124.0 B | 00m00s [109/504] Installing rust-fnv+default-d 100% | 0.0 B/s | 124.0 B | 00m00s [110/504] Installing llvm-test-0:21.1.4 100% | 135.8 MiB/s | 2.3 MiB | 00m00s [111/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [112/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [113/504] Installing rust-either+use_st 100% | 0.0 B/s | 124.0 B | 00m00s [114/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [115/504] Installing rust-regex-devel-0 100% | 249.9 MiB/s | 767.6 KiB | 00m00s [116/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [117/504] Installing rust-regex+perf-ca 100% | 0.0 B/s | 124.0 B | 00m00s [118/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [119/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [120/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [121/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [122/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [123/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [124/504] Installing rust-regex+unicode 100% | 0.0 B/s | 124.0 B | 00m00s [125/504] Installing rust-futures-sink+ 100% | 0.0 B/s | 124.0 B | 00m00s [126/504] Installing rust-futures-chann 100% | 0.0 B/s | 124.0 B | 00m00s [127/504] Installing rust-mio+os-ext-de 100% | 0.0 B/s | 124.0 B | 00m00s [128/504] Installing rust-base64+alloc- 100% | 0.0 B/s | 124.0 B | 00m00s [129/504] Installing rust-base64+std-de 100% | 0.0 B/s | 124.0 B | 00m00s [130/504] Installing rust-base64+defaul 100% | 0.0 B/s | 124.0 B | 00m00s [131/504] Installing libzstd-devel-0:1. 100% | 214.0 MiB/s | 219.1 KiB | 00m00s [132/504] Installing rust-itertools+use 100% | 0.0 B/s | 124.0 B | 00m00s [133/504] Installing rust-itertools+use 100% | 0.0 B/s | 124.0 B | 00m00s [134/504] Installing rust-itertools+def 100% | 0.0 B/s | 124.0 B | 00m00s [135/504] Installing rust-crossbeam-epo 100% | 0.0 B/s | 124.0 B | 00m00s [136/504] Installing rust-crossbeam-epo 100% | 0.0 B/s | 124.0 B | 00m00s [137/504] Installing rust-crossbeam-deq 100% | 0.0 B/s | 124.0 B | 00m00s [138/504] Installing rust-crossbeam-deq 100% | 0.0 B/s | 124.0 B | 00m00s [139/504] Installing rust-crossbeam-uti 100% | 0.0 B/s | 124.0 B | 00m00s [140/504] Installing rust-rayon-core-de 100% | 136.5 MiB/s | 279.5 KiB | 00m00s [141/504] Installing rust-rayon-core+de 100% | 0.0 B/s | 124.0 B | 00m00s [142/504] Installing rust-rayon-devel-0 100% | 220.6 MiB/s | 903.6 KiB | 00m00s [143/504] Installing rust-rayon+default 100% | 0.0 B/s | 124.0 B | 00m00s [144/504] Installing rust-rayon-cond-de 100% | 0.0 B/s | 39.4 KiB | 00m00s [145/504] Installing rust-rayon-cond+de 100% | 0.0 B/s | 124.0 B | 00m00s [146/504] Installing rust-mio+net-devel 100% | 0.0 B/s | 124.0 B | 00m00s [147/504] Installing rust-rand_core+os_ 100% | 0.0 B/s | 124.0 B | 00m00s [148/504] Installing rust-rand+os_rng-d 100% | 0.0 B/s | 124.0 B | 00m00s [149/504] Installing rust-rand+small_rn 100% | 0.0 B/s | 124.0 B | 00m00s [150/504] Installing rust-rand+alloc-de 100% | 0.0 B/s | 124.0 B | 00m00s [151/504] Installing rust-rand_core+def 100% | 0.0 B/s | 124.0 B | 00m00s [152/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [153/504] Installing rust-regex+perf-ba 100% | 0.0 B/s | 124.0 B | 00m00s [154/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [155/504] Installing rust-regex+perf-df 100% | 0.0 B/s | 124.0 B | 00m00s [156/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [157/504] Installing rust-regex+perf-on 100% | 0.0 B/s | 124.0 B | 00m00s [158/504] Installing rust-futures-chann 100% | 0.0 B/s | 124.0 B | 00m00s [159/504] Installing rust-futures-chann 100% | 0.0 B/s | 124.0 B | 00m00s [160/504] Installing rust-console+ansi- 100% | 0.0 B/s | 124.0 B | 00m00s [161/504] Installing rust-console+alloc 100% | 0.0 B/s | 124.0 B | 00m00s [162/504] Installing rust-console+std-d 100% | 0.0 B/s | 124.0 B | 00m00s [163/504] Installing rust-indicatif-dev 100% | 299.8 MiB/s | 306.9 KiB | 00m00s [164/504] Installing rust-indicatif+uni 100% | 0.0 B/s | 124.0 B | 00m00s [165/504] Installing rust-indicatif+def 100% | 0.0 B/s | 124.0 B | 00m00s [166/504] Installing rust-itertools0.12 100% | 211.3 MiB/s | 649.1 KiB | 00m00s [167/504] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [168/504] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [169/504] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [170/504] Installing rust-linux-raw-sys 100% | 0.0 B/s | 124.0 B | 00m00s [171/504] Installing rust-linux-raw-sys 100% | 121.1 KiB/s | 124.0 B | 00m00s [172/504] Installing rust-rustix0.38-de 100% | 171.6 MiB/s | 2.1 MiB | 00m00s [173/504] Installing rust-rustix0.38+fs 100% | 0.0 B/s | 124.0 B | 00m00s [174/504] Installing rust-rustix0.38+al 100% | 0.0 B/s | 124.0 B | 00m00s [175/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [176/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [177/504] Installing rust-regex+perf-li 100% | 0.0 B/s | 124.0 B | 00m00s [178/504] Installing rust-memchr+alloc- 100% | 0.0 B/s | 124.0 B | 00m00s [179/504] Installing rust-memchr+std-de 100% | 0.0 B/s | 124.0 B | 00m00s [180/504] Installing rust-aho-corasick+ 100% | 0.0 B/s | 124.0 B | 00m00s [181/504] Installing rust-nom7+std-deve 100% | 0.0 B/s | 124.0 B | 00m00s [182/504] Installing rust-nom7+default- 100% | 0.0 B/s | 124.0 B | 00m00s [183/504] Installing rust-cexpr-devel-0 100% | 64.2 MiB/s | 65.7 KiB | 00m00s [184/504] Installing rust-cexpr+default 100% | 0.0 B/s | 124.0 B | 00m00s [185/504] Installing rust-aho-corasick+ 100% | 0.0 B/s | 124.0 B | 00m00s [186/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [187/504] Installing rust-regex+std-dev 100% | 0.0 B/s | 124.0 B | 00m00s [188/504] Installing rust-memchr+defaul 100% | 0.0 B/s | 124.0 B | 00m00s [189/504] Installing rust-regex-automat 100% | 0.0 B/s | 124.0 B | 00m00s [190/504] Installing rust-regex+perf-in 100% | 0.0 B/s | 124.0 B | 00m00s [191/504] Installing rust-regex+perf-de 100% | 0.0 B/s | 124.0 B | 00m00s [192/504] Installing rust-env_filter+re 100% | 0.0 B/s | 124.0 B | 00m00s [193/504] Installing rust-env_logger+re 100% | 0.0 B/s | 124.0 B | 00m00s [194/504] Installing rust-regex+default 100% | 0.0 B/s | 124.0 B | 00m00s [195/504] Installing ncurses-c++-libs-0 100% | 75.6 MiB/s | 154.8 KiB | 00m00s [196/504] Installing ncurses-devel-0:6. 100% | 42.4 MiB/s | 1.0 MiB | 00m00s [197/504] Installing libedit-devel-0:3. 100% | 32.7 MiB/s | 67.0 KiB | 00m00s [198/504] Installing llvm-static-0:21.1 100% | 576.3 MiB/s | 377.5 MiB | 00m01s [199/504] Installing llvm-googletest-0: 100% | 188.1 MiB/s | 2.4 MiB | 00m00s [200/504] Installing llvm-devel-0:21.1. 100% | 248.0 MiB/s | 34.2 MiB | 00m00s [201/504] Installing emacs-filesystem-1 100% | 0.0 B/s | 544.0 B | 00m00s [202/504] Installing clang-resource-fil 100% | 16.3 MiB/s | 16.7 KiB | 00m00s [203/504] Installing clang-libs-0:21.1. 100% | 472.9 MiB/s | 114.9 MiB | 00m00s [204/504] Installing clang-0:21.1.4-1.f 100% | 601.2 MiB/s | 65.5 MiB | 00m00s [205/504] Installing clang-tools-extra- 100% | 416.9 MiB/s | 65.9 MiB | 00m00s [206/504] Installing clang-devel-0:21.1 100% | 368.4 MiB/s | 32.1 MiB | 00m00s [207/504] Installing oniguruma-0:6.9.10 100% | 373.6 MiB/s | 765.2 KiB | 00m00s [208/504] Installing oniguruma-devel-0: 100% | 22.0 MiB/s | 269.8 KiB | 00m00s [209/504] Installing rust-ident_case-de 100% | 0.0 B/s | 10.0 KiB | 00m00s [210/504] Installing rust-ident_case+de 100% | 0.0 B/s | 124.0 B | 00m00s [211/504] Installing rust-strsim-devel- 100% | 53.6 MiB/s | 54.8 KiB | 00m00s [212/504] Installing rust-strsim+defaul 100% | 0.0 B/s | 124.0 B | 00m00s [213/504] Installing rust-libc+extra_tr 100% | 0.0 B/s | 124.0 B | 00m00s [214/504] Installing rust-rustix0.38+li 100% | 0.0 B/s | 124.0 B | 00m00s [215/504] Installing rust-rustix0.38+st 100% | 0.0 B/s | 124.0 B | 00m00s [216/504] Installing rust-glob-devel-0: 100% | 83.3 MiB/s | 85.3 KiB | 00m00s [217/504] Installing rust-glob+default- 100% | 30.3 KiB/s | 124.0 B | 00m00s [218/504] Installing rust-clang-sys-dev 100% | 204.8 MiB/s | 209.7 KiB | 00m00s [219/504] Installing rust-clang-sys+def 100% | 0.0 B/s | 124.0 B | 00m00s [220/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [221/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [222/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [223/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [224/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [225/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [226/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [227/504] Installing rust-clang-sys+cla 100% | 0.0 B/s | 124.0 B | 00m00s [228/504] Installing rust-libloading-de 100% | 116.0 MiB/s | 118.8 KiB | 00m00s [229/504] Installing rust-libloading+de 100% | 0.0 B/s | 124.0 B | 00m00s [230/504] Installing rust-clang-sys+lib 100% | 0.0 B/s | 124.0 B | 00m00s [231/504] Installing rust-clang-sys+run 100% | 0.0 B/s | 124.0 B | 00m00s [232/504] Installing rust-home-devel-0: 100% | 0.0 B/s | 27.5 KiB | 00m00s [233/504] Installing rust-home+default- 100% | 0.0 B/s | 124.0 B | 00m00s [234/504] Installing rust-which4-devel- 100% | 59.0 MiB/s | 60.4 KiB | 00m00s [235/504] Installing rust-heck-devel-0: 100% | 43.7 MiB/s | 44.7 KiB | 00m00s [236/504] Installing rust-heck+default- 100% | 0.0 B/s | 124.0 B | 00m00s [237/504] Installing rust-lazycell-deve 100% | 0.0 B/s | 46.5 KiB | 00m00s [238/504] Installing rust-lazycell+defa 100% | 0.0 B/s | 124.0 B | 00m00s [239/504] Installing rust-lazy_static-d 100% | 37.3 MiB/s | 38.2 KiB | 00m00s [240/504] Installing rust-lazy_static+d 100% | 0.0 B/s | 124.0 B | 00m00s [241/504] Installing rust-unicode-ident 100% | 302.8 MiB/s | 310.0 KiB | 00m00s [242/504] Installing rust-unicode-ident 100% | 0.0 B/s | 124.0 B | 00m00s [243/504] Installing rust-proc-macro2-d 100% | 246.4 MiB/s | 252.3 KiB | 00m00s [244/504] Installing rust-syn-devel-0:2 100% | 356.6 MiB/s | 2.1 MiB | 00m00s [245/504] Installing rust-syn+full-deve 100% | 0.0 B/s | 124.0 B | 00m00s [246/504] Installing rust-quote-devel-0 100% | 125.2 MiB/s | 128.2 KiB | 00m00s [247/504] Installing rust-syn+extra-tra 100% | 0.0 B/s | 124.0 B | 00m00s [248/504] Installing rust-syn+parsing-d 100% | 0.0 B/s | 124.0 B | 00m00s [249/504] Installing rust-proc-macro2+p 100% | 0.0 B/s | 124.0 B | 00m00s [250/504] Installing rust-proc-macro2+d 100% | 0.0 B/s | 124.0 B | 00m00s [251/504] Installing rust-quote+proc-ma 100% | 0.0 B/s | 124.0 B | 00m00s [252/504] Installing rust-quote+default 100% | 0.0 B/s | 124.0 B | 00m00s [253/504] Installing rust-syn+proc-macr 100% | 0.0 B/s | 124.0 B | 00m00s [254/504] Installing rust-syn+printing- 100% | 0.0 B/s | 124.0 B | 00m00s [255/504] Installing rust-syn+clone-imp 100% | 0.0 B/s | 124.0 B | 00m00s [256/504] Installing rust-syn+derive-de 100% | 0.0 B/s | 124.0 B | 00m00s [257/504] Installing rust-syn+default-d 100% | 0.0 B/s | 124.0 B | 00m00s [258/504] Installing rust-darling_core- 100% | 156.0 MiB/s | 319.5 KiB | 00m00s [259/504] Installing rust-darling_core+ 100% | 0.0 B/s | 124.0 B | 00m00s [260/504] Installing rust-prettyplease- 100% | 199.1 MiB/s | 407.8 KiB | 00m00s [261/504] Installing rust-prettyplease+ 100% | 0.0 B/s | 124.0 B | 00m00s [262/504] Installing rust-prettyplease+ 100% | 0.0 B/s | 124.0 B | 00m00s [263/504] Installing rust-darling_macro 100% | 0.0 B/s | 4.7 KiB | 00m00s [264/504] Installing rust-darling_macro 100% | 0.0 B/s | 124.0 B | 00m00s [265/504] Installing rust-darling-devel 100% | 70.2 MiB/s | 143.8 KiB | 00m00s [266/504] Installing rust-darling_core+ 100% | 0.0 B/s | 124.0 B | 00m00s [267/504] Installing rust-darling_core+ 100% | 0.0 B/s | 124.0 B | 00m00s [268/504] Installing rust-darling+sugge 100% | 0.0 B/s | 124.0 B | 00m00s [269/504] Installing rust-darling+defau 100% | 0.0 B/s | 124.0 B | 00m00s [270/504] Installing rust-derive_builde 100% | 141.8 MiB/s | 145.2 KiB | 00m00s [271/504] Installing rust-derive_builde 100% | 0.0 B/s | 124.0 B | 00m00s [272/504] Installing rust-derive_builde 100% | 0.0 B/s | 124.0 B | 00m00s [273/504] Installing rust-derive_builde 100% | 0.0 B/s | 17.1 KiB | 00m00s [274/504] Installing rust-derive_builde 100% | 0.0 B/s | 124.0 B | 00m00s [275/504] Installing rust-derive_builde 100% | 0.0 B/s | 124.0 B | 00m00s [276/504] Installing rust-derive_builde 100% | 70.2 MiB/s | 143.7 KiB | 00m00s [277/504] Installing rust-derive_builde 100% | 0.0 B/s | 124.0 B | 00m00s [278/504] Installing rust-derive_builde 100% | 0.0 B/s | 124.0 B | 00m00s [279/504] Installing rust-tokio-macros- 100% | 0.0 B/s | 55.6 KiB | 00m00s [280/504] Installing rust-tokio-macros+ 100% | 0.0 B/s | 124.0 B | 00m00s [281/504] Installing rust-zerocopy-deri 100% | 183.0 MiB/s | 562.3 KiB | 00m00s [282/504] Installing rust-zerocopy-deri 100% | 121.1 KiB/s | 124.0 B | 00m00s [283/504] Installing rust-zerocopy-deve 100% | 148.1 MiB/s | 1.3 MiB | 00m00s [284/504] Installing rust-zerocopy+simd 100% | 0.0 B/s | 124.0 B | 00m00s [285/504] Installing rust-zerocopy+defa 100% | 0.0 B/s | 124.0 B | 00m00s [286/504] Installing rust-ppv-lite86-de 100% | 128.2 MiB/s | 131.3 KiB | 00m00s [287/504] Installing rust-ppv-lite86+st 100% | 0.0 B/s | 124.0 B | 00m00s [288/504] Installing rust-ppv-lite86+si 100% | 0.0 B/s | 124.0 B | 00m00s [289/504] Installing rust-rand_chacha-d 100% | 0.0 B/s | 55.2 KiB | 00m00s [290/504] Installing rust-rand+std_rng- 100% | 0.0 B/s | 124.0 B | 00m00s [291/504] Installing rust-thiserror-imp 100% | 92.3 MiB/s | 94.5 KiB | 00m00s [292/504] Installing rust-thiserror-imp 100% | 0.0 B/s | 124.0 B | 00m00s [293/504] Installing rust-thiserror-dev 100% | 59.1 MiB/s | 120.9 KiB | 00m00s [294/504] Installing rust-thiserror+std 100% | 0.0 B/s | 124.0 B | 00m00s [295/504] Installing rust-thiserror+def 100% | 0.0 B/s | 124.0 B | 00m00s [296/504] Installing rust-futures-macro 100% | 0.0 B/s | 39.2 KiB | 00m00s [297/504] Installing rust-serde_derive- 100% | 160.6 MiB/s | 329.0 KiB | 00m00s [298/504] Installing rust-serde_derive+ 100% | 0.0 B/s | 124.0 B | 00m00s [299/504] Installing rust-serde_core-de 100% | 375.7 MiB/s | 384.7 KiB | 00m00s [300/504] Installing rust-serde_core+st 100% | 0.0 B/s | 124.0 B | 00m00s [301/504] Installing rust-serde_core+al 100% | 0.0 B/s | 124.0 B | 00m00s [302/504] Installing rust-jiff+alloc-de 100% | 0.0 B/s | 124.0 B | 00m00s [303/504] Installing rust-jiff+std-deve 100% | 0.0 B/s | 124.0 B | 00m00s [304/504] Installing rust-env_logger+hu 100% | 0.0 B/s | 124.0 B | 00m00s [305/504] Installing rust-serde_core+rc 100% | 0.0 B/s | 124.0 B | 00m00s [306/504] Installing rust-serde_core+re 100% | 0.0 B/s | 124.0 B | 00m00s [307/504] Installing rust-serde-devel-0 100% | 269.1 MiB/s | 551.0 KiB | 00m00s [308/504] Installing rust-serde+alloc-d 100% | 0.0 B/s | 124.0 B | 00m00s [309/504] Installing rust-dary_heap+ser 100% | 0.0 B/s | 124.0 B | 00m00s [310/504] Installing rust-serde+std-dev 100% | 0.0 B/s | 124.0 B | 00m00s [311/504] Installing rust-serde+default 100% | 0.0 B/s | 124.0 B | 00m00s [312/504] Installing rust-serde+serde_d 100% | 0.0 B/s | 124.0 B | 00m00s [313/504] Installing rust-serde+derive- 100% | 0.0 B/s | 124.0 B | 00m00s [314/504] Installing rust-monostate-imp 100% | 0.0 B/s | 20.4 KiB | 00m00s [315/504] Installing rust-monostate-imp 100% | 0.0 B/s | 124.0 B | 00m00s [316/504] Installing rust-monostate-dev 100% | 89.4 MiB/s | 91.6 KiB | 00m00s [317/504] Installing rust-monostate+def 100% | 0.0 B/s | 124.0 B | 00m00s [318/504] Installing rust-syn+visit-mut 100% | 0.0 B/s | 124.0 B | 00m00s [319/504] Installing rust-bindgen0.69-d 100% | 329.9 MiB/s | 1.0 MiB | 00m00s [320/504] Installing rust-bindgen0.69+r 100% | 0.0 B/s | 124.0 B | 00m00s [321/504] Installing rust-bindgen0.69+l 100% | 0.0 B/s | 124.0 B | 00m00s [322/504] Installing rust-bindgen0.69+p 100% | 0.0 B/s | 124.0 B | 00m00s [323/504] Installing rust-bindgen0.69+w 100% | 0.0 B/s | 124.0 B | 00m00s [324/504] Installing rust-bindgen0.69+d 100% | 0.0 B/s | 124.0 B | 00m00s [325/504] Installing rust-pin-utils-dev 100% | 0.0 B/s | 20.2 KiB | 00m00s [326/504] Installing rust-pin-utils+def 100% | 0.0 B/s | 124.0 B | 00m00s [327/504] Installing rust-smallvec-deve 100% | 145.3 MiB/s | 148.8 KiB | 00m00s [328/504] Installing rust-smallvec+defa 100% | 0.0 B/s | 124.0 B | 00m00s [329/504] Installing rust-unicode-norma 100% | 467.7 MiB/s | 479.0 KiB | 00m00s [330/504] Installing rust-unicode-norma 100% | 0.0 B/s | 124.0 B | 00m00s [331/504] Installing rust-getrandom+std 100% | 0.0 B/s | 124.0 B | 00m00s [332/504] Installing rust-rand_core+std 100% | 0.0 B/s | 124.0 B | 00m00s [333/504] Installing rust-rand_chacha+s 100% | 0.0 B/s | 124.0 B | 00m00s [334/504] Installing rust-rand+std-deve 100% | 0.0 B/s | 124.0 B | 00m00s [335/504] Installing rust-rand+thread_r 100% | 0.0 B/s | 124.0 B | 00m00s [336/504] Installing rust-rand+default- 100% | 0.0 B/s | 124.0 B | 00m00s [337/504] Installing rust-macro_rules_a 100% | 0.0 B/s | 24.2 KiB | 00m00s [338/504] Installing rust-macro_rules_a 100% | 0.0 B/s | 124.0 B | 00m00s [339/504] Installing rust-static_assert 100% | 0.0 B/s | 65.5 KiB | 00m00s [340/504] Installing rust-static_assert 100% | 0.0 B/s | 124.0 B | 00m00s [341/504] Installing rust-rustversion-d 100% | 66.5 MiB/s | 68.1 KiB | 00m00s [342/504] Installing rust-rustversion+d 100% | 0.0 B/s | 124.0 B | 00m00s [343/504] Installing rust-castaway-deve 100% | 0.0 B/s | 40.8 KiB | 00m00s [344/504] Installing rust-castaway+allo 100% | 0.0 B/s | 124.0 B | 00m00s [345/504] Installing rust-indoc-devel-0 100% | 53.9 MiB/s | 55.2 KiB | 00m00s [346/504] Installing rust-indoc+default 100% | 0.0 B/s | 124.0 B | 00m00s [347/504] Installing rust-pkg-config-de 100% | 73.7 MiB/s | 75.5 KiB | 00m00s [348/504] Installing rust-pkg-config+de 100% | 0.0 B/s | 124.0 B | 00m00s [349/504] Installing rust-onig_sys-deve 100% | 0.0 B/s | 53.7 KiB | 00m00s [350/504] Installing rust-onig-devel-0: 100% | 124.2 MiB/s | 127.2 KiB | 00m00s [351/504] Installing rust-target-lexico 100% | 117.2 MiB/s | 120.0 KiB | 00m00s [352/504] Installing rust-target-lexico 100% | 0.0 B/s | 124.0 B | 00m00s [353/504] Installing rust-pyo3-build-co 100% | 142.5 MiB/s | 145.9 KiB | 00m00s [354/504] Installing rust-pyo3-build-co 100% | 0.0 B/s | 124.0 B | 00m00s [355/504] Installing rust-pyo3-build-co 100% | 0.0 B/s | 124.0 B | 00m00s [356/504] Installing rust-pyo3-ffi0.25- 100% | 131.4 MiB/s | 403.6 KiB | 00m00s [357/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [358/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [359/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [360/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [361/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [362/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [363/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [364/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [365/504] Installing rust-pyo3-ffi0.25+ 100% | 0.0 B/s | 124.0 B | 00m00s [366/504] Installing rust-pyo3-macros-b 100% | 373.2 MiB/s | 382.2 KiB | 00m00s [367/504] Installing rust-pyo3-macros-b 100% | 0.0 B/s | 124.0 B | 00m00s [368/504] Installing rust-pyo3-macros0. 100% | 0.0 B/s | 24.4 KiB | 00m00s [369/504] Installing rust-pyo3-macros0. 100% | 0.0 B/s | 124.0 B | 00m00s [370/504] Installing rust-bitflags1-dev 100% | 97.6 MiB/s | 99.9 KiB | 00m00s [371/504] Installing rust-unindent-deve 100% | 0.0 B/s | 20.6 KiB | 00m00s [372/504] Installing rust-unindent+defa 100% | 0.0 B/s | 124.0 B | 00m00s [373/504] Installing rust-autocfg-devel 100% | 62.1 MiB/s | 63.6 KiB | 00m00s [374/504] Installing rust-autocfg+defau 100% | 0.0 B/s | 124.0 B | 00m00s [375/504] Installing rust-num-traits-de 100% | 265.6 MiB/s | 272.0 KiB | 00m00s [376/504] Installing rust-num-traits+st 100% | 0.0 B/s | 124.0 B | 00m00s [377/504] Installing rust-num-traits+i1 100% | 0.0 B/s | 124.0 B | 00m00s [378/504] Installing rust-num-complex-d 100% | 136.8 MiB/s | 140.1 KiB | 00m00s [379/504] Installing rust-num-integer-d 100% | 107.2 MiB/s | 109.7 KiB | 00m00s [380/504] Installing rust-num-integer+s 100% | 0.0 B/s | 124.0 B | 00m00s [381/504] Installing rust-num-integer+d 100% | 0.0 B/s | 124.0 B | 00m00s [382/504] Installing rust-num-complex+s 100% | 0.0 B/s | 124.0 B | 00m00s [383/504] Installing rust-num-complex+d 100% | 0.0 B/s | 124.0 B | 00m00s [384/504] Installing rust-num-traits+de 100% | 0.0 B/s | 124.0 B | 00m00s [385/504] Installing rust-memoffset-dev 100% | 0.0 B/s | 37.8 KiB | 00m00s [386/504] Installing rust-memoffset+def 100% | 121.1 KiB/s | 124.0 B | 00m00s [387/504] Installing rust-pyo3_0.25-dev 100% | 306.0 MiB/s | 3.4 MiB | 00m00s [388/504] Installing rust-pyo3_0.25+abi 100% | 0.0 B/s | 124.0 B | 00m00s [389/504] Installing rust-pyo3_0.25+abi 100% | 0.0 B/s | 124.0 B | 00m00s [390/504] Installing rust-pyo3_0.25+abi 100% | 0.0 B/s | 124.0 B | 00m00s [391/504] Installing rust-pyo3_0.25+abi 100% | 0.0 B/s | 124.0 B | 00m00s [392/504] Installing rust-pyo3_0.25+abi 100% | 0.0 B/s | 124.0 B | 00m00s [393/504] Installing rust-pyo3_0.25+abi 100% | 0.0 B/s | 124.0 B | 00m00s [394/504] Installing rust-pyo3_0.25+ind 100% | 0.0 B/s | 124.0 B | 00m00s [395/504] Installing rust-pyo3_0.25+pyo 100% | 0.0 B/s | 124.0 B | 00m00s [396/504] Installing rust-pyo3_0.25+uni 100% | 0.0 B/s | 124.0 B | 00m00s [397/504] Installing rust-pyo3_0.25+mac 100% | 0.0 B/s | 124.0 B | 00m00s [398/504] Installing rust-pyo3_0.25+def 100% | 0.0 B/s | 124.0 B | 00m00s [399/504] Installing rust-utf8parse-dev 100% | 0.0 B/s | 35.2 KiB | 00m00s [400/504] Installing rust-utf8parse+def 100% | 0.0 B/s | 124.0 B | 00m00s [401/504] Installing rust-anstyle-parse 100% | 0.0 B/s | 124.0 B | 00m00s [402/504] Installing rust-anstyle-parse 100% | 0.0 B/s | 124.0 B | 00m00s [403/504] Installing rust-colorchoice-d 100% | 0.0 B/s | 21.8 KiB | 00m00s [404/504] Installing rust-colorchoice+d 100% | 0.0 B/s | 124.0 B | 00m00s [405/504] Installing rust-anstream-deve 100% | 99.6 MiB/s | 102.0 KiB | 00m00s [406/504] Installing rust-anstream+winc 100% | 0.0 B/s | 124.0 B | 00m00s [407/504] Installing rust-env_logger+co 100% | 0.0 B/s | 124.0 B | 00m00s [408/504] Installing rust-anstyle-query 100% | 0.0 B/s | 26.7 KiB | 00m00s [409/504] Installing rust-anstyle-query 100% | 0.0 B/s | 124.0 B | 00m00s [410/504] Installing rust-anstream+auto 100% | 0.0 B/s | 124.0 B | 00m00s [411/504] Installing rust-env_logger+au 100% | 0.0 B/s | 124.0 B | 00m00s [412/504] Installing rust-unicode_categ 100% | 388.9 MiB/s | 398.2 KiB | 00m00s [413/504] Installing rust-unicode_categ 100% | 0.0 B/s | 124.0 B | 00m00s [414/504] Installing rust-unicode-segme 100% | 299.8 MiB/s | 614.0 KiB | 00m00s [415/504] Installing rust-unicode-segme 100% | 0.0 B/s | 124.0 B | 00m00s [416/504] Installing rust-spm_precompil 100% | 0.0 B/s | 22.1 KiB | 00m00s [417/504] Installing rust-spm_precompil 100% | 0.0 B/s | 124.0 B | 00m00s [418/504] Installing rust-paste-devel-0 100% | 71.4 MiB/s | 73.1 KiB | 00m00s [419/504] Installing rust-paste+default 100% | 0.0 B/s | 124.0 B | 00m00s [420/504] Installing rust-macro_rules_a 100% | 0.0 B/s | 43.9 KiB | 00m00s [421/504] Installing rust-macro_rules_a 100% | 0.0 B/s | 124.0 B | 00m00s [422/504] Installing rust-signal-hook-r 100% | 0.0 B/s | 58.3 KiB | 00m00s [423/504] Installing rust-signal-hook-r 100% | 0.0 B/s | 124.0 B | 00m00s [424/504] Installing rust-ryu-devel-0:1 100% | 156.4 MiB/s | 160.2 KiB | 00m00s [425/504] Installing rust-ryu+default-d 100% | 0.0 B/s | 124.0 B | 00m00s [426/504] Installing rust-itoa-devel-0: 100% | 0.0 B/s | 31.1 KiB | 00m00s [427/504] Installing rust-itoa+default- 100% | 0.0 B/s | 124.0 B | 00m00s [428/504] Installing rust-compact_str-d 100% | 161.9 MiB/s | 331.6 KiB | 00m00s [429/504] Installing rust-serde_json-de 100% | 236.0 MiB/s | 725.0 KiB | 00m00s [430/504] Installing rust-serde_json+st 100% | 0.0 B/s | 124.0 B | 00m00s [431/504] Installing rust-serde_json+de 100% | 0.0 B/s | 124.0 B | 00m00s [432/504] Installing rust-compact_str+s 100% | 0.0 B/s | 124.0 B | 00m00s [433/504] Installing rust-compact_str+s 100% | 0.0 B/s | 124.0 B | 00m00s [434/504] Installing rust-compact_str+d 100% | 0.0 B/s | 124.0 B | 00m00s [435/504] Installing rust-pin-project-l 100% | 120.4 MiB/s | 246.5 KiB | 00m00s [436/504] Installing rust-pin-project-l 100% | 0.0 B/s | 124.0 B | 00m00s [437/504] Installing rust-futures-util- 100% | 139.3 MiB/s | 855.7 KiB | 00m00s [438/504] Installing rust-tokio-devel-0 100% | 246.5 MiB/s | 4.2 MiB | 00m00s [439/504] Installing rust-tokio+rt-deve 100% | 0.0 B/s | 124.0 B | 00m00s [440/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [441/504] Installing rust-futures-execu 100% | 64.4 MiB/s | 65.9 KiB | 00m00s [442/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [443/504] Installing rust-tokio+rt-mult 100% | 0.0 B/s | 124.0 B | 00m00s [444/504] Installing rust-tokio+default 100% | 0.0 B/s | 124.0 B | 00m00s [445/504] Installing rust-tokio+tokio-m 100% | 0.0 B/s | 124.0 B | 00m00s [446/504] Installing rust-tokio+libc-de 100% | 0.0 B/s | 124.0 B | 00m00s [447/504] Installing rust-tokio+signal- 100% | 0.0 B/s | 124.0 B | 00m00s [448/504] Installing rust-tokio+time-de 100% | 0.0 B/s | 124.0 B | 00m00s [449/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [450/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [451/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [452/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [453/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [454/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [455/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [456/504] Installing rust-futures-execu 100% | 0.0 B/s | 124.0 B | 00m00s [457/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [458/504] Installing rust-futures-util+ 100% | 60.5 KiB/s | 124.0 B | 00m00s [459/504] Installing rust-futures-util+ 100% | 0.0 B/s | 124.0 B | 00m00s [460/504] Installing rust-futures-util+ 100% | 121.1 KiB/s | 124.0 B | 00m00s [461/504] Installing rust-futures-devel 100% | 158.1 MiB/s | 323.8 KiB | 00m00s [462/504] Installing rust-futures+async 100% | 0.0 B/s | 124.0 B | 00m00s [463/504] Installing rust-futures+alloc 100% | 0.0 B/s | 124.0 B | 00m00s [464/504] Installing rust-futures+std-d 100% | 0.0 B/s | 124.0 B | 00m00s [465/504] Installing rust-futures+execu 100% | 0.0 B/s | 124.0 B | 00m00s [466/504] Installing rust-futures+defau 100% | 0.0 B/s | 124.0 B | 00m00s [467/504] Installing rust-pyo3-async-ru 100% | 224.8 MiB/s | 230.2 KiB | 00m00s [468/504] Installing rust-pyo3-async-ru 100% | 0.0 B/s | 124.0 B | 00m00s [469/504] Installing rust-rawpointer-de 100% | 0.0 B/s | 21.1 KiB | 00m00s [470/504] Installing rust-rawpointer+de 100% | 0.0 B/s | 124.0 B | 00m00s [471/504] Installing rust-matrixmultipl 100% | 114.0 MiB/s | 233.5 KiB | 00m00s [472/504] Installing rust-matrixmultipl 100% | 0.0 B/s | 124.0 B | 00m00s [473/504] Installing rust-matrixmultipl 100% | 0.0 B/s | 124.0 B | 00m00s [474/504] Installing rust-ndarray-devel 100% | 257.0 MiB/s | 1.3 MiB | 00m00s [475/504] Installing rust-ndarray+std-d 100% | 0.0 B/s | 124.0 B | 00m00s [476/504] Installing rust-ndarray+defau 100% | 0.0 B/s | 124.0 B | 00m00s [477/504] Installing rust-numpy-devel-0 100% | 176.5 MiB/s | 361.5 KiB | 00m00s [478/504] Installing rust-version_check 100% | 0.0 B/s | 59.2 KiB | 00m00s [479/504] Installing rust-version_check 100% | 0.0 B/s | 124.0 B | 00m00s [480/504] Installing rust-ahash-devel-0 100% | 167.8 MiB/s | 171.9 KiB | 00m00s [481/504] Installing rust-ahash+serde-d 100% | 0.0 B/s | 124.0 B | 00m00s [482/504] Installing rust-ahash+std-dev 100% | 0.0 B/s | 124.0 B | 00m00s [483/504] Installing rust-ahash+getrand 100% | 0.0 B/s | 124.0 B | 00m00s [484/504] Installing rust-ahash+runtime 100% | 0.0 B/s | 124.0 B | 00m00s [485/504] Installing rust-ahash+default 100% | 0.0 B/s | 124.0 B | 00m00s [486/504] Installing rust-tokenizers-de 100% | 216.1 MiB/s | 885.3 KiB | 00m00s [487/504] Installing rust-tokenizers+es 100% | 0.0 B/s | 124.0 B | 00m00s [488/504] Installing rust-tokenizers+on 100% | 0.0 B/s | 124.0 B | 00m00s [489/504] Installing rust-tokenizers+in 100% | 0.0 B/s | 124.0 B | 00m00s [490/504] Installing rust-tokenizers+pr 100% | 0.0 B/s | 124.0 B | 00m00s [491/504] Installing rust-tokenizers+de 100% | 0.0 B/s | 124.0 B | 00m00s [492/504] Installing rust-numpy+default 100% | 0.0 B/s | 124.0 B | 00m00s [493/504] Installing rust-pyo3-async-ru 100% | 0.0 B/s | 124.0 B | 00m00s [494/504] Installing rust-pyo3-async-ru 100% | 0.0 B/s | 124.0 B | 00m00s [495/504] Installing rust-tokio+signal- 100% | 0.0 B/s | 124.0 B | 00m00s [496/504] Installing rust-tokio+macros- 100% | 0.0 B/s | 124.0 B | 00m00s [497/504] Installing rust-env_logger+de 100% | 0.0 B/s | 124.0 B | 00m00s [498/504] Installing rust-pyo3_0.25+abi 100% | 0.0 B/s | 124.0 B | 00m00s [499/504] Installing rust-pyo3_0.25+ext 100% | 0.0 B/s | 124.0 B | 00m00s [500/504] Installing rust-pyo3_0.25+py- 100% | 0.0 B/s | 124.0 B | 00m00s [501/504] Installing rust-bitflags1+def 100% | 0.0 B/s | 124.0 B | 00m00s [502/504] Installing rust-serde+rc-deve 100% | 40.4 KiB/s | 124.0 B | 00m00s [503/504] Installing python3-pip-0:25.2 100% | 192.1 MiB/s | 11.5 MiB | 00m00s [504/504] Installing maturin-0:1.9.6-1. 100% | 113.6 MiB/s | 12.6 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1762646400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.CgyOF1 + umask 022 + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + cd tokenizers-0.22.1 + cd bindings/python/ + /usr/bin/cargo2rpm --path Cargo.toml buildrequires + cd ../../ + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=44 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir --output /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-buildrequires Handling maturin>=1.0,<2.0 from build-system.requires Requirement satisfied: maturin>=1.0,<2.0 (installed: maturin 1.9.6) Locking 143 packages to latest compatible versions 📦 Including license file `LICENSE` 🍹 Building a mixed python/rust project 🔗 Found pyo3 bindings with abi3 support 🐍 Not using a specific python interpreter 📡 Using build options features, bindings from pyproject.toml tokenizers-0.22.1.dist-info Checking for Rust toolchain.... Running `maturin pep517 write-dist-info --metadata-directory . --interpreter /usr/bin/python3` Handling huggingface-hub>=0.16.4,<2.0 from hook generated metadata: Requires-Dist (tokenizers) Requirement satisfied: huggingface-hub>=0.16.4,<2.0 (installed: huggingface-hub 0.30.2) Handling pytest ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: pytest ; extra == 'testing' Handling pytest-asyncio ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: pytest-asyncio ; extra == 'testing' Handling requests ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: requests ; extra == 'testing' Handling numpy ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: numpy ; extra == 'testing' Handling datasets ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: datasets ; extra == 'testing' Handling black==22.3 ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: black==22.3 ; extra == 'testing' Handling ruff ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: ruff ; extra == 'testing' Handling sphinx ; extra == 'docs' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: sphinx ; extra == 'docs' Handling sphinx-rtd-theme ; extra == 'docs' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: sphinx-rtd-theme ; extra == 'docs' Handling setuptools-rust ; extra == 'docs' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: setuptools-rust ; extra == 'docs' Handling tokenizers[testing] ; extra == 'dev' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: tokenizers[testing] ; extra == 'dev' + cat /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-buildrequires + rm -rfv tokenizers-0.22.1.dist-info/ removed 'tokenizers-0.22.1.dist-info/licenses/LICENSE' removed directory 'tokenizers-0.22.1.dist-info/licenses' removed 'tokenizers-0.22.1.dist-info/WHEEL' removed 'tokenizers-0.22.1.dist-info/METADATA' removed directory 'tokenizers-0.22.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-tokenizers-0.22.1-1.fc44.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 137.2 KiB/s | 1.5 KiB | 00m00s fedora 100% | 340.6 KiB/s | 28.3 KiB | 00m00s Repositories loaded. Nothing to do. Package "cargo-rpm-macros-26.4-1.fc44.noarch" is already installed. Package "rust-tempfile+default-devel-3.23.0-1.fc44.noarch" is already installed. Package "rust-tokenizers+default-devel-0.22.1-2.fc44.noarch" is already installed. Package "pyproject-rpm-macros-1.18.5-1.fc44.noarch" is already installed. Package "python3-devel-3.14.0-2.fc44.x86_64" is already installed. Package "python3-datasets-4.4.0-1.fc44.noarch" is already installed. Package "python3-numpy-1:2.3.4-1.fc44.x86_64" is already installed. Package "python3-packaging-25.0-7.fc44.noarch" is already installed. Package "python3-pip-25.2-4.fc44.noarch" is already installed. Package "python3-pytest-8.3.5-10.fc44.noarch" is already installed. Package "python3-pytest-asyncio-1.1.0-2.fc44.noarch" is already installed. Package "python3-pytest-datadir-1.8.0-3.fc44.noarch" is already installed. Package "python3-pytest-xdist-3.7.0-5.fc44.noarch" is already installed. Package "tomcli-0.10.1-3.fc44.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1762646400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Un0N1Q + umask 022 + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + cd tokenizers-0.22.1 + cd bindings/python/ + /usr/bin/cargo2rpm --path Cargo.toml buildrequires + cd ../../ + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=44 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir --output /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-buildrequires Handling maturin>=1.0,<2.0 from build-system.requires Requirement satisfied: maturin>=1.0,<2.0 (installed: maturin 1.9.6) 📦 Including license file `LICENSE` 🍹 Building a mixed python/rust project 🔗 Found pyo3 bindings with abi3 support 🐍 Not using a specific python interpreter 📡 Using build options features, bindings from pyproject.toml tokenizers-0.22.1.dist-info Checking for Rust toolchain.... Running `maturin pep517 write-dist-info --metadata-directory . --interpreter /usr/bin/python3` Handling huggingface-hub>=0.16.4,<2.0 from hook generated metadata: Requires-Dist (tokenizers) Requirement satisfied: huggingface-hub>=0.16.4,<2.0 (installed: huggingface-hub 0.30.2) Handling pytest ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: pytest ; extra == 'testing' Handling pytest-asyncio ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: pytest-asyncio ; extra == 'testing' Handling requests ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: requests ; extra == 'testing' Handling numpy ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: numpy ; extra == 'testing' Handling datasets ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: datasets ; extra == 'testing' Handling black==22.3 ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: black==22.3 ; extra == 'testing' Handling ruff ; extra == 'testing' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: ruff ; extra == 'testing' Handling sphinx ; extra == 'docs' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: sphinx ; extra == 'docs' Handling sphinx-rtd-theme ; extra == 'docs' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: sphinx-rtd-theme ; extra == 'docs' Handling setuptools-rust ; extra == 'docs' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: setuptools-rust ; extra == 'docs' Handling tokenizers[testing] ; extra == 'dev' from hook generated metadata: Requires-Dist (tokenizers) Ignoring alien requirement: tokenizers[testing] ; extra == 'dev' + cat /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-buildrequires + rm -rfv tokenizers-0.22.1.dist-info/ removed 'tokenizers-0.22.1.dist-info/licenses/LICENSE' removed directory 'tokenizers-0.22.1.dist-info/licenses' removed 'tokenizers-0.22.1.dist-info/WHEEL' removed 'tokenizers-0.22.1.dist-info/METADATA' removed directory 'tokenizers-0.22.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.NnlPTn + umask 022 + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd tokenizers-0.22.1 + cd bindings/python/ + set -euo pipefail + /usr/bin/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 'RUSTFLAGS=-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' /usr/bin/cargo tree -Z avoid-dev-deps --workspace --offline --edges no-build,no-dev,no-proc-macro --no-dedupe --target all --prefix none --format '# {l}' + sed -e 's: / :/:g' -e 's:/: OR :g' + sort -u # # (MIT OR Apache-2.0) AND Unicode-DFS-2016 # Apache-2.0 # Apache-2.0 AND MIT # Apache-2.0 OR BSL-1.0 # Apache-2.0 OR MIT # Apache-2.0 OR MIT OR Zlib # BSD-2-Clause # BSD-2-Clause OR Apache-2.0 OR MIT # MIT # MIT OR Apache-2.0 # Unlicense OR MIT + set -euo pipefail + /usr/bin/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 'RUSTFLAGS=-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' /usr/bin/cargo tree -Z avoid-dev-deps --workspace --offline --edges no-build,no-dev,no-proc-macro --no-dedupe --target all --prefix none --format '{l}: {p}' + sort -u ++ pwd + sed -e 's: (/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python[^)]*)::g' -e 's: / :/:g' -e 's:/: OR :g' + cd ../../ + mkdir -p /builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir Processing /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) 📦 Including license file `LICENSE` 🍹 Building a mixed python/rust project 🔗 Found pyo3 bindings with abi3 support 🐍 Not using a specific python interpreter 📡 Using build options features, bindings from pyproject.toml tokenizers-0.22.1.dist-info Checking for Rust toolchain.... Running `maturin pep517 write-dist-info --metadata-directory /builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir/pip-modern-metadata-n0tgpnuv --interpreter /usr/bin/python3` Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: tokenizers Building wheel for tokenizers (pyproject.toml): started Running command Building wheel for tokenizers (pyproject.toml) Running `maturin pep517 build-wheel -i /usr/bin/python3 --compatibility off` 📦 Including license file `LICENSE` 🍹 Building a mixed python/rust project 🔗 Found pyo3 bindings with abi3 support 🐍 Not using a specific python interpreter 📡 Using build options features, bindings from pyproject.toml Compiling proc-macro2 v1.0.103 Compiling unicode-ident v1.0.22 Compiling quote v1.0.41 Compiling target-lexicon v0.13.3 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/proc-macro2-1.0.103/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "proc-macro", "span-locations"))' -C metadata=deaeb589c26422d2 -C extra-filename=-038bc2eac7fd94c4 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/proc-macro2-038bc2eac7fd94c4 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name unicode_ident --edition=2018 /usr/share/cargo/registry/unicode-ident-1.0.22/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=db6a90e0bf32b92d -C extra-filename=-cd9fb4baf08d17e2 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/quote-1.0.41/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "proc-macro"))' -C metadata=99f6ce19c013bac8 -C extra-filename=-d278a78ec3f82dca --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/quote-d278a78ec3f82dca -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/target-lexicon-0.13.3/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arch_z80", "arch_zkasm", "default", "serde", "serde_support", "std"))' -C metadata=9642af8647adf6e4 -C extra-filename=-4ca254aefe0da13e --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/target-lexicon-4ca254aefe0da13e -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling libc v0.2.177 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/libc-0.2.177/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no '--allow=clippy::used_underscore_binding' --allow=unused_qualifications '--warn=clippy::unnecessary_semicolon' '--allow=clippy::unnecessary_cast' '--allow=clippy::uninlined_format_args' '--warn=clippy::ptr_as_ptr' '--allow=clippy::non_minimal_cfg' '--allow=clippy::missing_safety_doc' '--warn=clippy::map_unwrap_or' '--warn=clippy::manual_assert' '--allow=clippy::identity_op' '--warn=clippy::explicit_iter_loop' '--allow=clippy::expl_impl_clone_on_copy' -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=bc55a1505fb4bf27 -C extra-filename=-4c5ceb96ce814f7b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/libc-4c5ceb96ce814f7b -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/quote-d278a78ec3f82dca/build-script-build` Compiling autocfg v1.5.0 Running `/usr/bin/rustc --crate-name autocfg --edition=2015 /usr/share/cargo/registry/autocfg-1.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=fe9b041950c24d12 -C extra-filename=-cd4f347acc7caae6 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/proc-macro2-038bc2eac7fd94c4/build-script-build` Running `/usr/bin/rustc --crate-name proc_macro2 --edition=2021 /usr/share/cargo/registry/proc-macro2-1.0.103/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "proc-macro", "span-locations"))' -C metadata=12dd80d1919becf8 -C extra-filename=-d6f34fdf245e6471 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern unicode_ident=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_ident-cd9fb4baf08d17e2.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg wrap_proc_macro --cfg proc_macro_span_location --cfg proc_macro_span_file --check-cfg 'cfg(fuzzing)' --check-cfg 'cfg(no_is_available)' --check-cfg 'cfg(no_literal_byte_character)' --check-cfg 'cfg(no_literal_c_string)' --check-cfg 'cfg(no_source_text)' --check-cfg 'cfg(proc_macro_span)' --check-cfg 'cfg(proc_macro_span_file)' --check-cfg 'cfg(proc_macro_span_location)' --check-cfg 'cfg(procmacro2_backtrace)' --check-cfg 'cfg(procmacro2_build_probe)' --check-cfg 'cfg(procmacro2_nightly_testing)' --check-cfg 'cfg(procmacro2_semver_exempt)' --check-cfg 'cfg(randomize_layout)' --check-cfg 'cfg(span_locations)' --check-cfg 'cfg(super_unstable)' --check-cfg 'cfg(wrap_proc_macro)'` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/libc-4c5ceb96ce814f7b/build-script-build` Running `/usr/bin/rustc --crate-name libc --edition=2021 /usr/share/cargo/registry/libc-0.2.177/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no '--allow=clippy::used_underscore_binding' --allow=unused_qualifications '--warn=clippy::unnecessary_semicolon' '--allow=clippy::unnecessary_cast' '--allow=clippy::uninlined_format_args' '--warn=clippy::ptr_as_ptr' '--allow=clippy::non_minimal_cfg' '--allow=clippy::missing_safety_doc' '--warn=clippy::map_unwrap_or' '--warn=clippy::manual_assert' '--allow=clippy::identity_op' '--warn=clippy::explicit_iter_loop' '--allow=clippy::expl_impl_clone_on_copy' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=095c5c51c9b442ee -C extra-filename=-fa21727a8b1a7687 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg freebsd12 --check-cfg 'cfg(emscripten_old_stat_abi)' --check-cfg 'cfg(espidf_time32)' --check-cfg 'cfg(freebsd10)' --check-cfg 'cfg(freebsd11)' --check-cfg 'cfg(freebsd12)' --check-cfg 'cfg(freebsd13)' --check-cfg 'cfg(freebsd14)' --check-cfg 'cfg(freebsd15)' --check-cfg 'cfg(gnu_file_offset_bits64)' --check-cfg 'cfg(gnu_time_bits64)' --check-cfg 'cfg(libc_deny_warnings)' --check-cfg 'cfg(libc_thread_local)' --check-cfg 'cfg(linux_time_bits64)' --check-cfg 'cfg(musl_v1_2_3)' --check-cfg 'cfg(target_os,values("switch","aix","ohos","hurd","rtems","visionos","nuttx","cygwin"))' --check-cfg 'cfg(target_env,values("illumos","wasi","aix","ohos","nto71_iosock","nto80"))' --check-cfg 'cfg(target_arch,values("loongarch64","mips32r6","mips64r6","csky"))'` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/target-lexicon-4ca254aefe0da13e/build-script-build` Running `/usr/bin/rustc --crate-name target_lexicon --edition=2018 /usr/share/cargo/registry/target-lexicon-0.13.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arch_z80", "arch_zkasm", "default", "serde", "serde_support", "std"))' -C metadata=f38133ab05c76037 -C extra-filename=-c143700b12384cd9 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg 'feature="rust_1_40"'` Running `/usr/bin/rustc --crate-name quote --edition=2018 /usr/share/cargo/registry/quote-1.0.41/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "proc-macro"))' -C metadata=53a02c5cc30bc226 -C extra-filename=-78e21cf42a1b34d7 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(no_diagnostic_namespace)'` Compiling pyo3-build-config v0.25.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/pyo3-build-config-0.25.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="abi3"' --cfg 'feature="abi3-py310"' --cfg 'feature="abi3-py311"' --cfg 'feature="abi3-py312"' --cfg 'feature="abi3-py313"' --cfg 'feature="abi3-py314"' --cfg 'feature="abi3-py39"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="resolve-config"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("abi3", "abi3-py310", "abi3-py311", "abi3-py312", "abi3-py313", "abi3-py314", "abi3-py37", "abi3-py38", "abi3-py39", "default", "extension-module", "python3-dll-a", "resolve-config"))' -C metadata=3bb08251308570e7 -C extra-filename=-94b78a39fcbc6d31 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-build-config-94b78a39fcbc6d31 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern target_lexicon=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libtarget_lexicon-c143700b12384cd9.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling syn v2.0.108 Running `/usr/bin/rustc --crate-name syn --edition=2021 /usr/share/cargo/registry/syn-2.0.108/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="visit-mut"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("clone-impls", "default", "derive", "extra-traits", "fold", "full", "parsing", "printing", "proc-macro", "test", "visit", "visit-mut"))' -C metadata=3ea14f6599c301e9 -C extra-filename=-99cb0c097afc2d19 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rmeta --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rmeta --extern unicode_ident=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_ident-cd9fb4baf08d17e2.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling once_cell v1.21.3 Running `/usr/bin/rustc --crate-name once_cell --edition=2021 /usr/share/cargo/registry/once_cell-1.21.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="race"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "atomic-polyfill", "critical-section", "default", "parking_lot", "portable-atomic", "race", "std", "unstable"))' -C metadata=812d115bce83df14 -C extra-filename=-a3d2740724743399 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling memchr v2.7.6 Running `/usr/bin/rustc --crate-name memchr --edition=2021 /usr/share/cargo/registry/memchr-2.7.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "core", "default", "libc", "logging", "rustc-dep-of-std", "std", "use_std"))' -C metadata=21971f94ac24e8c6 -C extra-filename=-527216bec0cb1b7e --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling shlex v1.3.0 Running `/usr/bin/rustc --crate-name shlex --edition=2015 /usr/share/cargo/registry/shlex-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=670de8a0ff53610f -C extra-filename=-31f499f01883b43b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling glob v0.3.3 Running `/usr/bin/rustc --crate-name glob --edition=2015 /usr/share/cargo/registry/glob-0.3.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=9d9a1b07dac7c5c3 -C extra-filename=-301f3537e857e762 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling serde_core v1.0.228 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/serde_core-1.0.228/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="rc"' --cfg 'feature="result"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "rc", "result", "std", "unstable"))' -C metadata=835e59c982024b99 -C extra-filename=-8be73363d020f571 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/serde_core-8be73363d020f571 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-build-config-94b78a39fcbc6d31/build-script-build` Running `/usr/bin/rustc --crate-name pyo3_build_config --edition=2021 /usr/share/cargo/registry/pyo3-build-config-0.25.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="abi3"' --cfg 'feature="abi3-py310"' --cfg 'feature="abi3-py311"' --cfg 'feature="abi3-py312"' --cfg 'feature="abi3-py313"' --cfg 'feature="abi3-py314"' --cfg 'feature="abi3-py39"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="resolve-config"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("abi3", "abi3-py310", "abi3-py311", "abi3-py312", "abi3-py313", "abi3-py314", "abi3-py37", "abi3-py38", "abi3-py39", "default", "extension-module", "python3-dll-a", "resolve-config"))' -C metadata=5cdeb26265ccaa3f -C extra-filename=-34be3631c8777201 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern once_cell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonce_cell-a3d2740724743399.rmeta --extern target_lexicon=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libtarget_lexicon-c143700b12384cd9.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/serde_core-8be73363d020f571/build-script-build` Compiling prettyplease v0.2.37 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/prettyplease-0.2.37/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="verbatim"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("verbatim"))' -C metadata=1aed66ab35957050 -C extra-filename=-511fe2b071476d6f --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/prettyplease-511fe2b071476d6f -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling clang-sys v1.8.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/clang-sys-1.8.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clang_3_5"' --cfg 'feature="clang_3_6"' --cfg 'feature="clang_3_7"' --cfg 'feature="clang_3_8"' --cfg 'feature="clang_3_9"' --cfg 'feature="clang_4_0"' --cfg 'feature="clang_5_0"' --cfg 'feature="clang_6_0"' --cfg 'feature="libloading"' --cfg 'feature="runtime"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("clang_10_0", "clang_11_0", "clang_12_0", "clang_13_0", "clang_14_0", "clang_15_0", "clang_16_0", "clang_17_0", "clang_18_0", "clang_3_5", "clang_3_6", "clang_3_7", "clang_3_8", "clang_3_9", "clang_4_0", "clang_5_0", "clang_6_0", "clang_7_0", "clang_8_0", "clang_9_0", "libcpp", "libloading", "runtime", "static"))' -C metadata=0601f19f8af3703f -C extra-filename=-01d871fb77b3c49d --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/clang-sys-01d871fb77b3c49d -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern glob=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libglob-301f3537e857e762.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rustix v0.38.44 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/rustix-0.38.44/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(alloc_c_string)' --check-cfg 'cfg(alloc_ffi)' --check-cfg 'cfg(apple)' --check-cfg 'cfg(asm_experimental_arch)' --check-cfg 'cfg(bsd)' --check-cfg 'cfg(core_c_str)' --check-cfg 'cfg(core_ffi_c)' --check-cfg 'cfg(core_intrinsics)' --check-cfg 'cfg(criterion)' --check-cfg 'cfg(document_experimental_runtime_api)' --check-cfg 'cfg(fix_y2038)' --check-cfg 'cfg(freebsdlike)' --check-cfg 'cfg(libc)' --check-cfg 'cfg(linux_kernel)' --check-cfg 'cfg(linux_like)' --check-cfg 'cfg(linux_raw)' --check-cfg 'cfg(netbsdlike)' --check-cfg 'cfg(rustc_attrs)' --check-cfg 'cfg(solarish)' --check-cfg 'cfg(staged_api)' --check-cfg 'cfg(static_assertions)' --check-cfg 'cfg(thumb_mode)' --check-cfg 'cfg(wasi)' --check-cfg 'cfg(wasi_ext)' --check-cfg 'cfg(target_arch, values("xtensa"))' -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="fs"' --cfg 'feature="libc-extra-traits"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("all-apis", "alloc", "cc", "default", "event", "fs", "io_uring", "itoa", "libc", "libc-extra-traits", "libc_errno", "linux_4_11", "linux_latest", "mm", "mount", "net", "once_cell", "param", "pipe", "process", "procfs", "pty", "rand", "runtime", "shm", "std", "stdio", "system", "termios", "thread", "time", "try_close", "use-explicitly-provided-auxv", "use-libc", "use-libc-auxv"))' -C metadata=09b3ac0033b66acd -C extra-filename=-d170ccb6c3a13df3 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/rustix-d170ccb6c3a13df3 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/libc-0.2.177/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no '--allow=clippy::used_underscore_binding' --allow=unused_qualifications '--warn=clippy::unnecessary_semicolon' '--allow=clippy::unnecessary_cast' '--allow=clippy::uninlined_format_args' '--warn=clippy::ptr_as_ptr' '--allow=clippy::non_minimal_cfg' '--allow=clippy::missing_safety_doc' '--warn=clippy::map_unwrap_or' '--warn=clippy::manual_assert' '--allow=clippy::identity_op' '--warn=clippy::explicit_iter_loop' '--allow=clippy::expl_impl_clone_on_copy' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=6d74c2e8928260ae -C extra-filename=-19ac4600e6d794ed --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/libc-19ac4600e6d794ed -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/rustix-d170ccb6c3a13df3/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/clang-sys-01d871fb77b3c49d/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/prettyplease-511fe2b071476d6f/build-script-build` Running `/usr/bin/rustc --crate-name serde_core --edition=2021 /usr/share/cargo/registry/serde_core-1.0.228/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="rc"' --cfg 'feature="result"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "rc", "result", "std", "unstable"))' -C metadata=455b7378a00a9d6b -C extra-filename=-b9310ca70c8e2eaa --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(if_docsrs_then_no_serde_core)' --check-cfg 'cfg(no_core_cstr)' --check-cfg 'cfg(no_core_error)' --check-cfg 'cfg(no_core_net)' --check-cfg 'cfg(no_core_num_saturating)' --check-cfg 'cfg(no_diagnostic_namespace)' --check-cfg 'cfg(no_serde_derive)' --check-cfg 'cfg(no_std_atomic)' --check-cfg 'cfg(no_std_atomic64)' --check-cfg 'cfg(no_target_has_atomic)'` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/libc-19ac4600e6d794ed/build-script-build` Compiling cc v1.2.34 Running `/usr/bin/rustc --crate-name cc --edition=2018 /usr/share/cargo/registry/cc-1.2.34/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("jobserver", "parallel"))' -C metadata=f4e6b09e8cb119d9 -C extra-filename=-99209f65e3536a2c --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern shlex=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libshlex-31f499f01883b43b.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling either v1.15.0 Running `/usr/bin/rustc --crate-name either --edition=2021 /usr/share/cargo/registry/either-1.15.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "serde", "std", "use_std"))' -C metadata=612758dc254e0c5e -C extra-filename=-a6170aceb54ef280 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling minimal-lexical v0.2.1 Running `/usr/bin/rustc --crate-name minimal_lexical --edition=2018 /usr/share/cargo/registry/minimal-lexical-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "compact", "default", "lint", "nightly", "std"))' -C metadata=313f59a6a107ecae -C extra-filename=-0564ba6efb4150c0 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name once_cell --edition=2021 /usr/share/cargo/registry/once_cell-1.21.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="race"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "atomic-polyfill", "critical-section", "default", "parking_lot", "portable-atomic", "race", "std", "unstable"))' -C metadata=ffb772e797c3e376 -C extra-filename=-7a7e190c07d6fbbc --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling linux-raw-sys v0.4.15 Running `/usr/bin/rustc --crate-name linux_raw_sys --edition=2021 /usr/share/cargo/registry/linux-raw-sys-0.4.15/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(target_arch, values("xtensa"))' -C debug-assertions=off --cfg 'feature="elf"' --cfg 'feature="errno"' --cfg 'feature="general"' --cfg 'feature="ioctl"' --cfg 'feature="no_std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("bootparam", "btrfs", "compiler_builtins", "core", "default", "elf", "elf_uapi", "errno", "general", "if_arp", "if_ether", "if_packet", "io_uring", "ioctl", "landlock", "loop_device", "mempolicy", "net", "netlink", "no_std", "prctl", "ptrace", "rustc-dep-of-std", "std", "system", "xdp"))' -C metadata=40eaae670780040c -C extra-filename=-dc160cd733408653 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling crossbeam-utils v0.8.21 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/crossbeam-utils-0.8.21/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --warn=unexpected_cfgs '--allow=clippy::lint_groups_priority' '--allow=clippy::declare_interior_mutable_const' --check-cfg 'cfg(crossbeam_loom)' --check-cfg 'cfg(crossbeam_sanitize)' -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "std"))' -C metadata=3162853ac1e30d19 -C extra-filename=-db4a154482866e4b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/crossbeam-utils-db4a154482866e4b -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling cfg-if v1.0.4 Running `/usr/bin/rustc --crate-name cfg_if --edition=2018 /usr/share/cargo/registry/cfg-if-1.0.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("core", "rustc-dep-of-std"))' -C metadata=ff9e366997cbb476 -C extra-filename=-6098ae54b0be0f38 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling regex-syntax v0.8.8 Running `/usr/bin/rustc --crate-name regex_syntax --edition=2021 /usr/share/cargo/registry/regex-syntax-0.8.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' -C debug-assertions=off --cfg 'feature="std"' --cfg 'feature="unicode-perl"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "default", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"))' -C metadata=4b5bdbd03cb60e02 -C extra-filename=-6f58b9982e3e2e8a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name memchr --edition=2021 /usr/share/cargo/registry/memchr-2.7.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "core", "default", "libc", "logging", "rustc-dep-of-std", "std", "use_std"))' -C metadata=9a3d3de7bf218c53 -C extra-filename=-38ce1053bf48eed1 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling bitflags v2.10.0 Running `/usr/bin/rustc --crate-name bitflags --edition=2021 /usr/share/cargo/registry/bitflags-2.10.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "bytemuck", "example_generated", "serde", "serde_core", "std"))' -C metadata=322efea8bf269b49 -C extra-filename=-9d253f178842da7d --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name rustix --edition=2021 /usr/share/cargo/registry/rustix-0.38.44/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(alloc_c_string)' --check-cfg 'cfg(alloc_ffi)' --check-cfg 'cfg(apple)' --check-cfg 'cfg(asm_experimental_arch)' --check-cfg 'cfg(bsd)' --check-cfg 'cfg(core_c_str)' --check-cfg 'cfg(core_ffi_c)' --check-cfg 'cfg(core_intrinsics)' --check-cfg 'cfg(criterion)' --check-cfg 'cfg(document_experimental_runtime_api)' --check-cfg 'cfg(fix_y2038)' --check-cfg 'cfg(freebsdlike)' --check-cfg 'cfg(libc)' --check-cfg 'cfg(linux_kernel)' --check-cfg 'cfg(linux_like)' --check-cfg 'cfg(linux_raw)' --check-cfg 'cfg(netbsdlike)' --check-cfg 'cfg(rustc_attrs)' --check-cfg 'cfg(solarish)' --check-cfg 'cfg(staged_api)' --check-cfg 'cfg(static_assertions)' --check-cfg 'cfg(thumb_mode)' --check-cfg 'cfg(wasi)' --check-cfg 'cfg(wasi_ext)' --check-cfg 'cfg(target_arch, values("xtensa"))' -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="fs"' --cfg 'feature="libc-extra-traits"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("all-apis", "alloc", "cc", "default", "event", "fs", "io_uring", "itoa", "libc", "libc-extra-traits", "libc_errno", "linux_4_11", "linux_latest", "mm", "mount", "net", "once_cell", "param", "pipe", "process", "procfs", "pty", "rand", "runtime", "shm", "std", "stdio", "system", "termios", "thread", "time", "try_close", "use-explicitly-provided-auxv", "use-libc", "use-libc-auxv"))' -C metadata=f5bab015f71eb254 -C extra-filename=-77bdcbe7cfe01430 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern bitflags=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libbitflags-9d253f178842da7d.rmeta --extern linux_raw_sys=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblinux_raw_sys-dc160cd733408653.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg linux_raw --cfg linux_like --cfg linux_kernel` Compiling regex-automata v0.4.13 Running `/usr/bin/rustc --crate-name regex_automata --edition=2021 /usr/share/cargo/registry/regex-automata-0.4.13/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="meta"' --cfg 'feature="nfa-pikevm"' --cfg 'feature="nfa-thompson"' --cfg 'feature="std"' --cfg 'feature="syntax"' --cfg 'feature="unicode-perl"' --cfg 'feature="unicode-word-boundary"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "dfa", "dfa-build", "dfa-onepass", "dfa-search", "hybrid", "internal-instrument", "internal-instrument-pikevm", "logging", "meta", "nfa", "nfa-backtrack", "nfa-pikevm", "nfa-thompson", "perf", "perf-inline", "perf-literal", "perf-literal-multisubstring", "perf-literal-substring", "std", "syntax", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "unicode-word-boundary"))' -C metadata=c34edfb689efa021 -C extra-filename=-165b3bf5e61b9d43 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern regex_syntax=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex_syntax-6f58b9982e3e2e8a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling nom v7.1.3 Running `/usr/bin/rustc --crate-name nom --edition=2018 /usr/share/cargo/registry/nom-7.1.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "docsrs", "std"))' -C metadata=a1457de50cc9f050 -C extra-filename=-bb9ffe2042980082 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern memchr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemchr-38ce1053bf48eed1.rmeta --extern minimal_lexical=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libminimal_lexical-0564ba6efb4150c0.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling libloading v0.8.9 Running `/usr/bin/rustc --crate-name libloading --edition=2015 /usr/share/cargo/registry/libloading-0.8.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(libloading_docs)' --check-cfg 'cfg(target_os, values("cygwin"))' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=da5619f3c90d0b81 -C extra-filename=-7266f091c8b7ca63 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern cfg_if=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcfg_if-6098ae54b0be0f38.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/crossbeam-utils-db4a154482866e4b/build-script-build` Running `/usr/bin/rustc --crate-name libc --edition=2021 /usr/share/cargo/registry/libc-0.2.177/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no '--allow=clippy::used_underscore_binding' --allow=unused_qualifications '--warn=clippy::unnecessary_semicolon' '--allow=clippy::unnecessary_cast' '--allow=clippy::uninlined_format_args' '--warn=clippy::ptr_as_ptr' '--allow=clippy::non_minimal_cfg' '--allow=clippy::missing_safety_doc' '--warn=clippy::map_unwrap_or' '--warn=clippy::manual_assert' '--allow=clippy::identity_op' '--warn=clippy::explicit_iter_loop' '--allow=clippy::expl_impl_clone_on_copy' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=c9e33509f62187e6 -C extra-filename=-29bd754e4308567b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg freebsd12 --check-cfg 'cfg(emscripten_old_stat_abi)' --check-cfg 'cfg(espidf_time32)' --check-cfg 'cfg(freebsd10)' --check-cfg 'cfg(freebsd11)' --check-cfg 'cfg(freebsd12)' --check-cfg 'cfg(freebsd13)' --check-cfg 'cfg(freebsd14)' --check-cfg 'cfg(freebsd15)' --check-cfg 'cfg(gnu_file_offset_bits64)' --check-cfg 'cfg(gnu_time_bits64)' --check-cfg 'cfg(libc_deny_warnings)' --check-cfg 'cfg(libc_thread_local)' --check-cfg 'cfg(linux_time_bits64)' --check-cfg 'cfg(musl_v1_2_3)' --check-cfg 'cfg(target_os,values("switch","aix","ohos","hurd","rtems","visionos","nuttx","cygwin"))' --check-cfg 'cfg(target_env,values("illumos","wasi","aix","ohos","nto71_iosock","nto80"))' --check-cfg 'cfg(target_arch,values("loongarch64","mips32r6","mips64r6","csky"))'` Running `/usr/bin/rustc --crate-name cfg_if --edition=2018 /usr/share/cargo/registry/cfg-if-1.0.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("core", "rustc-dep-of-std"))' -C metadata=3613eb7913323cf0 -C extra-filename=-f01614ca748f34c8 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling serde v1.0.228 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/serde-1.0.228/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="rc"' --cfg 'feature="serde_derive"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "derive", "rc", "serde_derive", "std", "unstable"))' -C metadata=286951f2f3d565ce -C extra-filename=-48ab21fb25999873 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/serde-48ab21fb25999873 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling fnv v1.0.7 Running `/usr/bin/rustc --crate-name fnv --edition=2015 /usr/share/cargo/registry/fnv-1.0.7/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=31a8d7b5393926ba -C extra-filename=-ac725bf222854d6b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling zerocopy v0.8.27 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/zerocopy-0.8.27/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="simd"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__internal_use_only_features_that_work_on_stable", "alloc", "derive", "float-nightly", "simd", "simd-nightly", "std", "zerocopy-derive"))' -C metadata=353c9946bba5fb9a -C extra-filename=-e9a4667ca07ad268 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/zerocopy-e9a4667ca07ad268 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling strsim v0.11.1 Running `/usr/bin/rustc --crate-name strsim --edition=2015 /usr/share/cargo/registry/strsim-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=c708aea1f975d487 -C extra-filename=-d8dbf2dbe7430eec --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling bindgen v0.69.5 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/bindgen-0.69.5/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="logging"' --cfg 'feature="prettyplease"' --cfg 'feature="runtime"' --cfg 'feature="which-rustfmt"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__cli", "__testing_only_extra_assertions", "__testing_only_libclang_16", "__testing_only_libclang_9", "default", "experimental", "logging", "prettyplease", "runtime", "static", "which-rustfmt"))' -C metadata=38eb89ff2490ec07 -C extra-filename=-589088ab044e881c --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/bindgen-589088ab044e881c -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling ident_case v1.0.1 Running `/usr/bin/rustc --crate-name ident_case --edition=2015 /usr/share/cargo/registry/ident_case-1.0.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=76c86eb78d3f7ec3 -C extra-filename=-44fb69e4dfd3cf2e --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling home v0.5.11 Running `/usr/bin/rustc --crate-name home --edition=2021 /usr/share/cargo/registry/home-0.5.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no '--allow=clippy::all' '--warn=clippy::correctness' '--warn=clippy::self_named_module_files' --warn=rust_2018_idioms '--allow=rustdoc::private_intra_doc_links' '--warn=clippy::print_stdout' '--warn=clippy::print_stderr' '--warn=clippy::disallowed_methods' '--warn=clippy::dbg_macro' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=d49faedd141380be -C extra-filename=-ad1a81d05bd024df --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling getrandom v0.3.4 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/getrandom-0.3.4/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(getrandom_backend, values("custom", "efi_rng", "rdrand", "rndr", "linux_getrandom", "linux_raw", "wasm_js", "windows_legacy", "unsupported"))' --check-cfg 'cfg(getrandom_msan)' --check-cfg 'cfg(getrandom_test_linux_fallback)' --check-cfg 'cfg(getrandom_test_linux_without_fallback)' --check-cfg 'cfg(getrandom_test_netbsd_fallback)' --check-cfg 'cfg(target_os, values("cygwin"))' -C debug-assertions=off --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("std"))' -C metadata=9a557a49ec422808 -C extra-filename=-c6e87e2270bae082 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/getrandom-c6e87e2270bae082 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling which v4.4.2 Running `/usr/bin/rustc --crate-name which --edition=2021 /usr/share/cargo/registry/which-4.4.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("regex"))' -C metadata=a5c4e43aedd3af17 -C extra-filename=-2022a3d3c5bccc71 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern either=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libeither-a6170aceb54ef280.rmeta --extern home=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libhome-ad1a81d05bd024df.rmeta --extern rustix=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librustix-77bdcbe7cfe01430.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/getrandom-c6e87e2270bae082/build-script-build` Compiling darling_core v0.20.11 Running `/usr/bin/rustc --crate-name darling_core --edition=2021 /usr/share/cargo/registry/darling_core-0.20.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="strsim"' --cfg 'feature="suggestions"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("diagnostics", "strsim", "suggestions"))' -C metadata=f201132476ca636e -C extra-filename=-eb92c8615a2f9bad --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern fnv=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfnv-ac725bf222854d6b.rmeta --extern ident_case=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libident_case-44fb69e4dfd3cf2e.rmeta --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rmeta --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rmeta --extern strsim=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libstrsim-d8dbf2dbe7430eec.rmeta --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/bindgen-589088ab044e881c/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/zerocopy-e9a4667ca07ad268/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/serde-48ab21fb25999873/build-script-build` Running `/usr/bin/rustc --crate-name clang_sys --edition=2021 /usr/share/cargo/registry/clang-sys-1.8.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clang_3_5"' --cfg 'feature="clang_3_6"' --cfg 'feature="clang_3_7"' --cfg 'feature="clang_3_8"' --cfg 'feature="clang_3_9"' --cfg 'feature="clang_4_0"' --cfg 'feature="clang_5_0"' --cfg 'feature="clang_6_0"' --cfg 'feature="libloading"' --cfg 'feature="runtime"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("clang_10_0", "clang_11_0", "clang_12_0", "clang_13_0", "clang_14_0", "clang_15_0", "clang_16_0", "clang_17_0", "clang_18_0", "clang_3_5", "clang_3_6", "clang_3_7", "clang_3_8", "clang_3_9", "clang_4_0", "clang_5_0", "clang_6_0", "clang_7_0", "clang_8_0", "clang_9_0", "libcpp", "libloading", "runtime", "static"))' -C metadata=439c1d784fb0d6cd -C extra-filename=-530a642b2844fc22 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern glob=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libglob-301f3537e857e762.rmeta --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-29bd754e4308567b.rmeta --extern libloading=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibloading-7266f091c8b7ca63.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name crossbeam_utils --edition=2021 /usr/share/cargo/registry/crossbeam-utils-0.8.21/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unexpected_cfgs '--allow=clippy::lint_groups_priority' '--allow=clippy::declare_interior_mutable_const' --check-cfg 'cfg(crossbeam_loom)' --check-cfg 'cfg(crossbeam_sanitize)' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "std"))' -C metadata=fc382058a7fa765e -C extra-filename=-72f1e8b21fe90a5a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(crossbeam_no_atomic,crossbeam_sanitize_thread)'` Compiling cexpr v0.6.0 Running `/usr/bin/rustc --crate-name cexpr --edition=2018 /usr/share/cargo/registry/cexpr-0.6.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=005fcee1f4cfaa3e -C extra-filename=-16a3d0422350ba76 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern nom=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnom-bb9ffe2042980082.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling regex v1.12.2 Running `/usr/bin/rustc --crate-name regex --edition=2021 /usr/share/cargo/registry/regex-1.12.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' -C debug-assertions=off --cfg 'feature="std"' --cfg 'feature="unicode-perl"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "logging", "pattern", "perf", "perf-backtrack", "perf-cache", "perf-dfa", "perf-dfa-full", "perf-inline", "perf-literal", "perf-onepass", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "unstable", "use_std"))' -C metadata=def635bce9609249 -C extra-filename=-249c349a88755e0f --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern regex_automata=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex_automata-165b3bf5e61b9d43.rmeta --extern regex_syntax=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex_syntax-6f58b9982e3e2e8a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pyo3-ffi v0.25.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/pyo3-ffi-0.25.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' -C debug-assertions=off --cfg 'feature="abi3"' --cfg 'feature="abi3-py310"' --cfg 'feature="abi3-py311"' --cfg 'feature="abi3-py312"' --cfg 'feature="abi3-py313"' --cfg 'feature="abi3-py314"' --cfg 'feature="abi3-py39"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("abi3", "abi3-py310", "abi3-py311", "abi3-py312", "abi3-py313", "abi3-py314", "abi3-py37", "abi3-py38", "abi3-py39", "default", "extension-module", "generate-import-lib"))' -C metadata=818e2a512ee4aebd -C extra-filename=-64bf55ac7c0c3126 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-ffi-64bf55ac7c0c3126 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern pyo3_build_config=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_build_config-34be3631c8777201.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pyo3-macros-backend v0.25.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/pyo3-macros-backend-0.25.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("experimental-async", "experimental-inspect"))' -C metadata=3a755e34e7edae7e -C extra-filename=-52ddf5e177afa4bc --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-macros-backend-52ddf5e177afa4bc -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern pyo3_build_config=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_build_config-34be3631c8777201.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling itertools v0.12.1 Running `/usr/bin/rustc --crate-name itertools --edition=2018 /usr/share/cargo/registry/itertools-0.12.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "use_alloc", "use_std"))' -C metadata=c810495fe5c9c803 -C extra-filename=-2c52f2dd73cc27d4 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern either=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libeither-a6170aceb54ef280.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name prettyplease --edition=2021 /usr/share/cargo/registry/prettyplease-0.2.37/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="verbatim"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("verbatim"))' -C metadata=babc0820dd1be4ab -C extra-filename=-8a42354affba7121 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rmeta --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(exhaustive)' --check-cfg 'cfg(prettyplease_debug)' --check-cfg 'cfg(prettyplease_debug_indent)'` Compiling serde_derive v1.0.228 Running `/usr/bin/rustc --crate-name serde_derive --edition=2021 /usr/share/cargo/registry/serde_derive-1.0.228/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "deserialize_in_place"))' -C metadata=2e0f37b635e49d58 -C extra-filename=-19672bf84027bdee --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rlib --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling num-traits v0.2.19 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/num-traits-0.2.19/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="i128"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "i128", "libm", "std"))' -C metadata=296f93aad1b86d62 -C extra-filename=-78fc509ee1e603bf --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/num-traits-78fc509ee1e603bf -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern autocfg=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libautocfg-cd4f347acc7caae6.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rustc-hash v1.1.0 Running `/usr/bin/rustc --crate-name rustc_hash --edition=2015 /usr/share/cargo/registry/rustc-hash-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=44450db0e938eaee -C extra-filename=-14ceebde5bf016e8 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling log v0.4.28 Running `/usr/bin/rustc --crate-name log --edition=2021 /usr/share/cargo/registry/log-0.4.28/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("kv", "max_level_debug", "max_level_error", "max_level_info", "max_level_off", "max_level_trace", "max_level_warn", "release_max_level_debug", "release_max_level_error", "release_max_level_info", "release_max_level_off", "release_max_level_trace", "release_max_level_warn", "serde", "std"))' -C metadata=73effc40224da7d6 -C extra-filename=-6088721050fa2621 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling lazycell v1.3.0 Running `/usr/bin/rustc --crate-name lazycell --edition=2015 /usr/share/cargo/registry/lazycell-1.3.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("serde"))' -C metadata=d8d3bc797bccb387 -C extra-filename=-52f9f0c66b8a7dae --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling lazy_static v1.5.0 Running `/usr/bin/rustc --crate-name lazy_static --edition=2015 /usr/share/cargo/registry/lazy_static-1.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("spin", "spin_no_std"))' -C metadata=02e0c9b82909bb48 -C extra-filename=-33f5adb806adc83a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name bindgen --edition=2018 /usr/share/cargo/registry/bindgen-0.69.5/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="logging"' --cfg 'feature="prettyplease"' --cfg 'feature="runtime"' --cfg 'feature="which-rustfmt"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__cli", "__testing_only_extra_assertions", "__testing_only_libclang_16", "__testing_only_libclang_9", "default", "experimental", "logging", "prettyplease", "runtime", "static", "which-rustfmt"))' -C metadata=e0d821a6a2d4c832 -C extra-filename=-312e76115f4d3b59 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern bitflags=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libbitflags-9d253f178842da7d.rmeta --extern cexpr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcexpr-16a3d0422350ba76.rmeta --extern clang_sys=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libclang_sys-530a642b2844fc22.rmeta --extern itertools=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libitertools-2c52f2dd73cc27d4.rmeta --extern lazy_static=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblazy_static-33f5adb806adc83a.rmeta --extern lazycell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblazycell-52f9f0c66b8a7dae.rmeta --extern log=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblog-6088721050fa2621.rmeta --extern prettyplease=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libprettyplease-8a42354affba7121.rmeta --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rmeta --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rmeta --extern regex=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex-249c349a88755e0f.rmeta --extern rustc_hash=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librustc_hash-14ceebde5bf016e8.rmeta --extern shlex=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libshlex-31f499f01883b43b.rmeta --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rmeta --extern which=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libwhich-2022a3d3c5bccc71.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/num-traits-78fc509ee1e603bf/build-script-build` Compiling darling_macro v0.20.11 Running `/usr/bin/rustc --crate-name darling_macro --edition=2021 /usr/share/cargo/registry/darling_macro-0.20.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=603e5d2595c741af -C extra-filename=-9504180642b6495d --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern darling_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libdarling_core-eb92c8615a2f9bad.rlib --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-macros-backend-52ddf5e177afa4bc/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-ffi-64bf55ac7c0c3126/build-script-build` Compiling crossbeam-epoch v0.9.18 Running `/usr/bin/rustc --crate-name crossbeam_epoch --edition=2021 /usr/share/cargo/registry/crossbeam-epoch-0.9.18/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "nightly", "std"))' -C metadata=64fbd8d51027a29b -C extra-filename=-c680b400482bf475 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern crossbeam_utils=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcrossbeam_utils-72f1e8b21fe90a5a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name zerocopy --edition=2021 /usr/share/cargo/registry/zerocopy-0.8.27/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="simd"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__internal_use_only_features_that_work_on_stable", "alloc", "derive", "float-nightly", "simd", "simd-nightly", "std", "zerocopy-derive"))' -C metadata=fc5153aa99c73795 -C extra-filename=-8eaca7754de9ab53 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg zerocopy_core_error_1_81_0 --cfg zerocopy_diagnostic_on_unimplemented_1_78_0 --cfg zerocopy_generic_bounds_in_const_fn_1_61_0 --cfg zerocopy_target_has_atomics_1_60_0 --cfg zerocopy_aarch64_simd_1_59_0 --cfg zerocopy_panic_in_const_and_vec_try_reserve_1_57_0 --check-cfg 'cfg(zerocopy_core_error_1_81_0)' --check-cfg 'cfg(rust, values("1.81.0"))' --check-cfg 'cfg(zerocopy_diagnostic_on_unimplemented_1_78_0)' --check-cfg 'cfg(rust, values("1.78.0"))' --check-cfg 'cfg(zerocopy_generic_bounds_in_const_fn_1_61_0)' --check-cfg 'cfg(rust, values("1.61.0"))' --check-cfg 'cfg(zerocopy_target_has_atomics_1_60_0)' --check-cfg 'cfg(rust, values("1.60.0"))' --check-cfg 'cfg(zerocopy_aarch64_simd_1_59_0)' --check-cfg 'cfg(rust, values("1.59.0"))' --check-cfg 'cfg(zerocopy_panic_in_const_and_vec_try_reserve_1_57_0)' --check-cfg 'cfg(rust, values("1.57.0"))' --check-cfg 'cfg(doc_cfg)' --check-cfg 'cfg(kani)' --check-cfg 'cfg(__ZEROCOPY_INTERNAL_USE_ONLY_NIGHTLY_FEATURES_IN_TESTS)' --check-cfg 'cfg(coverage_nightly)'` Running `/usr/bin/rustc --crate-name getrandom --edition=2021 /usr/share/cargo/registry/getrandom-0.3.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(getrandom_backend, values("custom", "efi_rng", "rdrand", "rndr", "linux_getrandom", "linux_raw", "wasm_js", "windows_legacy", "unsupported"))' --check-cfg 'cfg(getrandom_msan)' --check-cfg 'cfg(getrandom_test_linux_fallback)' --check-cfg 'cfg(getrandom_test_linux_without_fallback)' --check-cfg 'cfg(getrandom_test_netbsd_fallback)' --check-cfg 'cfg(target_os, values("cygwin"))' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("std"))' -C metadata=47bbd056b1b1cc62 -C extra-filename=-c0fddfb8ed60e42b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern cfg_if=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcfg_if-f01614ca748f34c8.rmeta --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling aho-corasick v1.1.4 Running `/usr/bin/rustc --crate-name aho_corasick --edition=2021 /usr/share/cargo/registry/aho-corasick-1.1.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="perf-literal"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "logging", "perf-literal", "std"))' -C metadata=bb0aef66797de04e -C extra-filename=-57d2c33d397c8638 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern memchr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemchr-527216bec0cb1b7e.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling memoffset v0.9.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2015 /usr/share/cargo/registry/memoffset-0.9.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "unstable_const", "unstable_offset_of"))' -C metadata=60eb1c4943642ce7 -C extra-filename=-769f9e04d2fabc92 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/memoffset-769f9e04d2fabc92 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern autocfg=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libautocfg-cd4f347acc7caae6.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rustversion v1.0.22 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/rustversion-1.0.22/build/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=fe5c619d4cc97b17 -C extra-filename=-ea93cbcbcac3a99b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/rustversion-ea93cbcbcac3a99b -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pin-project-lite v0.2.16 Running `/usr/bin/rustc --crate-name pin_project_lite --edition=2018 /usr/share/cargo/registry/pin-project-lite-0.2.16/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs '--warn=clippy::undocumented_unsafe_blocks' '--warn=clippy::transmute_undefined_repr' '--warn=clippy::trailing_empty_array' --warn=single_use_lifetimes --warn=rust_2018_idioms '--warn=clippy::pedantic' --warn=non_ascii_idents '--warn=clippy::inline_asm_x86_att_syntax' --warn=improper_ctypes_definitions --warn=improper_ctypes --warn=deprecated_safe '--warn=clippy::default_union_representation' '--warn=clippy::as_underscore' '--warn=clippy::as_ptr_cast_mut' '--warn=clippy::all' '--allow=clippy::unreadable_literal' '--allow=clippy::type_complexity' '--allow=clippy::too_many_lines' '--allow=clippy::too_many_arguments' '--allow=clippy::struct_field_names' '--allow=clippy::struct_excessive_bools' '--allow=clippy::single_match_else' '--allow=clippy::single_match' '--allow=clippy::similar_names' '--allow=clippy::range_plus_one' '--allow=clippy::nonminimal_bool' '--allow=clippy::naive_bytecount' '--allow=clippy::module_name_repetitions' '--allow=clippy::missing_errors_doc' '--allow=clippy::manual_range_contains' '--allow=clippy::manual_assert' '--allow=clippy::lint_groups_priority' '--allow=clippy::incompatible_msrv' '--allow=clippy::float_cmp' '--allow=clippy::doc_markdown' '--allow=clippy::declare_interior_mutable_const' '--allow=clippy::cast_lossless' '--allow=clippy::borrow_as_ptr' '--allow=clippy::bool_assert_comparison' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=1b51c8c998ee2956 -C extra-filename=-4815195a6e124a28 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling heck v0.5.0 Running `/usr/bin/rustc --crate-name heck --edition=2021 /usr/share/cargo/registry/heck-0.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=23a00ff9733b0d71 -C extra-filename=-95c1f74f0c858f16 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling futures-sink v0.3.31 Running `/usr/bin/rustc --crate-name futures_sink --edition=2018 /usr/share/cargo/registry/futures-sink-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "std"))' -C metadata=ebe744bb1ec6bfd0 -C extra-filename=-1b11c093b198c292 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling futures-core v0.3.31 Running `/usr/bin/rustc --crate-name futures_core --edition=2018 /usr/share/cargo/registry/futures-core-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "cfg-target-has-atomic", "default", "portable-atomic", "std", "unstable"))' -C metadata=ac0be30608bff0d8 -C extra-filename=-738eec1506ba0c8a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name regex_syntax --edition=2021 /usr/share/cargo/registry/regex-syntax-0.8.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' --cfg 'feature="default"' --cfg 'feature="std"' --cfg 'feature="unicode"' --cfg 'feature="unicode-age"' --cfg 'feature="unicode-bool"' --cfg 'feature="unicode-case"' --cfg 'feature="unicode-gencat"' --cfg 'feature="unicode-perl"' --cfg 'feature="unicode-script"' --cfg 'feature="unicode-segment"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "default", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"))' -C metadata=93a943a93e6dc777 -C extra-filename=-bf306e223f5ca226 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name serde --edition=2021 /usr/share/cargo/registry/serde-1.0.228/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="rc"' --cfg 'feature="serde_derive"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "derive", "rc", "serde_derive", "std", "unstable"))' -C metadata=ebcb0bfeebce4c58 -C extra-filename=-6f81549c5666b0f4 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern serde_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde_core-b9310ca70c8e2eaa.rmeta --extern serde_derive=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde_derive-19672bf84027bdee.so --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg if_docsrs_then_no_serde_core --check-cfg 'cfg(feature, values("result"))' --check-cfg 'cfg(if_docsrs_then_no_serde_core)' --check-cfg 'cfg(no_core_cstr)' --check-cfg 'cfg(no_core_error)' --check-cfg 'cfg(no_core_net)' --check-cfg 'cfg(no_core_num_saturating)' --check-cfg 'cfg(no_diagnostic_namespace)' --check-cfg 'cfg(no_serde_derive)' --check-cfg 'cfg(no_std_atomic)' --check-cfg 'cfg(no_std_atomic64)' --check-cfg 'cfg(no_target_has_atomic)'` Compiling rayon-core v1.13.0 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/rayon-core-1.13.0/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=c7d1ef1a1106f483 -C extra-filename=-eac26fde98791713 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/rayon-core-eac26fde98791713 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pkg-config v0.3.32 Running `/usr/bin/rustc --crate-name pkg_config --edition=2018 /usr/share/cargo/registry/pkg-config-0.3.32/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=2a44cca6bcaaa353 -C extra-filename=-f4230f56a6ec6fa2 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/rayon-core-eac26fde98791713/build-script-build` Running `/usr/bin/rustc --crate-name regex_automata --edition=2021 /usr/share/cargo/registry/regex-automata-0.4.13/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' --cfg 'feature="alloc"' --cfg 'feature="dfa-onepass"' --cfg 'feature="hybrid"' --cfg 'feature="meta"' --cfg 'feature="nfa-backtrack"' --cfg 'feature="nfa-pikevm"' --cfg 'feature="nfa-thompson"' --cfg 'feature="perf-inline"' --cfg 'feature="perf-literal"' --cfg 'feature="perf-literal-multisubstring"' --cfg 'feature="perf-literal-substring"' --cfg 'feature="std"' --cfg 'feature="syntax"' --cfg 'feature="unicode"' --cfg 'feature="unicode-age"' --cfg 'feature="unicode-bool"' --cfg 'feature="unicode-case"' --cfg 'feature="unicode-gencat"' --cfg 'feature="unicode-perl"' --cfg 'feature="unicode-script"' --cfg 'feature="unicode-segment"' --cfg 'feature="unicode-word-boundary"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "dfa", "dfa-build", "dfa-onepass", "dfa-search", "hybrid", "internal-instrument", "internal-instrument-pikevm", "logging", "meta", "nfa", "nfa-backtrack", "nfa-pikevm", "nfa-thompson", "perf", "perf-inline", "perf-literal", "perf-literal-multisubstring", "perf-literal-substring", "std", "syntax", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "unicode-word-boundary"))' -C metadata=c2c06488b223453e -C extra-filename=-20bab4bf9f29defb --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern aho_corasick=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libaho_corasick-57d2c33d397c8638.rmeta --extern memchr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemchr-527216bec0cb1b7e.rmeta --extern regex_syntax=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex_syntax-bf306e223f5ca226.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling futures-channel v0.3.31 Running `/usr/bin/rustc --crate-name futures_channel --edition=2018 /usr/share/cargo/registry/futures-channel-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="alloc"' --cfg 'feature="futures-sink"' --cfg 'feature="sink"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "cfg-target-has-atomic", "default", "futures-sink", "sink", "std", "unstable"))' -C metadata=b18fb257f15a0ee1 -C extra-filename=-fccb7dd58e2770b3 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern futures_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_core-738eec1506ba0c8a.rmeta --extern futures_sink=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_sink-1b11c093b198c292.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name pyo3_macros_backend --edition=2021 /usr/share/cargo/registry/pyo3-macros-backend-0.25.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("experimental-async", "experimental-inspect"))' -C metadata=4e858c47d6bbfe1b -C extra-filename=-be7c7290b7581985 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern heck=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libheck-95c1f74f0c858f16.rmeta --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rmeta --extern pyo3_build_config=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_build_config-34be3631c8777201.rmeta --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rmeta --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg rustc_has_once_lock --cfg cargo_toml_lints --cfg rustc_has_extern_c_unwind --cfg invalid_from_utf8_lint --cfg c_str_lit --cfg diagnostic_namespace --cfg io_error_more --cfg fn_ptr_eq --check-cfg 'cfg(Py_LIMITED_API)' --check-cfg 'cfg(Py_GIL_DISABLED)' --check-cfg 'cfg(PyPy)' --check-cfg 'cfg(GraalPy)' --check-cfg 'cfg(py_sys_config, values("Py_DEBUG", "Py_REF_DEBUG", "Py_TRACE_REFS", "COUNT_ALLOCS"))' --check-cfg 'cfg(pyo3_disable_reference_pool)' --check-cfg 'cfg(pyo3_leak_on_drop_without_reference_pool)' --check-cfg 'cfg(Py_3_7)' --check-cfg 'cfg(Py_3_8)' --check-cfg 'cfg(Py_3_9)' --check-cfg 'cfg(Py_3_10)' --check-cfg 'cfg(Py_3_11)' --check-cfg 'cfg(Py_3_12)' --check-cfg 'cfg(Py_3_13)' --check-cfg 'cfg(Py_3_14)' --check-cfg 'cfg(rustc_has_once_lock)' --check-cfg 'cfg(cargo_toml_lints)' --check-cfg 'cfg(rustc_has_extern_c_unwind)' --check-cfg 'cfg(invalid_from_utf8_lint)' --check-cfg 'cfg(c_str_lit)' --check-cfg 'cfg(diagnostic_namespace)' --check-cfg 'cfg(io_error_more)' --check-cfg 'cfg(fn_ptr_eq)'` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/rustversion-ea93cbcbcac3a99b/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/memoffset-769f9e04d2fabc92/build-script-build` Compiling darling v0.20.11 Running `/usr/bin/rustc --crate-name darling --edition=2021 /usr/share/cargo/registry/darling-0.20.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(compiletests)' -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="suggestions"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "diagnostics", "suggestions"))' -C metadata=bc756f6cfea45868 -C extra-filename=-de8f43130e4a4e14 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern darling_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libdarling_core-eb92c8615a2f9bad.rmeta --extern darling_macro=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libdarling_macro-9504180642b6495d.so --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling crossbeam-deque v0.8.6 Running `/usr/bin/rustc --crate-name crossbeam_deque --edition=2021 /usr/share/cargo/registry/crossbeam-deque-0.8.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unexpected_cfgs '--allow=clippy::lint_groups_priority' '--allow=clippy::declare_interior_mutable_const' --check-cfg 'cfg(crossbeam_loom)' --check-cfg 'cfg(crossbeam_sanitize)' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=db4b04f066a29ebb -C extra-filename=-be252e2d2d49ca18 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern crossbeam_epoch=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcrossbeam_epoch-c680b400482bf475.rmeta --extern crossbeam_utils=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcrossbeam_utils-72f1e8b21fe90a5a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name num_traits --edition=2021 /usr/share/cargo/registry/num-traits-0.2.19/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="i128"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "i128", "libm", "std"))' -C metadata=00e9948071330b16 -C extra-filename=-ee472ebd2de52d7d --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg has_total_cmp --check-cfg 'cfg(has_total_cmp)'` Compiling futures-macro v0.3.31 Running `/usr/bin/rustc --crate-name futures_macro --edition=2018 /usr/share/cargo/registry/futures-macro-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=23bd77148f871967 -C extra-filename=-23c2e12c5ee12297 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rlib --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pyo3 v0.25.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/pyo3-0.25.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' -C debug-assertions=off --cfg 'feature="abi3"' --cfg 'feature="abi3-py310"' --cfg 'feature="abi3-py311"' --cfg 'feature="abi3-py312"' --cfg 'feature="abi3-py313"' --cfg 'feature="abi3-py314"' --cfg 'feature="abi3-py39"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="indoc"' --cfg 'feature="macros"' --cfg 'feature="py-clone"' --cfg 'feature="pyo3-macros"' --cfg 'feature="unindent"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("abi3", "abi3-py310", "abi3-py311", "abi3-py312", "abi3-py313", "abi3-py314", "abi3-py37", "abi3-py38", "abi3-py39", "anyhow", "arc_lock", "auto-initialize", "bigdecimal", "chrono", "chrono-local", "chrono-tz", "default", "either", "experimental-async", "experimental-inspect", "extension-module", "eyre", "full", "hashbrown", "indexmap", "indoc", "inventory", "jiff-02", "lock_api", "macros", "multiple-pymethods", "nightly", "num-bigint", "num-complex", "num-rational", "ordered-float", "parking_lot", "py-clone", "pyo3-macros", "rust_decimal", "serde", "smallvec", "time", "unindent", "uuid"))' -C metadata=a4bdfc8dbe92cbd5 -C extra-filename=-44e0bdd4d824df12 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-44e0bdd4d824df12 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern pyo3_build_config=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_build_config-34be3631c8777201.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling matrixmultiply v0.3.10 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/matrixmultiply-0.3.10/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="cgemm"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cgemm", "constconf", "default", "num_cpus", "once_cell", "std", "thread-tree", "threading"))' -C metadata=150f9d91eaeefea5 -C extra-filename=-25d9f848c1b48403 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/matrixmultiply-25d9f848c1b48403 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern autocfg=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libautocfg-cd4f347acc7caae6.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling futures-io v0.3.31 Running `/usr/bin/rustc --crate-name futures_io --edition=2018 /usr/share/cargo/registry/futures-io-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std", "unstable"))' -C metadata=253017e8af91730c -C extra-filename=-2b7a353ae2ff93a8 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling futures-task v0.3.31 Running `/usr/bin/rustc --crate-name futures_task --edition=2018 /usr/share/cargo/registry/futures-task-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "cfg-target-has-atomic", "default", "std", "unstable"))' -C metadata=a08c0ffa2a922ac1 -C extra-filename=-6de1b425a6dde49b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling version_check v0.9.5 Running `/usr/bin/rustc --crate-name version_check --edition=2015 /usr/share/cargo/registry/version_check-0.9.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=07f2051599e5e7bd -C extra-filename=-69a08fe75216665f --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name either --edition=2021 /usr/share/cargo/registry/either-1.15.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --cfg 'feature="use_std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "serde", "std", "use_std"))' -C metadata=4906d06ee083cf77 -C extra-filename=-3b983dfce2ccd9f0 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling paste v1.0.15 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/paste-1.0.15/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=6a3e43476e0d5951 -C extra-filename=-00421b7bfda7316a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/paste-00421b7bfda7316a -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling portable-atomic v1.11.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/portable-atomic-1.11.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no '--warn=clippy::unused_trait_names' --warn=unreachable_pub --warn=unnameable_types --warn=unexpected_cfgs '--warn=clippy::undocumented_unsafe_blocks' '--warn=clippy::transmute_undefined_repr' '--warn=clippy::trailing_empty_array' --warn=single_use_lifetimes --warn=rust_2018_idioms '--warn=clippy::pedantic' --warn=non_ascii_idents '--warn=clippy::inline_asm_x86_att_syntax' --warn=improper_ctypes_definitions --warn=improper_ctypes --warn=deprecated_safe '--warn=clippy::default_union_representation' '--warn=clippy::as_underscore' '--warn=clippy::as_ptr_cast_mut' '--warn=clippy::all' '--allow=clippy::unreadable_literal' '--allow=clippy::type_complexity' '--allow=clippy::too_many_lines' '--allow=clippy::too_many_arguments' '--allow=clippy::struct_field_names' '--allow=clippy::struct_excessive_bools' '--allow=clippy::single_match_else' '--allow=clippy::single_match' '--allow=clippy::similar_names' '--allow=clippy::range_plus_one' '--allow=clippy::nonminimal_bool' '--allow=clippy::naive_bytecount' '--allow=clippy::module_name_repetitions' '--allow=clippy::missing_errors_doc' '--allow=clippy::manual_range_contains' '--allow=clippy::manual_assert' '--allow=clippy::lint_groups_priority' '--allow=clippy::incompatible_msrv' '--allow=clippy::float_cmp' '--allow=clippy::doc_markdown' '--allow=clippy::declare_interior_mutable_const' '--allow=clippy::cast_lossless' '--allow=clippy::borrow_as_ptr' '--allow=clippy::bool_assert_comparison' --check-cfg 'cfg(target_arch,values("xtensa"))' --check-cfg 'cfg(target_arch,values("amdgpu"))' --check-cfg 'cfg(target_arch,values("loongarch32"))' --check-cfg 'cfg(target_os,values("psx"))' --check-cfg 'cfg(target_env,values("psx"))' --check-cfg 'cfg(target_feature,values("lse2","lse128","rcpc3"))' --check-cfg 'cfg(target_feature,values("quadword-atomics"))' --check-cfg 'cfg(target_feature,values("zaamo","zabha"))' --check-cfg 'cfg(target_feature,values("zacas"))' --check-cfg 'cfg(target_pointer_width,values("128"))' --check-cfg 'cfg(portable_atomic_no_outline_atomics,portable_atomic_outline_atomics,portable_atomic_unstable_f16,portable_atomic_unstable_f128)' --check-cfg 'cfg(portable_atomic_unstable_coerce_unsized)' --check-cfg 'cfg(portable_atomic_test_detect_false,portable_atomic_test_no_std_static_assert_ffi,qemu,valgrind)' -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="fallback"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("critical-section", "default", "disable-fiq", "fallback", "float", "force-amo", "require-cas", "s-mode", "serde", "std", "unsafe-assume-single-core"))' -C metadata=59067801cf6fe2db -C extra-filename=-edeb980c751303e2 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/portable-atomic-edeb980c751303e2 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling slab v0.4.11 Running `/usr/bin/rustc --crate-name slab --edition=2018 /usr/share/cargo/registry/slab-0.4.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "serde", "std"))' -C metadata=4baa15075f9014d6 -C extra-filename=-f78ed390d6af650c --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pin-utils v0.1.0 Running `/usr/bin/rustc --crate-name pin_utils --edition=2018 /usr/share/cargo/registry/pin-utils-0.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=4a7105c4270d48b1 -C extra-filename=-a77bb3db890265ba --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling futures-util v0.3.31 Running `/usr/bin/rustc --crate-name futures_util --edition=2018 /usr/share/cargo/registry/futures-util-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="alloc"' --cfg 'feature="async-await"' --cfg 'feature="async-await-macro"' --cfg 'feature="channel"' --cfg 'feature="futures-channel"' --cfg 'feature="futures-io"' --cfg 'feature="futures-macro"' --cfg 'feature="futures-sink"' --cfg 'feature="io"' --cfg 'feature="memchr"' --cfg 'feature="sink"' --cfg 'feature="slab"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "async-await", "async-await-macro", "bilock", "cfg-target-has-atomic", "channel", "default", "futures-channel", "futures-io", "futures-macro", "futures-sink", "io", "memchr", "portable-atomic", "sink", "slab", "std", "unstable", "write-all-vectored"))' -C metadata=15ae70d0a75b2ce3 -C extra-filename=-67aeefdb57092f16 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern futures_channel=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_channel-fccb7dd58e2770b3.rmeta --extern futures_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_core-738eec1506ba0c8a.rmeta --extern futures_io=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_io-2b7a353ae2ff93a8.rmeta --extern futures_macro=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_macro-23c2e12c5ee12297.so --extern futures_sink=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_sink-1b11c093b198c292.rmeta --extern futures_task=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_task-6de1b425a6dde49b.rmeta --extern memchr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemchr-527216bec0cb1b7e.rmeta --extern pin_project_lite=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpin_project_lite-4815195a6e124a28.rmeta --extern pin_utils=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpin_utils-a77bb3db890265ba.rmeta --extern slab=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libslab-f78ed390d6af650c.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/portable-atomic-edeb980c751303e2/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/paste-00421b7bfda7316a/build-script-build` Compiling ahash v0.8.12 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/ahash-0.8.12/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="getrandom"' --cfg 'feature="runtime-rng"' --cfg 'feature="serde"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("atomic-polyfill", "compile-time-rng", "const-random", "default", "getrandom", "nightly-arm-aes", "no-rng", "runtime-rng", "serde", "std"))' -C metadata=7bba44e8e4620a32 -C extra-filename=-26555c5849bd67ee --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/ahash-26555c5849bd67ee -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern version_check=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libversion_check-69a08fe75216665f.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/matrixmultiply-25d9f848c1b48403/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/pyo3-44e0bdd4d824df12/build-script-build` Running `/usr/bin/rustc --crate-name rayon_core --edition=2021 /usr/share/cargo/registry/rayon-core-1.13.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=49d186e985acb831 -C extra-filename=-c1ff9e886698b82f --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern crossbeam_deque=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcrossbeam_deque-be252e2d2d49ca18.rmeta --extern crossbeam_utils=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcrossbeam_utils-72f1e8b21fe90a5a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling derive_builder_core v0.20.2 Running `/usr/bin/rustc --crate-name derive_builder_core --edition=2018 /usr/share/cargo/registry/derive_builder_core-0.20.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="lib_has_std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "clippy", "lib_has_std"))' -C metadata=2d4d01bb37bd80bb -C extra-filename=-ea2edc2960e82267 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern darling=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libdarling-de8f43130e4a4e14.rmeta --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rmeta --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rmeta --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name memoffset --edition=2015 /usr/share/cargo/registry/memoffset-0.9.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "unstable_const", "unstable_offset_of"))' -C metadata=6e99255fb6580148 -C extra-filename=-4e2c22e2e65e19ba --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg tuple_ty --cfg allow_clippy --cfg maybe_uninit --cfg doctests --cfg raw_ref_macros --cfg stable_const --cfg stable_offset_of` Running `/usr/bin/rustc --crate-name rustversion --edition=2018 /usr/share/cargo/registry/rustversion-1.0.22/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=5e21f32985de1e0d -C extra-filename=-ca059b613d8a3d53 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(cfg_macro_not_allowed)' --check-cfg 'cfg(host_os, values("windows"))'` Running `/usr/bin/rustc --crate-name regex --edition=2021 /usr/share/cargo/registry/regex-1.12.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' --cfg 'feature="default"' --cfg 'feature="perf"' --cfg 'feature="perf-backtrack"' --cfg 'feature="perf-cache"' --cfg 'feature="perf-dfa"' --cfg 'feature="perf-inline"' --cfg 'feature="perf-literal"' --cfg 'feature="perf-onepass"' --cfg 'feature="std"' --cfg 'feature="unicode"' --cfg 'feature="unicode-age"' --cfg 'feature="unicode-bool"' --cfg 'feature="unicode-case"' --cfg 'feature="unicode-gencat"' --cfg 'feature="unicode-perl"' --cfg 'feature="unicode-script"' --cfg 'feature="unicode-segment"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "logging", "pattern", "perf", "perf-backtrack", "perf-cache", "perf-dfa", "perf-dfa-full", "perf-inline", "perf-literal", "perf-onepass", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "unstable", "use_std"))' -C metadata=90c75f8d7b19cdcc -C extra-filename=-fa955bfdd7d329b9 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern aho_corasick=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libaho_corasick-57d2c33d397c8638.rmeta --extern memchr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemchr-527216bec0cb1b7e.rmeta --extern regex_automata=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex_automata-20bab4bf9f29defb.rmeta --extern regex_syntax=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex_syntax-bf306e223f5ca226.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling ppv-lite86 v0.2.21 Running `/usr/bin/rustc --crate-name ppv_lite86 --edition=2021 /usr/share/cargo/registry/ppv-lite86-0.2.21/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="simd"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "no_simd", "simd", "std"))' -C metadata=b8e09f42ef194973 -C extra-filename=-a362d3ca943b9e8c --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern zerocopy=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libzerocopy-8eaca7754de9ab53.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rand_core v0.9.3 Running `/usr/bin/rustc --crate-name rand_core --edition=2021 /usr/share/cargo/registry/rand_core-0.9.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="os_rng"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("os_rng", "serde", "std"))' -C metadata=d31cd329a0c4da71 -C extra-filename=-6e41d85479a0786a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern getrandom=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libgetrandom-c0fddfb8ed60e42b.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name pyo3_ffi --edition=2021 /usr/share/cargo/registry/pyo3-ffi-0.25.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' --cfg 'feature="abi3"' --cfg 'feature="abi3-py310"' --cfg 'feature="abi3-py311"' --cfg 'feature="abi3-py312"' --cfg 'feature="abi3-py313"' --cfg 'feature="abi3-py314"' --cfg 'feature="abi3-py39"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("abi3", "abi3-py310", "abi3-py311", "abi3-py312", "abi3-py313", "abi3-py314", "abi3-py37", "abi3-py38", "abi3-py39", "default", "extension-module", "generate-import-lib"))' -C metadata=7c1793af575963bc -C extra-filename=-2b19144556709bd8 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg Py_3_7 --cfg Py_3_8 --cfg Py_3_9 --cfg Py_LIMITED_API --cfg rustc_has_once_lock --cfg cargo_toml_lints --cfg rustc_has_extern_c_unwind --cfg invalid_from_utf8_lint --cfg c_str_lit --cfg diagnostic_namespace --cfg io_error_more --cfg fn_ptr_eq --check-cfg 'cfg(Py_LIMITED_API)' --check-cfg 'cfg(Py_GIL_DISABLED)' --check-cfg 'cfg(PyPy)' --check-cfg 'cfg(GraalPy)' --check-cfg 'cfg(py_sys_config, values("Py_DEBUG", "Py_REF_DEBUG", "Py_TRACE_REFS", "COUNT_ALLOCS"))' --check-cfg 'cfg(pyo3_disable_reference_pool)' --check-cfg 'cfg(pyo3_leak_on_drop_without_reference_pool)' --check-cfg 'cfg(Py_3_7)' --check-cfg 'cfg(Py_3_8)' --check-cfg 'cfg(Py_3_9)' --check-cfg 'cfg(Py_3_10)' --check-cfg 'cfg(Py_3_11)' --check-cfg 'cfg(Py_3_12)' --check-cfg 'cfg(Py_3_13)' --check-cfg 'cfg(Py_3_14)' --check-cfg 'cfg(rustc_has_once_lock)' --check-cfg 'cfg(cargo_toml_lints)' --check-cfg 'cfg(rustc_has_extern_c_unwind)' --check-cfg 'cfg(invalid_from_utf8_lint)' --check-cfg 'cfg(c_str_lit)' --check-cfg 'cfg(diagnostic_namespace)' --check-cfg 'cfg(io_error_more)' --check-cfg 'cfg(fn_ptr_eq)'` Compiling esaxx-rs v0.1.10 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/esaxx-rs-0.1.10/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="cc"' --cfg 'feature="cpp"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cc", "cpp", "default"))' -C metadata=d2af4c44f4b43682 -C extra-filename=-b4ad2d87d3d67f9a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/esaxx-rs-b4ad2d87d3d67f9a -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern cc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcc-99209f65e3536a2c.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name log --edition=2021 /usr/share/cargo/registry/log-0.4.28/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("kv", "max_level_debug", "max_level_error", "max_level_info", "max_level_off", "max_level_trace", "max_level_warn", "release_max_level_debug", "release_max_level_error", "release_max_level_info", "release_max_level_off", "release_max_level_trace", "release_max_level_warn", "serde", "std"))' -C metadata=ef38372d23fa7c2e -C extra-filename=-3b1e24f3168045c6 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling thiserror v2.0.17 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/thiserror-2.0.17/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=85bb8f75031ba425 -C extra-filename=-18c4d5c66eae6bc5 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/thiserror-18c4d5c66eae6bc5 -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling serde_json v1.0.145 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/serde_json-1.0.145/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "arbitrary_precision", "default", "float_roundtrip", "indexmap", "preserve_order", "raw_value", "std", "unbounded_depth"))' -C metadata=ab463ab445e33b35 -C extra-filename=-ef8cfde35d70bb9b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/serde_json-ef8cfde35d70bb9b -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling indoc v2.0.7 Running `/usr/bin/rustc --crate-name indoc --edition=2021 /usr/share/cargo/registry/indoc-2.0.7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=bfec964b2af87a85 -C extra-filename=-1b8a2c011928f2f1 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling itoa v1.0.15 Running `/usr/bin/rustc --crate-name itoa --edition=2018 /usr/share/cargo/registry/itoa-1.0.15/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("no-panic"))' -C metadata=ad8ebf215b6a5956 -C extra-filename=-53afbbd509aed77f --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling ryu v1.0.20 Running `/usr/bin/rustc --crate-name ryu --edition=2018 /usr/share/cargo/registry/ryu-1.0.20/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("no-panic", "small"))' -C metadata=96533d75b7df046c -C extra-filename=-d31e26fa9105ee66 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling utf8parse v0.2.2 Running `/usr/bin/rustc --crate-name utf8parse --edition=2018 /usr/share/cargo/registry/utf8parse-0.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly"))' -C metadata=4b9b3fc051341161 -C extra-filename=-80dc02a003a71651 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rawpointer v0.2.1 Running `/usr/bin/rustc --crate-name rawpointer --edition=2015 /usr/share/cargo/registry/rawpointer-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=ef54b97468236b1d -C extra-filename=-d3a118116073c1e5 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling unicode-width v0.2.2 Running `/usr/bin/rustc --crate-name unicode_width --edition=2021 /usr/share/cargo/registry/unicode-width-0.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="cjk"' --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cjk", "core", "default", "no_std", "rustc-dep-of-std", "std"))' -C metadata=c9af2fa9c75ffd16 -C extra-filename=-f091c26a28f794e1 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name minimal_lexical --edition=2018 /usr/share/cargo/registry/minimal-lexical-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "compact", "default", "lint", "nightly", "std"))' -C metadata=c61e04875257e006 -C extra-filename=-f5dc0c1c9bdd2df5 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling unindent v0.2.4 Running `/usr/bin/rustc --crate-name unindent --edition=2021 /usr/share/cargo/registry/unindent-0.2.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=96eb3e56d6987444 -C extra-filename=-15a41c8cd8433c5c --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name nom --edition=2018 /usr/share/cargo/registry/nom-7.1.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "docsrs", "std"))' -C metadata=4e81e54e412f62c3 -C extra-filename=-e99da0fb76502dca --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern memchr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemchr-527216bec0cb1b7e.rmeta --extern minimal_lexical=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libminimal_lexical-f5dc0c1c9bdd2df5.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling console v0.16.1 Running `/usr/bin/rustc --crate-name console --edition=2021 /usr/share/cargo/registry/console-0.16.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="ansi-parsing"' --cfg 'feature="std"' --cfg 'feature="unicode-width"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "ansi-parsing", "default", "std", "unicode-width", "windows-console-colors"))' -C metadata=d5792398ce5cb9d3 -C extra-filename=-8ad059f6e365b2b0 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --extern once_cell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonce_cell-7a7e190c07d6fbbc.rmeta --extern unicode_width=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_width-f091c26a28f794e1.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name matrixmultiply --edition=2018 /usr/share/cargo/registry/matrixmultiply-0.3.10/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="cgemm"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cgemm", "constconf", "default", "num_cpus", "once_cell", "std", "thread-tree", "threading"))' -C metadata=342ff17b0b85c783 -C extra-filename=-c19ab52da89f59a0 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern rawpointer=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librawpointer-d3a118116073c1e5.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling anstyle-parse v0.2.7 Running `/usr/bin/rustc --crate-name anstyle_parse --edition=2021 /usr/share/cargo/registry/anstyle-parse-0.2.7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --cfg 'feature="default"' --cfg 'feature="utf8"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("core", "default", "utf8"))' -C metadata=3a4a7b04708c303d -C extra-filename=-0cc1d4b6f981a133 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern utf8parse=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libutf8parse-80dc02a003a71651.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling derive_builder_macro v0.20.2 Running `/usr/bin/rustc --crate-name derive_builder_macro --edition=2018 /usr/share/cargo/registry/derive_builder_macro-0.20.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="lib_has_std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "clippy", "lib_has_std"))' -C metadata=f620cd038a070563 -C extra-filename=-edfd7b4577077bc8 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern derive_builder_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libderive_builder_core-ea2edc2960e82267.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pyo3-macros v0.25.1 Running `/usr/bin/rustc --crate-name pyo3_macros --edition=2021 /usr/share/cargo/registry/pyo3-macros-0.25.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("experimental-async", "experimental-inspect", "multiple-pymethods"))' -C metadata=e3a38f9d3b24b974 -C extra-filename=-a54b82e30e93a755 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rlib --extern pyo3_macros_backend=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_macros_backend-be7c7290b7581985.rlib --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/serde_json-ef8cfde35d70bb9b/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/thiserror-18c4d5c66eae6bc5/build-script-build` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/esaxx-rs-b4ad2d87d3d67f9a/build-script-build` Compiling rand_chacha v0.9.0 Running `/usr/bin/rustc --crate-name rand_chacha --edition=2021 /usr/share/cargo/registry/rand_chacha-0.9.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "os_rng", "serde", "std"))' -C metadata=60957f1ae908695e -C extra-filename=-85a5c6de325b5971 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern ppv_lite86=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libppv_lite86-a362d3ca943b9e8c.rmeta --extern rand_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librand_core-6e41d85479a0786a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling castaway v0.2.4 Running `/usr/bin/rustc --crate-name castaway --edition=2018 /usr/share/cargo/registry/castaway-0.2.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "std"))' -C metadata=2b956fc0eb4b2bee -C extra-filename=-37ba6a452401c988 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern rustversion=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librustversion-ca059b613d8a3d53.so --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling futures-executor v0.3.31 Running `/usr/bin/rustc --crate-name futures_executor --edition=2018 /usr/share/cargo/registry/futures-executor-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "num_cpus", "std", "thread-pool"))' -C metadata=1367520e19616942 -C extra-filename=-0214899b8b356c82 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern futures_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_core-738eec1506ba0c8a.rmeta --extern futures_task=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_task-6de1b425a6dde49b.rmeta --extern futures_util=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_util-67aeefdb57092f16.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rayon v1.11.0 Running `/usr/bin/rustc --crate-name rayon --edition=2021 /usr/share/cargo/registry/rayon-1.11.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=001ad80f186f43e9 -C extra-filename=-9a26d2dbe173fec5 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern either=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libeither-3b983dfce2ccd9f0.rmeta --extern rayon_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librayon_core-c1ff9e886698b82f.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/ahash-26555c5849bd67ee/build-script-build` Running `/usr/bin/rustc --crate-name paste --edition=2018 /usr/share/cargo/registry/paste-1.0.15/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=86a2ba0619c6a372 -C extra-filename=-afe7f54c84feed88 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(no_literal_fromstr)' --check-cfg 'cfg(feature, values("protocol_feature_paste"))'` Compiling onig_sys v69.8.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/onig_sys-69.8.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("bindgen", "default", "generate", "posix-api", "print-debug"))' -C metadata=7ca50b50d23da0b0 -C extra-filename=-e6e3fd5a7da2889a --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/onig_sys-e6e3fd5a7da2889a -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern bindgen=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libbindgen-312e76115f4d3b59.rlib --extern cc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcc-99209f65e3536a2c.rlib --extern pkg_config=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpkg_config-f4230f56a6ec6fa2.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name portable_atomic --edition=2018 /usr/share/cargo/registry/portable-atomic-1.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no '--warn=clippy::unused_trait_names' --warn=unreachable_pub --warn=unnameable_types --warn=unexpected_cfgs '--warn=clippy::undocumented_unsafe_blocks' '--warn=clippy::transmute_undefined_repr' '--warn=clippy::trailing_empty_array' --warn=single_use_lifetimes --warn=rust_2018_idioms '--warn=clippy::pedantic' --warn=non_ascii_idents '--warn=clippy::inline_asm_x86_att_syntax' --warn=improper_ctypes_definitions --warn=improper_ctypes --warn=deprecated_safe '--warn=clippy::default_union_representation' '--warn=clippy::as_underscore' '--warn=clippy::as_ptr_cast_mut' '--warn=clippy::all' '--allow=clippy::unreadable_literal' '--allow=clippy::type_complexity' '--allow=clippy::too_many_lines' '--allow=clippy::too_many_arguments' '--allow=clippy::struct_field_names' '--allow=clippy::struct_excessive_bools' '--allow=clippy::single_match_else' '--allow=clippy::single_match' '--allow=clippy::similar_names' '--allow=clippy::range_plus_one' '--allow=clippy::nonminimal_bool' '--allow=clippy::naive_bytecount' '--allow=clippy::module_name_repetitions' '--allow=clippy::missing_errors_doc' '--allow=clippy::manual_range_contains' '--allow=clippy::manual_assert' '--allow=clippy::lint_groups_priority' '--allow=clippy::incompatible_msrv' '--allow=clippy::float_cmp' '--allow=clippy::doc_markdown' '--allow=clippy::declare_interior_mutable_const' '--allow=clippy::cast_lossless' '--allow=clippy::borrow_as_ptr' '--allow=clippy::bool_assert_comparison' --check-cfg 'cfg(target_arch,values("xtensa"))' --check-cfg 'cfg(target_arch,values("amdgpu"))' --check-cfg 'cfg(target_arch,values("loongarch32"))' --check-cfg 'cfg(target_os,values("psx"))' --check-cfg 'cfg(target_env,values("psx"))' --check-cfg 'cfg(target_feature,values("lse2","lse128","rcpc3"))' --check-cfg 'cfg(target_feature,values("quadword-atomics"))' --check-cfg 'cfg(target_feature,values("zaamo","zabha"))' --check-cfg 'cfg(target_feature,values("zacas"))' --check-cfg 'cfg(target_pointer_width,values("128"))' --check-cfg 'cfg(portable_atomic_no_outline_atomics,portable_atomic_outline_atomics,portable_atomic_unstable_f16,portable_atomic_unstable_f128)' --check-cfg 'cfg(portable_atomic_unstable_coerce_unsized)' --check-cfg 'cfg(portable_atomic_test_detect_false,portable_atomic_test_no_std_static_assert_ffi,qemu,valgrind)' --cfg 'feature="default"' --cfg 'feature="fallback"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("critical-section", "default", "disable-fiq", "fallback", "float", "force-amo", "require-cas", "s-mode", "serde", "std", "unsafe-assume-single-core"))' -C metadata=117c120e78fa4053 -C extra-filename=-6f59f2b801a24114 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(target_feature,values("lsfe","fast-serialization","load-store-on-cond","distinct-ops","miscellaneous-extensions-3"))' --check-cfg 'cfg(portable_atomic_disable_fiq,portable_atomic_force_amo,portable_atomic_ll_sc_rmw,portable_atomic_atomic_intrinsics,portable_atomic_no_asm,portable_atomic_no_asm_maybe_uninit,portable_atomic_no_atomic_64,portable_atomic_no_atomic_cas,portable_atomic_no_atomic_load_store,portable_atomic_no_atomic_min_max,portable_atomic_no_cfg_target_has_atomic,portable_atomic_no_cmpxchg16b_intrinsic,portable_atomic_no_cmpxchg16b_target_feature,portable_atomic_no_const_mut_refs,portable_atomic_no_const_raw_ptr_deref,portable_atomic_no_const_transmute,portable_atomic_no_core_unwind_safe,portable_atomic_no_diagnostic_namespace,portable_atomic_no_offset_of,portable_atomic_no_strict_provenance,portable_atomic_no_stronger_failure_ordering,portable_atomic_no_track_caller,portable_atomic_no_unsafe_op_in_unsafe_fn,portable_atomic_pre_llvm_15,portable_atomic_pre_llvm_16,portable_atomic_pre_llvm_18,portable_atomic_pre_llvm_20,portable_atomic_s_mode,portable_atomic_sanitize_thread,portable_atomic_target_feature,portable_atomic_unsafe_assume_single_core,portable_atomic_unstable_asm,portable_atomic_unstable_asm_experimental_arch,portable_atomic_unstable_cfg_target_has_atomic,portable_atomic_unstable_isa_attribute)' --check-cfg 'cfg(portable_atomic_target_feature,values("cmpxchg16b","distinct-ops","fast-serialization","load-store-on-cond","lse","lse128","lse2","lsfe","mclass","miscellaneous-extensions-3","quadword-atomics","rcpc3","v6","zaamo","zabha","zacas"))'` Compiling itertools v0.14.0 Running `/usr/bin/rustc --crate-name itertools --edition=2018 /usr/share/cargo/registry/itertools-0.14.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="use_alloc"' --cfg 'feature="use_std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "use_alloc", "use_std"))' -C metadata=cd30a7097cf54d05 -C extra-filename=-aa1567fb787a5f9b --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern either=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libeither-3b983dfce2ccd9f0.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling num-integer v0.1.46 Running `/usr/bin/rustc --crate-name num_integer --edition=2018 /usr/share/cargo/registry/num-integer-0.1.46/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "i128", "std"))' -C metadata=2ce5a3338f279f2c -C extra-filename=-e0f5d988edae41cc --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern num_traits=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_traits-ee472ebd2de52d7d.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name pyo3 --edition=2021 /usr/share/cargo/registry/pyo3-0.25.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' --cfg 'feature="abi3"' --cfg 'feature="abi3-py310"' --cfg 'feature="abi3-py311"' --cfg 'feature="abi3-py312"' --cfg 'feature="abi3-py313"' --cfg 'feature="abi3-py314"' --cfg 'feature="abi3-py39"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="indoc"' --cfg 'feature="macros"' --cfg 'feature="py-clone"' --cfg 'feature="pyo3-macros"' --cfg 'feature="unindent"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("abi3", "abi3-py310", "abi3-py311", "abi3-py312", "abi3-py313", "abi3-py314", "abi3-py37", "abi3-py38", "abi3-py39", "anyhow", "arc_lock", "auto-initialize", "bigdecimal", "chrono", "chrono-local", "chrono-tz", "default", "either", "experimental-async", "experimental-inspect", "extension-module", "eyre", "full", "hashbrown", "indexmap", "indoc", "inventory", "jiff-02", "lock_api", "macros", "multiple-pymethods", "nightly", "num-bigint", "num-complex", "num-rational", "ordered-float", "parking_lot", "py-clone", "pyo3-macros", "rust_decimal", "serde", "smallvec", "time", "unindent", "uuid"))' -C metadata=8f9392a6e74d853f -C extra-filename=-c586da2d09fae823 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern indoc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libindoc-1b8a2c011928f2f1.so --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --extern memoffset=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemoffset-4e2c22e2e65e19ba.rmeta --extern once_cell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonce_cell-7a7e190c07d6fbbc.rmeta --extern pyo3_ffi=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_ffi-2b19144556709bd8.rmeta --extern pyo3_macros=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_macros-a54b82e30e93a755.so --extern unindent=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunindent-15a41c8cd8433c5c.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg Py_3_7 --cfg Py_3_8 --cfg Py_3_9 --cfg Py_LIMITED_API --cfg rustc_has_once_lock --cfg cargo_toml_lints --cfg rustc_has_extern_c_unwind --cfg invalid_from_utf8_lint --cfg c_str_lit --cfg diagnostic_namespace --cfg io_error_more --cfg fn_ptr_eq --check-cfg 'cfg(Py_LIMITED_API)' --check-cfg 'cfg(Py_GIL_DISABLED)' --check-cfg 'cfg(PyPy)' --check-cfg 'cfg(GraalPy)' --check-cfg 'cfg(py_sys_config, values("Py_DEBUG", "Py_REF_DEBUG", "Py_TRACE_REFS", "COUNT_ALLOCS"))' --check-cfg 'cfg(pyo3_disable_reference_pool)' --check-cfg 'cfg(pyo3_leak_on_drop_without_reference_pool)' --check-cfg 'cfg(Py_3_7)' --check-cfg 'cfg(Py_3_8)' --check-cfg 'cfg(Py_3_9)' --check-cfg 'cfg(Py_3_10)' --check-cfg 'cfg(Py_3_11)' --check-cfg 'cfg(Py_3_12)' --check-cfg 'cfg(Py_3_13)' --check-cfg 'cfg(Py_3_14)' --check-cfg 'cfg(rustc_has_once_lock)' --check-cfg 'cfg(cargo_toml_lints)' --check-cfg 'cfg(rustc_has_extern_c_unwind)' --check-cfg 'cfg(invalid_from_utf8_lint)' --check-cfg 'cfg(c_str_lit)' --check-cfg 'cfg(diagnostic_namespace)' --check-cfg 'cfg(io_error_more)' --check-cfg 'cfg(fn_ptr_eq)'` Compiling num-complex v0.4.6 Running `/usr/bin/rustc --crate-name num_complex --edition=2021 /usr/share/cargo/registry/num-complex-0.4.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("bytecheck", "bytemuck", "default", "libm", "rand", "rkyv", "serde", "std"))' -C metadata=126f2a14f91280b7 -C extra-filename=-8ca355f49f8d27b7 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern num_traits=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_traits-ee472ebd2de52d7d.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/onig_sys-e6e3fd5a7da2889a/build-script-build` Running `/usr/bin/rustc --crate-name onig_sys --edition=2018 /usr/share/cargo/registry/onig_sys-69.8.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("bindgen", "default", "generate", "posix-api", "print-debug"))' -C metadata=5d449702d26d2b7c -C extra-filename=-0a0826d7bcae2914 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/usr/lib64 -l onig` Compiling tokio-macros v2.6.0 Running `/usr/bin/rustc --crate-name tokio_macros --edition=2021 /usr/share/cargo/registry/tokio-macros-2.6.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(fuzzing)' --check-cfg 'cfg(loom)' --check-cfg 'cfg(mio_unsupported_force_poll_poll)' --check-cfg 'cfg(tokio_allow_from_blocking_fd)' --check-cfg 'cfg(tokio_internal_mt_counters)' --check-cfg 'cfg(tokio_no_parking_lot)' --check-cfg 'cfg(tokio_no_tuning_tests)' --check-cfg 'cfg(tokio_unstable)' --check-cfg 'cfg(target_os, values("cygwin"))' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=915e402219439ba7 -C extra-filename=-3aecf3bebfd954ac --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rlib --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling thiserror-impl v2.0.17 Running `/usr/bin/rustc --crate-name thiserror_impl --edition=2021 /usr/share/cargo/registry/thiserror-impl-2.0.17/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=77013bab9dad09ea -C extra-filename=-ce057995099cc7be --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rlib --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling monostate-impl v1.0.2 Running `/usr/bin/rustc --crate-name monostate_impl --edition=2021 /usr/share/cargo/registry/monostate-impl-1.0.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=89e6bfd39aa51420 -C extra-filename=-17248b89c2b1baa7 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro2=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libproc_macro2-d6f34fdf245e6471.rlib --extern quote=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libquote-78e21cf42a1b34d7.rlib --extern syn=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsyn-99cb0c097afc2d19.rlib --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling numpy v0.25.0 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/numpy-0.25.0/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("half", "nalgebra"))' -C metadata=66b731ab8042e2fb -C extra-filename=-93c317f5b6cc577f --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/numpy-93c317f5b6cc577f -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern pyo3_build_config=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_build_config-34be3631c8777201.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling mio v1.1.0 Running `/usr/bin/rustc --crate-name mio --edition=2021 /usr/share/cargo/registry/mio-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(mio_unsupported_force_poll_poll)' --check-cfg 'cfg(mio_unsupported_force_waker_pipe)' --cfg 'feature="net"' --cfg 'feature="os-ext"' --cfg 'feature="os-poll"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "log", "net", "os-ext", "os-poll"))' -C metadata=4e8c8c4ea852ad39 -C extra-filename=-c0bd0aba9ebe6552 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling signal-hook-registry v1.4.6 Running `/usr/bin/rustc --crate-name signal_hook_registry --edition=2015 /usr/share/cargo/registry/signal-hook-registry-1.4.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=69fd6fc5481113e9 -C extra-filename=-31b1ccdae44519fa --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling unit-prefix v0.5.1 Running `/usr/bin/rustc --crate-name unit_prefix --edition=2018 /usr/share/cargo/registry/unit-prefix-0.5.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=67dfa240fff58dc6 -C extra-filename=-0685d1874b5fbad1 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling bitflags v1.3.2 Running `/usr/bin/rustc --crate-name bitflags --edition=2018 /usr/share/cargo/registry/bitflags-1.3.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "example_generated"))' -C metadata=07792e8a1d7a36e1 -C extra-filename=-b6c5ed37c47ab4be --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling macro_rules_attribute-proc_macro v0.2.2 Running `/usr/bin/rustc --crate-name macro_rules_attribute_proc_macro --edition=2018 /usr/share/cargo/registry/macro_rules_attribute-proc_macro-0.2.2/mod.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("verbose-expansions"))' -C metadata=ab2d2a59b32630d2 -C extra-filename=-6fceb1ab865f8e5c --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern proc_macro --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling static_assertions v1.1.0 Running `/usr/bin/rustc --crate-name static_assertions --edition=2015 /usr/share/cargo/registry/static_assertions-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("nightly"))' -C metadata=c0a93494b3d543d4 -C extra-filename=-e2603c2cd71c9abf --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling unicode-segmentation v1.12.0 Running `/usr/bin/rustc --crate-name unicode_segmentation --edition=2018 /usr/share/cargo/registry/unicode-segmentation-1.12.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("no_std"))' -C metadata=dde4e12bfcfdbd42 -C extra-filename=-56e8c885c93809b4 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling anstyle v1.0.13 Running `/usr/bin/rustc --crate-name anstyle --edition=2021 /usr/share/cargo/registry/anstyle-1.0.13/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=388f5148f949aa70 -C extra-filename=-e63a3a0a917f0d80 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling smallvec v1.15.1 Running `/usr/bin/rustc --crate-name smallvec --edition=2018 /usr/share/cargo/registry/smallvec-1.15.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "bincode", "const_generics", "const_new", "debugger_visualizer", "drain_filter", "drain_keep_rest", "impl_bincode", "malloc_size_of", "may_dangle", "serde", "specialization", "union", "unty", "write"))' -C metadata=39031cc6c29b43c0 -C extra-filename=-e3deb6dd2768b4c7 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling anstyle-query v1.1.4 Running `/usr/bin/rustc --crate-name anstyle_query --edition=2021 /usr/share/cargo/registry/anstyle-query-1.1.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=44862090331e1688 -C extra-filename=-cdd0010deaee57ff --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling colorchoice v1.0.4 Running `/usr/bin/rustc --crate-name colorchoice --edition=2021 /usr/share/cargo/registry/colorchoice-1.0.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=304a66be30435cb7 -C extra-filename=-398bca27f60d9055 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling base64 v0.22.1 Running `/usr/bin/rustc --crate-name base64 --edition=2018 /usr/share/cargo/registry/base64-0.22.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "std"))' -C metadata=68f4f9780fe49d6a -C extra-filename=-9dd8ee6432d3a712 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling anstream v0.6.20 Running `/usr/bin/rustc --crate-name anstream --edition=2021 /usr/share/cargo/registry/anstream-0.6.20/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --cfg 'feature="auto"' --cfg 'feature="wincon"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("auto", "default", "test", "wincon"))' -C metadata=ff92e5c54354a23c -C extra-filename=-b51f745f0622a190 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern anstyle=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libanstyle-e63a3a0a917f0d80.rmeta --extern anstyle_parse=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libanstyle_parse-0cc1d4b6f981a133.rmeta --extern anstyle_query=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libanstyle_query-cdd0010deaee57ff.rmeta --extern colorchoice=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcolorchoice-398bca27f60d9055.rmeta --extern utf8parse=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libutf8parse-80dc02a003a71651.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling spm_precompiled v0.1.4 Running `/usr/bin/rustc --crate-name spm_precompiled --edition=2018 /usr/share/cargo/registry/spm_precompiled-0.1.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=b3aa1cdba593e28e -C extra-filename=-9619d61ec7a3a691 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern base64=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libbase64-9dd8ee6432d3a712.rmeta --extern nom=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnom-e99da0fb76502dca.rmeta --extern serde=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde-6f81549c5666b0f4.rmeta --extern unicode_segmentation=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_segmentation-56e8c885c93809b4.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling macro_rules_attribute v0.2.2 Running `/usr/bin/rustc --crate-name macro_rules_attribute --edition=2018 /usr/share/cargo/registry/macro_rules_attribute-0.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("better-docs", "default", "verbose-expansions"))' -C metadata=c34ce9b4bc984553 -C extra-filename=-d0dd1f8c97623917 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern macro_rules_attribute_proc_macro=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmacro_rules_attribute_proc_macro-6fceb1ab865f8e5c.so --extern paste=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpaste-afe7f54c84feed88.so --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling unicode-normalization-alignments v0.1.12 Running `/usr/bin/rustc --crate-name unicode_normalization_alignments --edition=2015 /usr/share/cargo/registry/unicode-normalization-alignments-0.1.12/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=86a837139a8f6e17 -C extra-filename=-bf560b2689f9b372 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern smallvec=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsmallvec-e3deb6dd2768b4c7.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling compact_str v0.9.0 Running `/usr/bin/rustc --crate-name compact_str --edition=2021 /usr/share/cargo/registry/compact_str-0.9.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="serde"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "bytes", "default", "proptest", "quickcheck", "rkyv", "serde", "smallvec", "std", "zeroize"))' -C metadata=5603b0f9b32153f0 -C extra-filename=-85a1685e91f44733 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern castaway=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcastaway-37ba6a452401c988.rmeta --extern cfg_if=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcfg_if-f01614ca748f34c8.rmeta --extern itoa=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libitoa-53afbbd509aed77f.rmeta --extern rustversion=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librustversion-ca059b613d8a3d53.so --extern ryu=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libryu-d31e26fa9105ee66.rmeta --extern serde=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde-6f81549c5666b0f4.rmeta --extern static_assertions=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libstatic_assertions-e2603c2cd71c9abf.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling tokio v1.48.0 Running `/usr/bin/rustc --crate-name tokio --edition=2021 /usr/share/cargo/registry/tokio-1.48.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(fuzzing)' --check-cfg 'cfg(loom)' --check-cfg 'cfg(mio_unsupported_force_poll_poll)' --check-cfg 'cfg(tokio_allow_from_blocking_fd)' --check-cfg 'cfg(tokio_internal_mt_counters)' --check-cfg 'cfg(tokio_no_parking_lot)' --check-cfg 'cfg(tokio_no_tuning_tests)' --check-cfg 'cfg(tokio_unstable)' --check-cfg 'cfg(target_os, values("cygwin"))' --cfg 'feature="default"' --cfg 'feature="libc"' --cfg 'feature="macros"' --cfg 'feature="mio"' --cfg 'feature="rt"' --cfg 'feature="rt-multi-thread"' --cfg 'feature="signal"' --cfg 'feature="signal-hook-registry"' --cfg 'feature="time"' --cfg 'feature="tokio-macros"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("bytes", "default", "fs", "full", "io-std", "io-util", "libc", "macros", "mio", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "signal-hook-registry", "socket2", "sync", "test-util", "time", "tokio-macros"))' -C metadata=37e79a9376ebf007 -C extra-filename=-4a0f38166d899163 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --extern mio=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmio-c0bd0aba9ebe6552.rmeta --extern pin_project_lite=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpin_project_lite-4815195a6e124a28.rmeta --extern signal_hook_registry=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libsignal_hook_registry-31b1ccdae44519fa.rmeta --extern tokio_macros=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libtokio_macros-3aecf3bebfd954ac.so --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling onig v6.4.0 Running `/usr/bin/rustc --crate-name onig --edition=2018 /usr/share/cargo/registry/onig-6.4.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "generate", "posix-api", "print-debug", "std-pattern"))' -C metadata=d89992045ea774c3 -C extra-filename=-ccefe58bde68f23d --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern bitflags=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libbitflags-b6c5ed37c47ab4be.rmeta --extern once_cell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonce_cell-7a7e190c07d6fbbc.rmeta --extern onig_sys=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonig_sys-0a0826d7bcae2914.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/usr/lib64` Compiling indicatif v0.18.1 Running `/usr/bin/rustc --crate-name indicatif --edition=2021 /usr/share/cargo/registry/indicatif-0.18.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="unicode-width"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "futures", "improved_unicode", "in_memory", "rayon", "tokio", "unicode-segmentation", "unicode-width", "vt100"))' -C metadata=c82747fdcc4e1168 -C extra-filename=-94f18c43303d3d44 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern console=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libconsole-8ad059f6e365b2b0.rmeta --extern portable_atomic=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libportable_atomic-6f59f2b801a24114.rmeta --extern unicode_width=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_width-f091c26a28f794e1.rmeta --extern unit_prefix=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunit_prefix-0685d1874b5fbad1.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/numpy-93c317f5b6cc577f/build-script-build` Compiling monostate v1.0.2 Running `/usr/bin/rustc --crate-name monostate --edition=2021 /usr/share/cargo/registry/monostate-1.0.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=2e641c91c641908c -C extra-filename=-7562da77f0dc63ce --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern monostate_impl=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmonostate_impl-17248b89c2b1baa7.so --extern serde_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde_core-b9310ca70c8e2eaa.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rayon-cond v0.4.0 Running `/usr/bin/rustc --crate-name rayon_cond --edition=2021 /usr/share/cargo/registry/rayon-cond-0.4.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=7ca1ef02642968a3 -C extra-filename=-f1cd3f56d2b123be --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern either=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libeither-3b983dfce2ccd9f0.rmeta --extern itertools=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libitertools-aa1567fb787a5f9b.rmeta --extern rayon=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librayon-9a26d2dbe173fec5.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling ndarray v0.16.1 Running `/usr/bin/rustc --crate-name ndarray --edition=2018 /usr/share/cargo/registry/ndarray-0.16.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("approx", "blas", "default", "docs", "matrixmultiply-threading", "portable-atomic-critical-section", "rayon", "serde", "serde-1", "std", "test"))' -C metadata=ddd9e0c3cc46d7ea -C extra-filename=-f764cb233c29f6d9 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern matrixmultiply=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmatrixmultiply-c19ab52da89f59a0.rmeta --extern num_complex=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_complex-8ca355f49f8d27b7.rmeta --extern num_integer=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_integer-e0f5d988edae41cc.rmeta --extern num_traits=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_traits-ee472ebd2de52d7d.rmeta --extern rawpointer=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librawpointer-d3a118116073c1e5.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name thiserror --edition=2021 /usr/share/cargo/registry/thiserror-2.0.17/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=0487df800e0f81c6 -C extra-filename=-71e0d58a7f96d047 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern thiserror_impl=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libthiserror_impl-ce057995099cc7be.so --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(error_generic_member_access)' --check-cfg 'cfg(thiserror_nightly_testing)' --check-cfg 'cfg(thiserror_no_backtrace_type)'` Running `/usr/bin/rustc --crate-name ahash --edition=2018 /usr/share/cargo/registry/ahash-0.8.12/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="getrandom"' --cfg 'feature="runtime-rng"' --cfg 'feature="serde"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("atomic-polyfill", "compile-time-rng", "const-random", "default", "getrandom", "nightly-arm-aes", "no-rng", "runtime-rng", "serde", "std"))' -C metadata=9649452d7a4c635c -C extra-filename=-69bd42d93244c4f9 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern cfg_if=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcfg_if-f01614ca748f34c8.rmeta --extern getrandom=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libgetrandom-c0fddfb8ed60e42b.rmeta --extern once_cell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonce_cell-7a7e190c07d6fbbc.rmeta --extern serde=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde-6f81549c5666b0f4.rmeta --extern zerocopy=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libzerocopy-8eaca7754de9ab53.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg folded_multiply --check-cfg 'cfg(specialize)' --check-cfg 'cfg(folded_multiply)'` Compiling futures v0.3.31 Running `/usr/bin/rustc --crate-name futures --edition=2018 /usr/share/cargo/registry/futures-0.3.31/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unreachable_pub --warn=unexpected_cfgs --warn=single_use_lifetimes --warn=rust_2018_idioms --warn=missing_debug_implementations --check-cfg 'cfg(futures_sanitizer)' --cfg 'feature="alloc"' --cfg 'feature="async-await"' --cfg 'feature="default"' --cfg 'feature="executor"' --cfg 'feature="futures-executor"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "async-await", "bilock", "cfg-target-has-atomic", "default", "executor", "futures-executor", "std", "thread-pool", "unstable", "write-all-vectored"))' -C metadata=7a73be8ec64da735 -C extra-filename=-0c2b5f9eadbd1aa3 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern futures_channel=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_channel-fccb7dd58e2770b3.rmeta --extern futures_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_core-738eec1506ba0c8a.rmeta --extern futures_executor=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_executor-0214899b8b356c82.rmeta --extern futures_io=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_io-2b7a353ae2ff93a8.rmeta --extern futures_sink=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_sink-1b11c093b198c292.rmeta --extern futures_task=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_task-6de1b425a6dde49b.rmeta --extern futures_util=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures_util-67aeefdb57092f16.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rand v0.9.2 Running `/usr/bin/rustc --crate-name rand --edition=2021 /usr/share/cargo/registry/rand-0.9.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="os_rng"' --cfg 'feature="small_rng"' --cfg 'feature="std"' --cfg 'feature="std_rng"' --cfg 'feature="thread_rng"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "log", "nightly", "os_rng", "serde", "simd_support", "small_rng", "std", "std_rng", "thread_rng", "unbiased"))' -C metadata=d89b0fb5279a3343 -C extra-filename=-9774650353080481 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern rand_chacha=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librand_chacha-85a5c6de325b5971.rmeta --extern rand_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librand_core-6e41d85479a0786a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name esaxx_rs --edition=2018 /usr/share/cargo/registry/esaxx-rs-0.1.10/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="cc"' --cfg 'feature="cpp"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cc", "cpp", "default"))' -C metadata=99b6477b7d3e4b4a -C extra-filename=-9769d29cbd23c422 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/esaxx-rs-60ac5a2e90e1e4aa/out -l static=esaxx -l stdc++` Running `/usr/bin/rustc --crate-name serde_json --edition=2021 /usr/share/cargo/registry/serde_json-1.0.145/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "arbitrary_precision", "default", "float_roundtrip", "indexmap", "preserve_order", "raw_value", "std", "unbounded_depth"))' -C metadata=83252e26d8cb805f -C extra-filename=-1293868a287847a2 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern itoa=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libitoa-53afbbd509aed77f.rmeta --extern memchr=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmemchr-527216bec0cb1b7e.rmeta --extern ryu=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libryu-d31e26fa9105ee66.rmeta --extern serde_core=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde_core-b9310ca70c8e2eaa.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg 'fast_arithmetic="64"' --check-cfg 'cfg(fast_arithmetic, values("32", "64"))'` Compiling derive_builder v0.20.2 Running `/usr/bin/rustc --crate-name derive_builder --edition=2018 /usr/share/cargo/registry/derive_builder-0.20.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(compiletests)' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "clippy", "default", "std"))' -C metadata=06591b0e71e4d76b -C extra-filename=-78e17baf13ee42d4 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern derive_builder_macro=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libderive_builder_macro-edfd7b4577077bc8.so --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling env_filter v0.1.4 Running `/usr/bin/rustc --crate-name env_filter --edition=2021 /usr/share/cargo/registry/env_filter-0.1.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --cfg 'feature="regex"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "regex"))' -C metadata=d2d31ea4dae6995a -C extra-filename=-7041756110c3bf39 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern log=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblog-3b1e24f3168045c6.rmeta --extern regex=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex-fa955bfdd7d329b9.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling dary_heap v0.3.8 Running `/usr/bin/rustc --crate-name dary_heap --edition=2018 /usr/share/cargo/registry/dary_heap-0.3.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="serde"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("extra", "serde", "unstable", "unstable_nightly"))' -C metadata=e2c2cd24a84adc8d -C extra-filename=-1820c2c8d42a91b9 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern serde=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde-6f81549c5666b0f4.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling unicode_categories v0.1.1 Running `/usr/bin/rustc --crate-name unicode_categories --edition=2015 /usr/share/cargo/registry/unicode_categories-0.1.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=89892773dcd0a572 -C extra-filename=-2cf7771adc179d39 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rustc-hash v2.1.1 Running `/usr/bin/rustc --crate-name rustc_hash --edition=2021 /usr/share/cargo/registry/rustc-hash-2.1.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "rand", "std"))' -C metadata=383f2108d69e3427 -C extra-filename=-9bc6a0003e7adbc3 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling jiff v0.2.16 Running `/usr/bin/rustc --crate-name jiff --edition=2021 /usr/share/cargo/registry/jiff-0.2.16/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_jiff)' --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "logging", "perf-inline", "serde", "std", "tz-fat", "tz-system", "tzdb-bundle-platform", "tzdb-concatenated", "tzdb-zoneinfo"))' -C metadata=daf29abe58e56a35 -C extra-filename=-e03b3ea7c5db508d --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name numpy --edition=2021 /usr/share/cargo/registry/numpy-0.25.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("half", "nalgebra"))' -C metadata=07e65d80eaa357f4 -C extra-filename=-476b09145f0fa6e8 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rmeta --extern ndarray=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libndarray-f764cb233c29f6d9.rmeta --extern num_complex=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_complex-8ca355f49f8d27b7.rmeta --extern num_integer=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_integer-e0f5d988edae41cc.rmeta --extern num_traits=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnum_traits-ee472ebd2de52d7d.rmeta --extern pyo3=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3-c586da2d09fae823.rmeta --extern rustc_hash=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librustc_hash-9bc6a0003e7adbc3.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg Py_3_7 --cfg Py_3_8 --cfg Py_3_9 --cfg Py_LIMITED_API --check-cfg 'cfg(Py_LIMITED_API)' --check-cfg 'cfg(Py_GIL_DISABLED)' --check-cfg 'cfg(PyPy)' --check-cfg 'cfg(GraalPy)' --check-cfg 'cfg(py_sys_config, values("Py_DEBUG", "Py_REF_DEBUG", "Py_TRACE_REFS", "COUNT_ALLOCS"))' --check-cfg 'cfg(pyo3_disable_reference_pool)' --check-cfg 'cfg(pyo3_leak_on_drop_without_reference_pool)' --check-cfg 'cfg(Py_3_7)' --check-cfg 'cfg(Py_3_8)' --check-cfg 'cfg(Py_3_9)' --check-cfg 'cfg(Py_3_10)' --check-cfg 'cfg(Py_3_11)' --check-cfg 'cfg(Py_3_12)' --check-cfg 'cfg(Py_3_13)' --check-cfg 'cfg(Py_3_14)'` Compiling tokenizers v0.22.1 Running `/usr/bin/rustc --crate-name tokenizers --edition=2018 /usr/share/cargo/registry/tokenizers-0.22.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="esaxx_fast"' --cfg 'feature="indicatif"' --cfg 'feature="onig"' --cfg 'feature="progressbar"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "esaxx_fast", "fancy-regex", "hf-hub", "http", "indicatif", "onig", "progressbar", "rustls-tls", "unstable_wasm"))' -C metadata=e023015089a5b038 -C extra-filename=-bd70ed5546ab4717 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern ahash=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libahash-69bd42d93244c4f9.rmeta --extern aho_corasick=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libaho_corasick-57d2c33d397c8638.rmeta --extern compact_str=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libcompact_str-85a1685e91f44733.rmeta --extern dary_heap=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libdary_heap-1820c2c8d42a91b9.rmeta --extern derive_builder=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libderive_builder-78e17baf13ee42d4.rmeta --extern esaxx_rs=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libesaxx_rs-9769d29cbd23c422.rmeta --extern getrandom=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libgetrandom-c0fddfb8ed60e42b.rmeta --extern indicatif=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libindicatif-94f18c43303d3d44.rmeta --extern itertools=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libitertools-aa1567fb787a5f9b.rmeta --extern log=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblog-3b1e24f3168045c6.rmeta --extern macro_rules_attribute=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmacro_rules_attribute-d0dd1f8c97623917.rmeta --extern monostate=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libmonostate-7562da77f0dc63ce.rmeta --extern onig=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonig-ccefe58bde68f23d.rmeta --extern paste=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpaste-afe7f54c84feed88.so --extern rand=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librand-9774650353080481.rmeta --extern rayon=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librayon-9a26d2dbe173fec5.rmeta --extern rayon_cond=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librayon_cond-f1cd3f56d2b123be.rmeta --extern regex=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex-fa955bfdd7d329b9.rmeta --extern regex_syntax=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libregex_syntax-bf306e223f5ca226.rmeta --extern serde=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde-6f81549c5666b0f4.rmeta --extern serde_json=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde_json-1293868a287847a2.rmeta --extern spm_precompiled=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libspm_precompiled-9619d61ec7a3a691.rmeta --extern thiserror=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libthiserror-71e0d58a7f96d047.rmeta --extern unicode_normalization_alignments=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_normalization_alignments-bf560b2689f9b372.rmeta --extern unicode_segmentation=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_segmentation-56e8c885c93809b4.rmeta --extern unicode_categories=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libunicode_categories-2cf7771adc179d39.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/esaxx-rs-60ac5a2e90e1e4aa/out -L native=/usr/lib64` Compiling pyo3-async-runtimes v0.25.0 Running `/usr/bin/rustc --crate-name pyo3_async_runtimes --edition=2021 /usr/share/cargo/registry/pyo3-async-runtimes-0.25.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --cfg 'feature="tokio"' --cfg 'feature="tokio-runtime"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("async-channel", "async-std", "async-std-runtime", "attributes", "clap", "default", "inventory", "pyo3-async-runtimes-macros", "testing", "tokio", "tokio-runtime", "unstable-streams"))' -C metadata=b709b31e661b698c -C extra-filename=-518a8b7f59856834 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern futures=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libfutures-0c2b5f9eadbd1aa3.rmeta --extern once_cell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonce_cell-7a7e190c07d6fbbc.rmeta --extern pin_project_lite=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpin_project_lite-4815195a6e124a28.rmeta --extern pyo3=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3-c586da2d09fae823.rmeta --extern tokio=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libtokio-4a0f38166d899163.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling env_logger v0.11.8 Running `/usr/bin/rustc --crate-name env_logger --edition=2021 /usr/share/cargo/registry/env_logger-0.11.8/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--warn=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' --cfg 'feature="auto-color"' --cfg 'feature="color"' --cfg 'feature="default"' --cfg 'feature="humantime"' --cfg 'feature="regex"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("auto-color", "color", "default", "humantime", "kv", "regex", "unstable-kv"))' -C metadata=a85cb950f6d6a345 -C extra-filename=-3fd849ee4e05c684 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern anstream=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libanstream-b51f745f0622a190.rmeta --extern anstyle=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libanstyle-e63a3a0a917f0d80.rmeta --extern env_filter=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libenv_filter-7041756110c3bf39.rmeta --extern jiff=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libjiff-e03b3ea7c5db508d.rmeta --extern log=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblog-3b1e24f3168045c6.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling tokenizers-python v0.22.1 (/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python) Running `/usr/bin/rustc --crate-name tokenizers --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default"))' -C metadata=cb95b5d08f76d911 --out-dir /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps --extern ahash=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libahash-69bd42d93244c4f9.rlib --extern env_logger=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libenv_logger-3fd849ee4e05c684.rlib --extern itertools=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libitertools-aa1567fb787a5f9b.rlib --extern libc=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/liblibc-fa21727a8b1a7687.rlib --extern ndarray=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libndarray-f764cb233c29f6d9.rlib --extern numpy=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libnumpy-476b09145f0fa6e8.rlib --extern once_cell=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libonce_cell-7a7e190c07d6fbbc.rlib --extern pyo3=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3-c586da2d09fae823.rlib --extern pyo3_async_runtimes=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libpyo3_async_runtimes-518a8b7f59856834.rlib --extern rayon=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/librayon-9a26d2dbe173fec5.rlib --extern serde=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde-6f81549c5666b0f4.rlib --extern serde_json=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libserde_json-1293868a287847a2.rlib --extern tokenizers=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libtokenizers-bd70ed5546ab4717.rlib --extern tokio=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/deps/libtokio-4a0f38166d899163.rlib -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/release/build/esaxx-rs-60ac5a2e90e1e4aa/out -L native=/usr/lib64` Finished `release` profile [optimized] target(s) in 3m 22s 📦 Built wheel for abi3 Python ≥ 3.9 to /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/wheels/tokenizers-0.22.1-cp39-abi3-linux_x86_64.whl /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python/target/wheels/tokenizers-0.22.1-cp39-abi3-linux_x86_64.whl Building wheel for tokenizers (pyproject.toml): finished with status 'done' Created wheel for tokenizers: filename=tokenizers-0.22.1-cp39-abi3-linux_x86_64.whl size=19747063 sha256=0456a80a119d24339a81eab9bd3c3196e2b9a76c17f3e36e17b99cbc8c2348b8 Stored in directory: /builddir/.cache/pip/wheels/59/33/d0/e1ef1b201a6692f5b66736886eb16ceeb7206068051fba2d5b Successfully built tokenizers + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.NdndVB + umask 022 + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + '[' /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-tokenizers-0.22.1-build + mkdir /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd tokenizers-0.22.1 ++ ls /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir/tokenizers-0.22.1-cp39-abi3-linux_x86_64.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=tokenizers==0.22.1 + '[' -z tokenizers==0.22.1 ']' + TMPDIR=/builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir tokenizers==0.22.1 Using pip 25.2 from /usr/lib/python3.14/site-packages/pip (python 3.14) Looking in links: /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir Processing /builddir/build/BUILD/python-tokenizers-0.22.1-build/pyproject-wheeldir/tokenizers-0.22.1-cp39-abi3-linux_x86_64.whl Installing collected packages: tokenizers Successfully installed tokenizers-0.22.1 + '[' -d /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/bin ']' + rm -f /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + '[' /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages '!=' /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + '[' -d /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages ']' + site_dirs+=("/usr/lib64/python3.14/site-packages") + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost %dir /usr/lib64/python3.14/site-packages/tokenizers-0.22.1.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers-0.22.1.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT --record /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers-0.22.1.dist-info/RECORD --output /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers-0.22.1.dist-info/RECORD removed '/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers-0.22.1.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers-0.22.1.dist-info/REQUESTED removed '/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers-0.22.1.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-files --output-modules /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT --sitelib /usr/lib/python3.14/site-packages --sitearch /usr/lib64/python3.14/site-packages --python-version 3.14 --pyproject-record /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-record --prefix /usr -l tokenizers + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 0.22.1-1.fc44 --unique-debug-suffix -0.22.1-1.fc44.x86_64 --unique-debug-src-base python-tokenizers-0.22.1-1.fc44.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1 find-debuginfo: starting Extracting debug info from 1 files DWARF-compressing 1 files sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match. Creating .debug symlinks for symlinks to ELF files Copying sources found by 'debugedit -l' to /usr/src/debug/python-tokenizers-0.22.1-1.fc44.x86_64 find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 Bytecompiling .py files below /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib/debug/usr/lib64/python3.14 using python3.14 Bytecompiling .py files below /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14 using python3.14 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-det --brp -j4 /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/normalizers/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/__pycache__/byte_level_bpe.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/__pycache__/bert_wordpiece.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/__pycache__/sentencepiece_unigram.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/processors/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/trainers/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/pre_tokenizers/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/__pycache__/char_level_bpe.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/tools/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/decoders/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/models/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/__pycache__/sentencepiece_bpe.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/tools/__pycache__/visualizer.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/__pycache__/base_tokenizer.cpython-314.opt-1.pyc: rewriting with normalized contents Scanned 39 directories and 79 files, processed 16 inodes, 16 modified (0 replaced + 16 rewritten), 0 unsupported format, 0 errors + /usr/bin/linkdupes --brp /builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr Scanned 38 directories and 79 files, considered 79 files, read 4 files, linked 0 files, 0 errors sum of sizes of linked files: 0 bytes Reading /builddir/build/BUILD/python-tokenizers-0.22.1-build/SPECPARTS/rpm-debuginfo.specpart Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.gnLiQu + umask 022 + cd /builddir/build/BUILD/python-tokenizers-0.22.1-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd tokenizers-0.22.1 + '[' '!' -f /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-modules ']' + PATH=/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin + PYTHONPATH=/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib/python3.14/site-packages + _PYTHONSITE=/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib/python3.14/site-packages + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/python3 -sP /usr/lib/rpm/redhat/import_all_modules.py -f /builddir/build/BUILD/python-tokenizers-0.22.1-build/python-tokenizers-0.22.1-1.fc44.x86_64-pyproject-modules Check import: tokenizers Check import: tokenizers.decoders Check import: tokenizers.implementations Check import: tokenizers.implementations.base_tokenizer Check import: tokenizers.implementations.bert_wordpiece Check import: tokenizers.implementations.byte_level_bpe Check import: tokenizers.implementations.char_level_bpe Check import: tokenizers.implementations.sentencepiece_bpe Check import: tokenizers.implementations.sentencepiece_unigram Check import: tokenizers.models Check import: tokenizers.normalizers Check import: tokenizers.pre_tokenizers Check import: tokenizers.processors Check import: tokenizers.tokenizers Check import: tokenizers.tools Check import: tokenizers.tools.visualizer Check import: tokenizers.trainers + cd bindings/python + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin + PYTHONPATH=/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/python-tokenizers-0.22.1-build/BUILDROOT/usr/lib/python3.14/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-tokenizers-0.22.1-build/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=4 + /usr/bin/pytest -s -v ./tests/ --deselect=tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_datasets --deselect=tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_gzip /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:211: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset. The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session" warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET)) ============================= test session starts ============================== platform linux -- Python 3.14.0, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-tokenizers-0.22.1-build/tokenizers-0.22.1/bindings/python configfile: setup.cfg plugins: datadir-1.8.0, asyncio-1.1.0, xdist-3.7.0, anyio-4.8.0 asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function collecting ... collected 187 items / 2 deselected / 185 selected tests/bindings/test_decoders.py::TestByteLevel::test_instantiate PASSED tests/bindings/test_decoders.py::TestByteLevel::test_decoding PASSED tests/bindings/test_decoders.py::TestByteLevel::test_manual_reload PASSED tests/bindings/test_decoders.py::TestReplace::test_instantiate PASSED tests/bindings/test_decoders.py::TestReplace::test_decoding PASSED tests/bindings/test_decoders.py::TestWordPiece::test_instantiate PASSED tests/bindings/test_decoders.py::TestWordPiece::test_decoding PASSED tests/bindings/test_decoders.py::TestWordPiece::test_can_modify PASSED tests/bindings/test_decoders.py::TestByteFallback::test_instantiate PASSED tests/bindings/test_decoders.py::TestByteFallback::test_decoding PASSED tests/bindings/test_decoders.py::TestFuse::test_instantiate PASSED tests/bindings/test_decoders.py::TestFuse::test_decoding PASSED tests/bindings/test_decoders.py::TestStrip::test_instantiate PASSED tests/bindings/test_decoders.py::TestStrip::test_decoding PASSED tests/bindings/test_decoders.py::TestMetaspace::test_instantiate PASSED tests/bindings/test_decoders.py::TestMetaspace::test_decoding PASSED tests/bindings/test_decoders.py::TestMetaspace::test_can_modify PASSED tests/bindings/test_decoders.py::TestBPEDecoder::test_instantiate PASSED tests/bindings/test_decoders.py::TestBPEDecoder::test_decoding PASSED tests/bindings/test_decoders.py::TestBPEDecoder::test_can_modify PASSED tests/bindings/test_decoders.py::TestCTCDecoder::test_instantiate PASSED tests/bindings/test_decoders.py::TestCTCDecoder::test_decoding PASSED tests/bindings/test_decoders.py::TestCTCDecoder::test_can_modify PASSED tests/bindings/test_decoders.py::TestSequenceDecoder::test_instantiate PASSED tests/bindings/test_decoders.py::TestSequenceDecoder::test_decoding PASSED tests/bindings/test_encoding.py::TestEncoding::test_sequence_ids ERROR tests/bindings/test_encoding.py::TestEncoding::test_n_sequences ERROR tests/bindings/test_encoding.py::TestEncoding::test_word_to_tokens ERROR tests/bindings/test_encoding.py::TestEncoding::test_word_to_chars ERROR tests/bindings/test_encoding.py::TestEncoding::test_token_to_sequence ERROR tests/bindings/test_encoding.py::TestEncoding::test_token_to_chars ERROR tests/bindings/test_encoding.py::TestEncoding::test_token_to_word ERROR tests/bindings/test_encoding.py::TestEncoding::test_char_to_token ERROR tests/bindings/test_encoding.py::TestEncoding::test_char_to_word ERROR tests/bindings/test_encoding.py::TestEncoding::test_truncation ERROR tests/bindings/test_encoding.py::TestEncoding::test_invalid_truncate_direction ERROR tests/bindings/test_models.py::TestBPE::test_instantiate ERROR tests/bindings/test_models.py::TestBPE::test_can_modify PASSED tests/bindings/test_models.py::TestBPE::test_dropout_zero PASSED tests/bindings/test_models.py::TestWordPiece::test_instantiate PASSED tests/bindings/test_models.py::TestWordPiece::test_can_modify PASSED tests/bindings/test_models.py::TestWordLevel::test_instantiate ERROR tests/bindings/test_models.py::TestWordLevel::test_can_modify PASSED tests/bindings/test_normalizers.py::TestBertNormalizer::test_instantiate PASSED tests/bindings/test_normalizers.py::TestBertNormalizer::test_strip_accents PASSED tests/bindings/test_normalizers.py::TestBertNormalizer::test_handle_chinese_chars PASSED tests/bindings/test_normalizers.py::TestBertNormalizer::test_clean_text PASSED tests/bindings/test_normalizers.py::TestBertNormalizer::test_lowercase PASSED tests/bindings/test_normalizers.py::TestBertNormalizer::test_can_modify PASSED tests/bindings/test_normalizers.py::TestSequence::test_instantiate PASSED tests/bindings/test_normalizers.py::TestSequence::test_can_make_sequences PASSED tests/bindings/test_normalizers.py::TestSequence::test_set_item PASSED tests/bindings/test_normalizers.py::TestSequence::test_item_getters_and_setters PASSED tests/bindings/test_normalizers.py::TestLowercase::test_instantiate PASSED tests/bindings/test_normalizers.py::TestLowercase::test_lowercase PASSED tests/bindings/test_normalizers.py::TestStrip::test_instantiate PASSED tests/bindings/test_normalizers.py::TestStrip::test_left_strip PASSED tests/bindings/test_normalizers.py::TestStrip::test_right_strip PASSED tests/bindings/test_normalizers.py::TestStrip::test_full_strip PASSED tests/bindings/test_normalizers.py::TestStrip::test_can_modify PASSED tests/bindings/test_normalizers.py::TestPrepend::test_instantiate PASSED tests/bindings/test_normalizers.py::TestPrepend::test_prepend PASSED tests/bindings/test_normalizers.py::TestPrepend::test_can_modify PASSED tests/bindings/test_normalizers.py::TestCustomNormalizer::test_instantiate PASSED tests/bindings/test_normalizers.py::TestCustomNormalizer::test_normalizer_interface PASSED tests/bindings/test_pre_tokenizers.py::TestByteLevel::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestByteLevel::test_has_alphabet PASSED tests/bindings/test_pre_tokenizers.py::TestByteLevel::test_can_modify PASSED tests/bindings/test_pre_tokenizers.py::TestByteLevel::test_manual_reload PASSED tests/bindings/test_pre_tokenizers.py::TestSplit::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestWhitespace::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestWhitespaceSplit::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestBertPreTokenizer::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestMetaspace::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestMetaspace::test_can_modify PASSED tests/bindings/test_pre_tokenizers.py::TestCharDelimiterSplit::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestCharDelimiterSplit::test_can_modify PASSED tests/bindings/test_pre_tokenizers.py::TestPunctuation::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestSequence::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestSequence::test_bert_like PASSED tests/bindings/test_pre_tokenizers.py::TestSequence::test_set_item PASSED tests/bindings/test_pre_tokenizers.py::TestSequence::test_item_getters_and_setters PASSED tests/bindings/test_pre_tokenizers.py::TestDigits::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestDigits::test_can_modify PASSED tests/bindings/test_pre_tokenizers.py::TestFixedLength::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestFixedLength::test_pre_tokenize_str PASSED tests/bindings/test_pre_tokenizers.py::TestUnicodeScripts::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestCustomPreTokenizer::test_instantiate PASSED tests/bindings/test_pre_tokenizers.py::TestCustomPreTokenizer::test_camel_case PASSED tests/bindings/test_processors.py::TestBertProcessing::test_instantiate PASSED tests/bindings/test_processors.py::TestBertProcessing::test_processing PASSED tests/bindings/test_processors.py::TestRobertaProcessing::test_instantiate PASSED tests/bindings/test_processors.py::TestRobertaProcessing::test_processing PASSED tests/bindings/test_processors.py::TestByteLevelProcessing::test_instantiate PASSED tests/bindings/test_processors.py::TestByteLevelProcessing::test_processing ERROR tests/bindings/test_processors.py::TestByteLevelProcessing::test_manual_reload PASSED tests/bindings/test_processors.py::TestTemplateProcessing::test_instantiate PASSED tests/bindings/test_processors.py::TestTemplateProcessing::test_bert_parity PASSED tests/bindings/test_processors.py::TestTemplateProcessing::test_roberta_parity PASSED tests/bindings/test_processors.py::TestSequenceProcessing::test_sequence_processing PASSED tests/bindings/test_processors.py::TestSequenceProcessing::test_post_process PASSED tests/bindings/test_processors.py::TestSequenceProcessing::test_items ByteLevel(add_prefix_space=False, trim_offsets=False, use_regex=False) ByteLevel(add_prefix_space=True, trim_offsets=True, use_regex=True) PASSED tests/bindings/test_tokenizer.py::TestAddedToken::test_instantiate_with_content_only PASSED tests/bindings/test_tokenizer.py::TestAddedToken::test_can_set_rstrip PASSED tests/bindings/test_tokenizer.py::TestAddedToken::test_can_set_lstrip PASSED tests/bindings/test_tokenizer.py::TestAddedToken::test_can_set_single_world PASSED tests/bindings/test_tokenizer.py::TestAddedToken::test_can_set_normalized PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_has_expected_type_and_methods PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_add_tokens PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_add_special_tokens PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_encode PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_formats FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_add_special_tokens FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_truncation PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_padding PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_decode PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_stream_fallback FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_skip_special_tokens FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_stream PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_get_vocab PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_get_vocab_size PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_post_process PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_multiprocessing_with_parallelism PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained_revision FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_unigram_byte_fallback PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_special_tokens FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_splitting FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_special PASSED tests/bindings/test_tokenizer.py::TestTokenizer::test_setting_to_none PASSED tests/bindings/test_tokenizer.py::TestTokenizerRepr::test_repr PASSED tests/bindings/test_tokenizer.py::TestTokenizerRepr::test_repr_complete PASSED tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_basic_encoding ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_encode ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_with_special_tokens ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_with_truncation_padding ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_various_input_formats ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_error_handling ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_concurrency ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_decode ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_large_batch ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_numpy_inputs ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_async_methods_existence ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_performance_comparison ERROR tests/bindings/test_trainers.py::TestBpeTrainer::test_can_modify PASSED tests/bindings/test_trainers.py::TestBpeTrainer::test_can_pickle PASSED tests/bindings/test_trainers.py::TestWordPieceTrainer::test_can_modify PASSED tests/bindings/test_trainers.py::TestWordPieceTrainer::test_can_pickle PASSED tests/bindings/test_trainers.py::TestWordLevelTrainer::test_can_modify PASSED tests/bindings/test_trainers.py::TestWordLevelTrainer::test_can_pickle PASSED tests/bindings/test_trainers.py::TestUnigram::test_train ERROR tests/bindings/test_trainers.py::TestUnigram::test_train_parallelism_with_custom_pretokenizer ERROR tests/bindings/test_trainers.py::TestUnigram::test_can_pickle PASSED tests/bindings/test_trainers.py::TestUnigram::test_train_with_special_tokens PASSED tests/bindings/test_trainers.py::TestUnigram::test_cannot_train_different_model PASSED tests/bindings/test_trainers.py::TestUnigram::test_can_modify PASSED tests/bindings/test_trainers.py::TestUnigram::test_continuing_prefix_trainer_mismatch ERROR tests/documentation/test_pipeline.py::TestPipeline::test_pipeline ERROR tests/documentation/test_pipeline.py::TestPipeline::test_bert_example ERROR tests/documentation/test_quicktour.py::TestQuicktour::test_quicktour FAILED tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_train_basic PASSED tests/implementations/test_base_tokenizer.py::TestBaseTokenizer::test_get_set_components PASSED tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_basic_encode FAILED tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_multiprocessing_with_parallelism FAILED tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_train_from_iterator PASSED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_basic_encode FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_add_prefix_space FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_lowerspace FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_multiprocessing_with_parallelism FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_train_from_iterator PASSED tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_basic_encode ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_lowercase ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_decoding ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_multiprocessing_with_parallelism ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_train_from_iterator PASSED tests/implementations/test_sentencepiece.py::TestSentencePieceBPE::test_train_from_iterator PASSED tests/implementations/test_sentencepiece.py::TestSentencePieceUnigram::test_train PASSED tests/implementations/test_sentencepiece.py::TestSentencePieceUnigram::test_train_with_unk_token PASSED tests/implementations/test_sentencepiece.py::TestSentencePieceUnigram::test_train_from_iterator PASSED tests/implementations/test_sentencepiece.py::TestSentencePieceUnigram::test_train_from_iterator_with_unk_token PASSED tests/test_serialization.py::TestSerialization::test_full_serialization_albert ERROR tests/test_serialization.py::TestSerialization::test_str_big ERROR tests/test_serialization.py::TestSerialization::test_repr_str PASSED tests/test_serialization.py::TestSerialization::test_repr_str_ellipsis PASSED tests/test_serialization.py::TestFullDeserialization::test_full_deserialization_hub SKIPPED ==================================== ERRORS ==================================== _______________ ERROR at setup of TestEncoding.test_sequence_ids _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:43: in bert_files "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _______________ ERROR at setup of TestEncoding.test_n_sequences ________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ______________ ERROR at setup of TestEncoding.test_word_to_tokens ______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ______________ ERROR at setup of TestEncoding.test_word_to_chars _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ____________ ERROR at setup of TestEncoding.test_token_to_sequence _____________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ______________ ERROR at setup of TestEncoding.test_token_to_chars ______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ______________ ERROR at setup of TestEncoding.test_token_to_word _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ______________ ERROR at setup of TestEncoding.test_char_to_token _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _______________ ERROR at setup of TestEncoding.test_char_to_word _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ________________ ERROR at setup of TestEncoding.test_truncation ________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ________ ERROR at setup of TestEncoding.test_invalid_truncate_direction ________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/bert-base-uncased-vocab.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/bert-base-uncased-vocab.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def bert_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-uncased-vocab.txt"), } tests/utils.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/bert-base-uncased-vocab.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError __________________ ERROR at setup of TestBPE.test_instantiate __________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/roberta-base-vocab.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/roberta-base-vocab.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/roberta-base-vocab.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/roberta-base-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:35: in roberta_files "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-vocab.json"), tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/roberta-base-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _______________ ERROR at setup of TestWordLevel.test_instantiate _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/roberta-base-vocab.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/roberta-base-vocab.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/roberta-base-vocab.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/roberta-base-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def roberta_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-vocab.json"), "merges": download("https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-merges.txt"), } tests/utils.py:35: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/roberta-base-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError __________ ERROR at setup of TestByteLevelProcessing.test_processing ___________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/roberta-base-merges.txt' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/roberta-base-merges.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/roberta-base-merges.txt' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/roberta-base-merges.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:36: in roberta_files "merges": download("https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-merges.txt"), tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/roberta-base-merges.txt (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ___________ ERROR at setup of TestAsyncTokenizer.test_basic_encoding ___________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'b7e031d3-a799-46ff-8ce9-77b932f27968'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: b7e031d3-a799-46ff-8ce9-77b932f27968)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: b7e031d3-a799-46ff-8ce9-77b932f27968)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError _______________ ERROR at setup of TestAsyncTokenizer.test_encode _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '627d2923-ee5b-447b-b399-14b02f1198ea'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 627d2923-ee5b-447b-b399-14b02f1198ea)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 627d2923-ee5b-447b-b399-14b02f1198ea)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ________ ERROR at setup of TestAsyncTokenizer.test_with_special_tokens _________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '3b1aec22-56e5-4237-a2e4-f04115ff127b'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 3b1aec22-56e5-4237-a2e4-f04115ff127b)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 3b1aec22-56e5-4237-a2e4-f04115ff127b)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ______ ERROR at setup of TestAsyncTokenizer.test_with_truncation_padding _______ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'f7119fd3-3b07-47b9-87fa-12d20e7b5a12'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: f7119fd3-3b07-47b9-87fa-12d20e7b5a12)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: f7119fd3-3b07-47b9-87fa-12d20e7b5a12)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError _______ ERROR at setup of TestAsyncTokenizer.test_various_input_formats ________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'a0f99693-36f7-4b60-b8e4-6d900543e6a7'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: a0f99693-36f7-4b60-b8e4-6d900543e6a7)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: a0f99693-36f7-4b60-b8e4-6d900543e6a7)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ___________ ERROR at setup of TestAsyncTokenizer.test_error_handling ___________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '5758b2f8-a7b7-47c8-ad35-7ae1d0d0a352'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 5758b2f8-a7b7-47c8-ad35-7ae1d0d0a352)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 5758b2f8-a7b7-47c8-ad35-7ae1d0d0a352)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ____________ ERROR at setup of TestAsyncTokenizer.test_concurrency _____________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'df9d24f9-cb86-4d60-b1c8-5788fd2ac6a6'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: df9d24f9-cb86-4d60-b1c8-5788fd2ac6a6)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: df9d24f9-cb86-4d60-b1c8-5788fd2ac6a6)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError _______________ ERROR at setup of TestAsyncTokenizer.test_decode _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'ed106311-64ff-4bff-bab2-f1ba8d4d1e1b'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: ed106311-64ff-4bff-bab2-f1ba8d4d1e1b)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: ed106311-64ff-4bff-bab2-f1ba8d4d1e1b)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ____________ ERROR at setup of TestAsyncTokenizer.test_large_batch _____________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'f53d5b14-4c53-4a11-88ae-ece7c3db6888'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: f53d5b14-4c53-4a11-88ae-ece7c3db6888)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: f53d5b14-4c53-4a11-88ae-ece7c3db6888)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ____________ ERROR at setup of TestAsyncTokenizer.test_numpy_inputs ____________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '36cf9f04-523b-4f1f-8bad-bc176a2f95c8'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 36cf9f04-523b-4f1f-8bad-bc176a2f95c8)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 36cf9f04-523b-4f1f-8bad-bc176a2f95c8)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ______ ERROR at setup of TestAsyncTokenizer.test_async_methods_existence _______ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'ad5d4fee-7289-492d-ac3c-674a1b8f688b'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: ad5d4fee-7289-492d-ac3c-674a1b8f688b)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: ad5d4fee-7289-492d-ac3c-674a1b8f688b)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError _______ ERROR at setup of TestAsyncTokenizer.test_performance_comparison _______ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'f6afba83-06ff-4c57-a3d1-d1cbe5717a48'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/gpt-oss-20b/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: f6afba83-06ff-4c57-a3d1-d1cbe5717a48)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def setup_method(self): """Setup a basic tokenizer before each test.""" > self.tokenizer = Tokenizer.from_pretrained("hf-internal-testing/gpt-oss-20b") tests/bindings/test_tokenizer.py:732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: f6afba83-06ff-4c57-a3d1-d1cbe5717a48)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ___________________ ERROR at setup of TestUnigram.test_train ___________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'norvig.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/big.txt', body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/big.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/big.txt', response = None error = NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='norvig.com', port=443): Max retries exceeded with url: /big.txt (Caused by NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:57: in train_files big = download("https://norvig.com/big.txt") tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='norvig.com', port=443): Max retries exceeded with url: /big.txt (Caused by NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _ ERROR at setup of TestUnigram.test_train_parallelism_with_custom_pretokenizer _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'norvig.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/big.txt', body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/big.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/big.txt', response = None error = NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='norvig.com', port=443): Max retries exceeded with url: /big.txt (Caused by NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def train_files(data_dir): > big = download("https://norvig.com/big.txt") tests/utils.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='norvig.com', port=443): Max retries exceeded with url: /big.txt (Caused by NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ____ ERROR at setup of TestUnigram.test_continuing_prefix_trainer_mismatch _____ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'norvig.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/big.txt', body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/big.txt', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/big.txt', response = None error = NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='norvig.com', port=443): Max retries exceeded with url: /big.txt (Caused by NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def train_files(data_dir): > big = download("https://norvig.com/big.txt") tests/utils.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='norvig.com', port=443): Max retries exceeded with url: /big.txt (Caused by NameResolutionError(": Failed to resolve 'norvig.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _________________ ERROR at setup of TestPipeline.test_pipeline _________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET' url = '/models.huggingface.co/bert/anthony/doc-quicktour/tokenizer.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/anthony/doc-quicktour/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET' url = '/models.huggingface.co/bert/anthony/doc-quicktour/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/anthony/doc-quicktour/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:78: in doc_wiki_tokenizer return download( tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/anthony/doc-quicktour/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _______________ ERROR at setup of TestPipeline.test_bert_example _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET' url = '/models.huggingface.co/bert/anthony/doc-pipeline/tokenizer.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/anthony/doc-pipeline/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET' url = '/models.huggingface.co/bert/anthony/doc-pipeline/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/anthony/doc-pipeline/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:86: in doc_pipeline_bert_tokenizer return download( tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/anthony/doc-pipeline/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ___________ ERROR at setup of TestCharBPETokenizer.test_basic_encode ___________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/openai-gpt-vocab.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:50: in openai_files "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-vocab.json"), tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ____________ ERROR at setup of TestCharBPETokenizer.test_lowercase _____________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/openai-gpt-vocab.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def openai_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-vocab.json"), "merges": download("https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt"), } tests/utils.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _____________ ERROR at setup of TestCharBPETokenizer.test_decoding _____________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/openai-gpt-vocab.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def openai_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-vocab.json"), "merges": download("https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt"), } tests/utils.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _ ERROR at setup of TestCharBPETokenizer.test_multiprocessing_with_parallelism _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/openai-gpt-vocab.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/models.huggingface.co/bert/openai-gpt-vocab.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def openai_files(data_dir): return { > "vocab": download("https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-vocab.json"), "merges": download("https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt"), } tests/utils.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/openai-gpt-vocab.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError ______ ERROR at setup of TestSerialization.test_full_serialization_albert ______ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET' url = '/models.huggingface.co/bert/albert-base-v1-tokenizer.json', body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/albert-base-v1-tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET' url = '/models.huggingface.co/bert/albert-base-v1-tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/albert-base-v1-tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: fixturedef = request = > @pytest.hookimpl(wrapper=True) def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None: asyncio_mode = _get_asyncio_mode(request.config) if not _is_asyncio_fixture_function(fixturedef.func): if asyncio_mode == Mode.STRICT: # Ignore async fixtures without explicit asyncio mark in strict mode # This applies to pytest_trio fixtures, for example > return (yield) /usr/lib/python3.14/site-packages/pytest_asyncio/plugin.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:73: in albert_base return download("https://s3.amazonaws.com/models.huggingface.co/bert/albert-base-v1-tokenizer.json") tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/albert-base-v1-tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError _______________ ERROR at setup of TestSerialization.test_str_big _______________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 's3.amazonaws.com', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'GET' url = '/models.huggingface.co/bert/albert-base-v1-tokenizer.json', body = None headers = {'User-Agent': 'python-requests/2.32.5', 'Accept-Encoding': 'gzip, deflate, zstd', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/models.huggingface.co/bert/albert-base-v1-tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET' url = '/models.huggingface.co/bert/albert-base-v1-tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/albert-base-v1-tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: data_dir = None @pytest.fixture(scope="session") def albert_base(data_dir): > return download("https://s3.amazonaws.com/models.huggingface.co/bert/albert-base-v1-tokenizer.json") tests/utils.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/utils.py:17: in download response = requests.get(url, stream=True) /usr/lib/python3.14/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.14/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = True timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /models.huggingface.co/bert/albert-base-v1-tokenizer.json (Caused by NameResolutionError(": Failed to resolve 's3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError =================================== FAILURES =================================== ______________________ TestTokenizer.test_encode_formats _______________________ self = bert_files = {'vocab': 'tests/data/bert-base-uncased-vocab.txt'} def test_encode_formats(self, bert_files): with pytest.deprecated_call(): > tokenizer = BertWordPieceTokenizer(bert_files["vocab"]) tests/bindings/test_tokenizer.py:159: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'BertWordPieceTokenizer' object has no attribute '_tokenizer'") raised in repr()] BertWordPieceTokenizer object at 0x7effb8adecf0> vocab = 'tests/data/bert-base-uncased-vocab.txt', unk_token = '[UNK]' sep_token = '[SEP]', cls_token = '[CLS]', pad_token = '[PAD]' mask_token = '[MASK]', clean_text = True, handle_chinese_chars = True strip_accents = None, lowercase = True, wordpieces_prefix = '##' def __init__( self, vocab: Optional[Union[str, Dict[str, int]]] = None, unk_token: Union[str, AddedToken] = "[UNK]", sep_token: Union[str, AddedToken] = "[SEP]", cls_token: Union[str, AddedToken] = "[CLS]", pad_token: Union[str, AddedToken] = "[PAD]", mask_token: Union[str, AddedToken] = "[MASK]", clean_text: bool = True, handle_chinese_chars: bool = True, strip_accents: Optional[bool] = None, lowercase: bool = True, wordpieces_prefix: str = "##", ): if vocab is not None: tokenizer = Tokenizer(WordPiece(vocab, unk_token=str(unk_token))) else: tokenizer = Tokenizer(WordPiece(unk_token=str(unk_token))) # Let the tokenizer know about special tokens if they are part of the vocab if tokenizer.token_to_id(str(unk_token)) is not None: tokenizer.add_special_tokens([str(unk_token)]) if tokenizer.token_to_id(str(sep_token)) is not None: tokenizer.add_special_tokens([str(sep_token)]) if tokenizer.token_to_id(str(cls_token)) is not None: tokenizer.add_special_tokens([str(cls_token)]) if tokenizer.token_to_id(str(pad_token)) is not None: tokenizer.add_special_tokens([str(pad_token)]) if tokenizer.token_to_id(str(mask_token)) is not None: tokenizer.add_special_tokens([str(mask_token)]) tokenizer.normalizer = BertNormalizer( clean_text=clean_text, handle_chinese_chars=handle_chinese_chars, strip_accents=strip_accents, lowercase=lowercase, ) tokenizer.pre_tokenizer = BertPreTokenizer() if vocab is not None: sep_token_id = tokenizer.token_to_id(str(sep_token)) if sep_token_id is None: > raise TypeError("sep_token not found in the vocabulary") E TypeError: sep_token not found in the vocabulary ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/bert_wordpiece.py:57: TypeError _________________ TestTokenizer.test_encode_add_special_tokens _________________ self = roberta_files = {'merges': 'tests/data/roberta-base-merges.txt', 'vocab': 'tests/data/roberta-base-vocab.json'} def test_encode_add_special_tokens(self, roberta_files): with pytest.deprecated_call(): > tokenizer = Tokenizer(BPE(roberta_files["vocab"], roberta_files["merges"])) E Exception: Error while initializing BPE: EOF while parsing a value at line 1 column 0 tests/bindings/test_tokenizer.py:291: Exception __________________ TestTokenizer.test_decode_stream_fallback ___________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD', url = '/gpt2/resolve/main/tokenizer.json', body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '1ca024ef-a12d-4b59-8443-d0123b597caf'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/gpt2/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD', url = '/gpt2/resolve/main/tokenizer.json', response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /gpt2/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /gpt2/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 1ca024ef-a12d-4b59-8443-d0123b597caf)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def test_decode_stream_fallback(self): > tokenizer = Tokenizer.from_pretrained("gpt2") tests/bindings/test_tokenizer.py:380: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 1ca024ef-a12d-4b59-8443-d0123b597caf)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ________________ TestTokenizer.test_decode_skip_special_tokens _________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/Llama-3.1-8B-Instruct/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': 'e9c96b92-fbfe-459a-bc56-74b87d09980c'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/Llama-3.1-8B-Instruct/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/Llama-3.1-8B-Instruct/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/Llama-3.1-8B-Instruct/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/Llama-3.1-8B-Instruct/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: e9c96b92-fbfe-459a-bc56-74b87d09980c)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def test_decode_skip_special_tokens(self): > tokenizer = Tokenizer.from_pretrained("hf-internal-testing/Llama-3.1-8B-Instruct") tests/bindings/test_tokenizer.py:412: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: e9c96b92-fbfe-459a-bc56-74b87d09980c)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ______________________ TestTokenizer.test_from_pretrained ______________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD', url = '/bert-base-cased/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '50344c70-7640-4466-9f67-6421839194ec'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/bert-base-cased/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD', url = '/bert-base-cased/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /bert-base-cased/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /bert-base-cased/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 50344c70-7640-4466-9f67-6421839194ec)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def test_from_pretrained(self): > tokenizer = Tokenizer.from_pretrained("bert-base-cased") tests/bindings/test_tokenizer.py:561: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 50344c70-7640-4466-9f67-6421839194ec)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError _________________ TestTokenizer.test_from_pretrained_revision __________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD', url = '/anthony/tokenizers-test/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '62c3933f-ea5e-4fad-a784-ab85b7a7cdb4'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/anthony/tokenizers-test/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD', url = '/anthony/tokenizers-test/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /anthony/tokenizers-test/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /anthony/tokenizers-test/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 62c3933f-ea5e-4fad-a784-ab85b7a7cdb4)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def test_from_pretrained_revision(self): > tokenizer = Tokenizer.from_pretrained("anthony/tokenizers-test") tests/bindings/test_tokenizer.py:566: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 62c3933f-ea5e-4fad-a784-ab85b7a7cdb4)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError ___________________ TestTokenizer.test_encode_special_tokens ___________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD', url = '/t5-base/resolve/main/tokenizer.json', body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '561eaa59-e474-4f0c-9d2c-e492565211b3'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/t5-base/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD', url = '/t5-base/resolve/main/tokenizer.json', response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /t5-base/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /t5-base/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 561eaa59-e474-4f0c-9d2c-e492565211b3)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def test_encode_special_tokens(self): > tokenizer = Tokenizer.from_pretrained("t5-base") tests/bindings/test_tokenizer.py:601: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 561eaa59-e474-4f0c-9d2c-e492565211b3)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError _________________________ TestTokenizer.test_splitting _________________________ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: > sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) /usr/lib/python3.14/site-packages/urllib3/connection.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/util/connection.py:60: in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ host = 'huggingface.co', port = 443, family = type = , proto = 0, flags = 0 def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0): """Resolve host and port into list of address info entries. Translate the host/port argument into a sequence of 5-tuples that contain all the necessary arguments for creating a socket connected to that service. host is a domain name, a string representation of an IPv4/v6 address or None. port is a string service name such as 'http', a numeric port number or None. By passing None as the value of host and port, you can pass NULL to the underlying C API. The family, type and proto arguments can be optionally specified in order to narrow the list of addresses returned. Passing zero as a value for each of these arguments selects the full range of results. """ # We override this function since we want to translate the numeric family # and socket type values to enum constants. addrlist = [] > for res in _socket.getaddrinfo(host, port, family, type, proto, flags): E socket.gaierror: [Errno -3] Temporary failure in name resolution /usr/lib64/python3.14/socket.py:983: gaierror The above exception was the direct cause of the following exception: self = method = 'HEAD' url = '/hf-internal-testing/llama-new-metaspace/resolve/main/tokenizer.json' body = None headers = {'user-agent': 'unknown/None; hf_hub/0.30.2; python/3.14.0', 'Accept-Encoding': 'identity', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Amzn-Trace-Id': '2fedd0b1-8f91-4916-be06-046d90871eba'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) redirect = False, assert_same_host = False timeout = Timeout(connect=10, read=10, total=None), pool_timeout = None release_conn = False, chunked = False, body_pos = None, preload_content = False decode_content = False, response_kw = {} parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/hf-internal-testing/llama-new-metaspace/resolve/main/tokenizer.json', query=None, fragment=None) destination_scheme = None, conn = None, release_this_conn = True http_tunnel_required = False, err = None, clean_exit = False def urlopen( # type: ignore[override] self, method: str, url: str, body: _TYPE_BODY | None = None, headers: typing.Mapping[str, str] | None = None, retries: Retry | bool | int | None = None, redirect: bool = True, assert_same_host: bool = True, timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, pool_timeout: int | None = None, release_conn: bool | None = None, chunked: bool = False, body_pos: _TYPE_BODY_POSITION | None = None, preload_content: bool = True, decode_content: bool = True, **response_kw: typing.Any, ) -> BaseHTTPResponse: """ Get a connection from the pool and perform an HTTP request. This is the lowest level call for making a request, so you'll need to specify all the raw details. .. note:: More commonly, it's appropriate to use a convenience method such as :meth:`request`. .. note:: `release_conn` will only behave as expected if `preload_content=False` because we want to make `preload_content=False` the default behaviour someday soon without breaking backwards compatibility. :param method: HTTP request method (such as GET, POST, PUT, etc.) :param url: The URL to perform the request on. :param body: Data to send in the request body, either :class:`str`, :class:`bytes`, an iterable of :class:`str`/:class:`bytes`, or a file-like object. :param headers: Dictionary of custom headers to send, such as User-Agent, If-None-Match, etc. If None, pool headers are used. If provided, these headers completely replace any pool-specific headers. :param retries: Configure the number of retries to allow before raising a :class:`~urllib3.exceptions.MaxRetryError` exception. If ``None`` (default) will retry 3 times, see ``Retry.DEFAULT``. Pass a :class:`~urllib3.util.retry.Retry` object for fine-grained control over different types of retries. Pass an integer number to retry connection errors that many times, but no other types of errors. Pass zero to never retry. If ``False``, then retries are disabled and any exception is raised immediately. Also, instead of raising a MaxRetryError on redirects, the redirect response will be returned. :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. :param redirect: If True, automatically handle redirects (status codes 301, 302, 303, 307, 308). Each redirect counts as a retry. Disabling retries will disable redirect, too. :param assert_same_host: If ``True``, will make sure that the host of the pool requests is consistent else will raise HostChangedError. When ``False``, you can use the pool on an HTTP proxy and request foreign hosts. :param timeout: If specified, overrides the default timeout for this one request. It may be a float (in seconds) or an instance of :class:`urllib3.util.Timeout`. :param pool_timeout: If set and the pool is set to block=True, then this method will block for ``pool_timeout`` seconds and raise EmptyPoolError if no connection is available within the time period. :param bool preload_content: If True, the response's body will be preloaded into memory. :param bool decode_content: If True, will attempt to decode the body based on the 'content-encoding' header. :param release_conn: If False, then the urlopen call will not release the connection back into the pool once a response is received (but will release if you read the entire contents of the response such as when `preload_content=True`). This is useful if you're not preloading the response's content immediately. You will need to call ``r.release_conn()`` on the response ``r`` to return the connection back into the pool. If None, it takes the value of ``preload_content`` which defaults to ``True``. :param bool chunked: If True, urllib3 will send the body using chunked transfer encoding. Otherwise, urllib3 will send the body using the standard content-length form. Defaults to False. :param int body_pos: Position to seek to in file-like body in the event of a retry or redirect. Typically this won't need to be set because urllib3 will auto-populate the value when needed. """ parsed_url = parse_url(url) destination_scheme = parsed_url.scheme if headers is None: headers = self.headers if not isinstance(retries, Retry): retries = Retry.from_int(retries, redirect=redirect, default=self.retries) if release_conn is None: release_conn = preload_content # Check host if assert_same_host and not self.is_same_host(url): raise HostChangedError(self, url, retries) # Ensure that the URL we're connecting to is properly encoded if url.startswith("/"): url = to_str(_encode_target(url)) else: url = to_str(parsed_url.url) conn = None # Track whether `conn` needs to be released before # returning/raising/recursing. Update this variable if necessary, and # leave `release_conn` constant throughout the function. That way, if # the function recurses, the original value of `release_conn` will be # passed down into the recursive call, and its value will be respected. # # See issue #651 [1] for details. # # [1] release_this_conn = release_conn http_tunnel_required = connection_requires_http_tunnel( self.proxy, self.proxy_config, destination_scheme ) # Merge the proxy headers. Only done when not using HTTP CONNECT. We # have to copy the headers dict so we can safely change it without those # changes being reflected in anyone else's copy. if not http_tunnel_required: headers = headers.copy() # type: ignore[attr-defined] headers.update(self.proxy_headers) # type: ignore[union-attr] # Must keep the exception bound to a separate variable or else Python 3 # complains about UnboundLocalError. err = None # Keep track of whether we cleanly exited the except block. This # ensures we do proper cleanup in finally. clean_exit = False # Rewind body position, if needed. Record current position # for future rewinds in the event of a redirect/retry. body_pos = set_file_position(body, body_pos) try: # Request a connection from the queue. timeout_obj = self._get_timeout(timeout) conn = self._get_conn(timeout=pool_timeout) conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] # Is this a closed/new connection that requires CONNECT tunnelling? if self.proxy is not None and http_tunnel_required and conn.is_closed: try: self._prepare_proxy(conn) except (BaseSSLError, OSError, SocketTimeout) as e: self._raise_timeout( err=e, url=self.proxy.url, timeout_value=conn.timeout ) raise # If we're going to release the connection in ``finally:``, then # the response doesn't need to know about the connection. Otherwise # it will also try to release it and we'll have a double-release # mess. response_conn = conn if not release_conn else None # Make the request on the HTTPConnection object > response = self._make_request( conn, method, url, timeout=timeout_obj, body=body, headers=headers, chunked=chunked, retries=retries, response_conn=response_conn, preload_content=preload_content, decode_content=decode_content, **response_kw, ) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:488: in _make_request raise new_e /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:464: in _make_request self._validate_conn(conn) /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:1093: in _validate_conn conn.connect() /usr/lib/python3.14/site-packages/urllib3/connection.py:753: in connect self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. :return: New socket connection. """ try: sock = connection.create_connection( (self._dns_host, self.port), self.timeout, source_address=self.source_address, socket_options=self.socket_options, ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e E urllib3.exceptions.NameResolutionError: : Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3.14/site-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: > resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) /usr/lib/python3.14/site-packages/requests/adapters.py:644: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/urllib3/connectionpool.py:841: in urlopen retries = retries.increment( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'HEAD' url = '/hf-internal-testing/llama-new-metaspace/resolve/main/tokenizer.json' response = None error = NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)") _pool = _stacktrace = def increment( self, method: str | None = None, url: str | None = None, response: BaseHTTPResponse | None = None, error: Exception | None = None, _pool: ConnectionPool | None = None, _stacktrace: TracebackType | None = None, ) -> Self: """Return a new Retry object with incremented retry counters. :param response: A response object, or None, if the server did not return a response. :type response: :class:`~urllib3.response.BaseHTTPResponse` :param Exception error: An error encountered during the request, or None if the response was received successfully. :return: A new ``Retry`` object. """ if self.total is False and error: # Disabled, indicate to re-raise the error. raise reraise(type(error), error, _stacktrace) total = self.total if total is not None: total -= 1 connect = self.connect read = self.read redirect = self.redirect status_count = self.status other = self.other cause = "unknown" status = None redirect_location = None if error and self._is_connection_error(error): # Connect retry? if connect is False: raise reraise(type(error), error, _stacktrace) elif connect is not None: connect -= 1 elif error and self._is_read_error(error): # Read retry? if read is False or method is None or not self._is_method_retryable(method): raise reraise(type(error), error, _stacktrace) elif read is not None: read -= 1 elif error: # Other retry? if other is not None: other -= 1 elif response and response.get_redirect_location(): # Redirect retry? if redirect is not None: redirect -= 1 cause = "too many redirects" response_redirect_location = response.get_redirect_location() if response_redirect_location: redirect_location = response_redirect_location status = response.status else: # Incrementing because of a server error like a 500 in # status_forcelist and the given method is in the allowed_methods cause = ResponseError.GENERIC_ERROR if response and response.status: if status_count is not None: status_count -= 1 cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) status = response.status history = self.history + ( RequestHistory(method, url, error, status, redirect_location), ) new_retry = self.new( total=total, connect=connect, read=read, redirect=redirect, status=status_count, other=other, history=history, ) if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /hf-internal-testing/llama-new-metaspace/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve 'huggingface.co' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3.14/site-packages/urllib3/util/retry.py:519: MaxRetryError During handling of the above exception, another exception occurred: def _get_metadata_or_catch_error( *, repo_id: str, filename: str, repo_type: str, revision: str, endpoint: Optional[str], proxies: Optional[Dict], etag_timeout: Optional[float], headers: Dict[str, str], # mutated inplace! token: Union[bool, str, None], local_files_only: bool, relative_filename: Optional[str] = None, # only used to store `.no_exists` in cache storage_folder: Optional[str] = None, # only used to store `.no_exists` in cache ) -> Union[ # Either an exception is caught and returned Tuple[None, None, None, None, None, Exception], # Or the metadata is returned as # `(url_to_download, etag, commit_hash, expected_size, xet_file_data, None)` Tuple[str, str, str, int, Optional[XetFileData], None], ]: """Get metadata for a file on the Hub, safely handling network issues. Returns either the etag, commit_hash and expected size of the file, or the error raised while fetching the metadata. NOTE: This function mutates `headers` inplace! It removes the `authorization` header if the file is a LFS blob and the domain of the url is different from the domain of the location (typically an S3 bucket). """ if local_files_only: return ( None, None, None, None, None, OfflineModeIsEnabled( f"Cannot access file since 'local_files_only=True' as been set. (repo_id: {repo_id}, repo_type: {repo_type}, revision: {revision}, filename: {filename})" ), ) url = hf_hub_url(repo_id, filename, repo_type=repo_type, revision=revision, endpoint=endpoint) url_to_download: str = url etag: Optional[str] = None commit_hash: Optional[str] = None expected_size: Optional[int] = None head_error_call: Optional[Exception] = None xet_file_data: Optional[XetFileData] = None # Try to get metadata from the server. # Do not raise yet if the file is not found or not accessible. if not local_files_only: try: try: > metadata = get_hf_file_metadata( url=url, proxies=proxies, timeout=etag_timeout, headers=headers, token=token ) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1484: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1401: in get_hf_file_metadata r = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:285: in _request_wrapper response = _request_wrapper( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:308: in _request_wrapper response = get_session().request(method=method, url=url, **params) /usr/lib/python3.14/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.14/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/utils/_http.py:96: in send return super().send(request, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = , stream = False timeout = Timeout(connect=10, read=10, total=None), verify = True, cert = None proxies = OrderedDict() def send( self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None ): """Sends PreparedRequest object. Returns Response object. :param request: The :class:`PreparedRequest ` being sent. :param stream: (optional) Whether to stream the request content. :param timeout: (optional) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) ` tuple. :type timeout: float or tuple or urllib3 Timeout object :param verify: (optional) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use :param cert: (optional) Any user-provided SSL certificate to be trusted. :param proxies: (optional) The proxies dictionary to apply to the request. :rtype: requests.Response """ try: conn = self.get_connection_with_tls_context( request, verify, proxies=proxies, cert=cert ) except LocationValueError as e: raise InvalidURL(e, request=request) self.cert_verify(conn, request.url, verify, cert) url = self.request_url(request, proxies) self.add_headers( request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies, ) chunked = not (request.body is None or "Content-Length" in request.headers) if isinstance(timeout, tuple): try: connect, read = timeout timeout = TimeoutSauce(connect=connect, read=read) except ValueError: raise ValueError( f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " f"or a single float to set both timeouts to the same value." ) elif isinstance(timeout, TimeoutSauce): pass else: timeout = TimeoutSauce(connect=timeout, read=timeout) try: resp = conn.urlopen( method=request.method, url=url, body=request.body, headers=request.headers, redirect=False, assert_same_host=False, preload_content=False, decode_content=False, retries=self.max_retries, timeout=timeout, chunked=chunked, ) except (ProtocolError, OSError) as err: raise ConnectionError(err, request=request) except MaxRetryError as e: if isinstance(e.reason, ConnectTimeoutError): # TODO: Remove this in 3.0.0: see #2811 if not isinstance(e.reason, NewConnectionError): raise ConnectTimeout(e, request=request) if isinstance(e.reason, ResponseError): raise RetryError(e, request=request) if isinstance(e.reason, _ProxyError): raise ProxyError(e, request=request) if isinstance(e.reason, _SSLError): # This branch is for urllib3 v1.22 and later. raise SSLError(e, request=request) > raise ConnectionError(e, request=request) E requests.exceptions.ConnectionError: (MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: /hf-internal-testing/llama-new-metaspace/resolve/main/tokenizer.json (Caused by NameResolutionError(": Failed to resolve \'huggingface.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 2fedd0b1-8f91-4916-be06-046d90871eba)') /usr/lib/python3.14/site-packages/requests/adapters.py:677: ConnectionError The above exception was the direct cause of the following exception: self = def test_splitting(self): > tokenizer = Tokenizer.from_pretrained("hf-internal-testing/llama-new-metaspace") tests/bindings/test_tokenizer.py:632: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.14/site-packages/huggingface_hub/utils/_validators.py:114: in _inner_fn return fn(*args, **kwargs) /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:961: in hf_hub_download return _hf_hub_download_to_cache_dir( /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1068: in _hf_hub_download_to_cache_dir _raise_on_head_call_error(head_call_error, force_download, local_files_only) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ head_call_error = ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'huggingface.co\', port=443): Max retries exceeded with url: ...face.co\' ([Errno -3] Temporary failure in name resolution)"))'), '(Request ID: 2fedd0b1-8f91-4916-be06-046d90871eba)') force_download = False, local_files_only = False def _raise_on_head_call_error(head_call_error: Exception, force_download: bool, local_files_only: bool) -> NoReturn: """Raise an appropriate error when the HEAD call failed and we cannot locate a local file.""" # No head call => we cannot force download. if force_download: if local_files_only: raise ValueError("Cannot pass 'force_download=True' and 'local_files_only=True' at the same time.") elif isinstance(head_call_error, OfflineModeIsEnabled): raise ValueError("Cannot pass 'force_download=True' when offline mode is enabled.") from head_call_error else: raise ValueError("Force download failed due to the above error.") from head_call_error # No head call + couldn't find an appropriate file on disk => raise an error. if local_files_only: raise LocalEntryNotFoundError( "Cannot find the requested files in the disk cache and outgoing traffic has been disabled. To enable" " hf.co look-ups and downloads online, set 'local_files_only' to False." ) elif isinstance(head_call_error, (RepositoryNotFoundError, GatedRepoError)) or ( isinstance(head_call_error, HfHubHTTPError) and head_call_error.response.status_code == 401 ): # Repo not found or gated => let's raise the actual error # Unauthorized => likely a token issue => let's raise the actual error raise head_call_error else: # Otherwise: most likely a connection issue or Hub downtime => let's warn the user > raise LocalEntryNotFoundError( "An error happened while trying to locate the file on the Hub and we cannot find the requested files" " in the local cache. Please check your connection and try again or make sure your Internet connection" " is on." ) from head_call_error E huggingface_hub.errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on. /usr/lib/python3.14/site-packages/huggingface_hub/file_download.py:1599: LocalEntryNotFoundError _________________________ TestQuicktour.test_quicktour _________________________ self = doc_wiki_tokenizer = 'tests/data/tokenizer-wiki.json' def test_quicktour(self, doc_wiki_tokenizer): def print(*args, **kwargs): pass try: # START reload_tokenizer > tokenizer = Tokenizer.from_file("data/tokenizer-wiki.json") E Exception: No such file or directory (os error 2) tests/documentation/test_quicktour.py:54: Exception During handling of the above exception, another exception occurred: self = doc_wiki_tokenizer = 'tests/data/tokenizer-wiki.json' def test_quicktour(self, doc_wiki_tokenizer): def print(*args, **kwargs): pass try: # START reload_tokenizer tokenizer = Tokenizer.from_file("data/tokenizer-wiki.json") # END reload_tokenizer except Exception: > tokenizer = Tokenizer.from_file(doc_wiki_tokenizer) E Exception: EOF while parsing a value at line 1 column 0 tests/documentation/test_quicktour.py:57: Exception _________________ TestBertWordPieceTokenizer.test_basic_encode _________________ self = bert_files = {'vocab': 'tests/data/bert-base-uncased-vocab.txt'} def test_basic_encode(self, bert_files): > tokenizer = BertWordPieceTokenizer.from_file(bert_files["vocab"]) tests/implementations/test_bert_wordpiece.py:8: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/bert_wordpiece.py:84: in from_file return BertWordPieceTokenizer(vocab, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'BertWordPieceTokenizer' object has no attribute '_tokenizer'") raised in repr()] BertWordPieceTokenizer object at 0x7effb8d7e990> vocab = {}, unk_token = '[UNK]', sep_token = '[SEP]', cls_token = '[CLS]' pad_token = '[PAD]', mask_token = '[MASK]', clean_text = True handle_chinese_chars = True, strip_accents = None, lowercase = True wordpieces_prefix = '##' def __init__( self, vocab: Optional[Union[str, Dict[str, int]]] = None, unk_token: Union[str, AddedToken] = "[UNK]", sep_token: Union[str, AddedToken] = "[SEP]", cls_token: Union[str, AddedToken] = "[CLS]", pad_token: Union[str, AddedToken] = "[PAD]", mask_token: Union[str, AddedToken] = "[MASK]", clean_text: bool = True, handle_chinese_chars: bool = True, strip_accents: Optional[bool] = None, lowercase: bool = True, wordpieces_prefix: str = "##", ): if vocab is not None: tokenizer = Tokenizer(WordPiece(vocab, unk_token=str(unk_token))) else: tokenizer = Tokenizer(WordPiece(unk_token=str(unk_token))) # Let the tokenizer know about special tokens if they are part of the vocab if tokenizer.token_to_id(str(unk_token)) is not None: tokenizer.add_special_tokens([str(unk_token)]) if tokenizer.token_to_id(str(sep_token)) is not None: tokenizer.add_special_tokens([str(sep_token)]) if tokenizer.token_to_id(str(cls_token)) is not None: tokenizer.add_special_tokens([str(cls_token)]) if tokenizer.token_to_id(str(pad_token)) is not None: tokenizer.add_special_tokens([str(pad_token)]) if tokenizer.token_to_id(str(mask_token)) is not None: tokenizer.add_special_tokens([str(mask_token)]) tokenizer.normalizer = BertNormalizer( clean_text=clean_text, handle_chinese_chars=handle_chinese_chars, strip_accents=strip_accents, lowercase=lowercase, ) tokenizer.pre_tokenizer = BertPreTokenizer() if vocab is not None: sep_token_id = tokenizer.token_to_id(str(sep_token)) if sep_token_id is None: > raise TypeError("sep_token not found in the vocabulary") E TypeError: sep_token not found in the vocabulary ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/bert_wordpiece.py:57: TypeError _______ TestBertWordPieceTokenizer.test_multiprocessing_with_parallelism _______ self = bert_files = {'vocab': 'tests/data/bert-base-uncased-vocab.txt'} def test_multiprocessing_with_parallelism(self, bert_files): > tokenizer = BertWordPieceTokenizer.from_file(bert_files["vocab"]) tests/implementations/test_bert_wordpiece.py:43: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/bert_wordpiece.py:84: in from_file return BertWordPieceTokenizer(vocab, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'BertWordPieceTokenizer' object has no attribute '_tokenizer'") raised in repr()] BertWordPieceTokenizer object at 0x7effb8d7e210> vocab = {}, unk_token = '[UNK]', sep_token = '[SEP]', cls_token = '[CLS]' pad_token = '[PAD]', mask_token = '[MASK]', clean_text = True handle_chinese_chars = True, strip_accents = None, lowercase = True wordpieces_prefix = '##' def __init__( self, vocab: Optional[Union[str, Dict[str, int]]] = None, unk_token: Union[str, AddedToken] = "[UNK]", sep_token: Union[str, AddedToken] = "[SEP]", cls_token: Union[str, AddedToken] = "[CLS]", pad_token: Union[str, AddedToken] = "[PAD]", mask_token: Union[str, AddedToken] = "[MASK]", clean_text: bool = True, handle_chinese_chars: bool = True, strip_accents: Optional[bool] = None, lowercase: bool = True, wordpieces_prefix: str = "##", ): if vocab is not None: tokenizer = Tokenizer(WordPiece(vocab, unk_token=str(unk_token))) else: tokenizer = Tokenizer(WordPiece(unk_token=str(unk_token))) # Let the tokenizer know about special tokens if they are part of the vocab if tokenizer.token_to_id(str(unk_token)) is not None: tokenizer.add_special_tokens([str(unk_token)]) if tokenizer.token_to_id(str(sep_token)) is not None: tokenizer.add_special_tokens([str(sep_token)]) if tokenizer.token_to_id(str(cls_token)) is not None: tokenizer.add_special_tokens([str(cls_token)]) if tokenizer.token_to_id(str(pad_token)) is not None: tokenizer.add_special_tokens([str(pad_token)]) if tokenizer.token_to_id(str(mask_token)) is not None: tokenizer.add_special_tokens([str(mask_token)]) tokenizer.normalizer = BertNormalizer( clean_text=clean_text, handle_chinese_chars=handle_chinese_chars, strip_accents=strip_accents, lowercase=lowercase, ) tokenizer.pre_tokenizer = BertPreTokenizer() if vocab is not None: sep_token_id = tokenizer.token_to_id(str(sep_token)) if sep_token_id is None: > raise TypeError("sep_token not found in the vocabulary") E TypeError: sep_token not found in the vocabulary ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/bert_wordpiece.py:57: TypeError ______________________ TestByteLevelBPE.test_basic_encode ______________________ self = roberta_files = {'merges': 'tests/data/roberta-base-merges.txt', 'vocab': 'tests/data/roberta-base-vocab.json'} def test_basic_encode(self, roberta_files): > tokenizer = ByteLevelBPETokenizer.from_file(roberta_files["vocab"], roberta_files["merges"]) tests/implementations/test_byte_level_bpe.py:8: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ vocab_filename = 'tests/data/roberta-base-vocab.json' merges_filename = 'tests/data/roberta-base-merges.txt', kwargs = {} @staticmethod def from_file(vocab_filename: str, merges_filename: str, **kwargs): > vocab, merges = BPE.read_file(vocab_filename, merges_filename) E Exception: Error while reading vocab & merges files: EOF while parsing a value at line 1 column 0 ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/byte_level_bpe.py:76: Exception ____________________ TestByteLevelBPE.test_add_prefix_space ____________________ self = roberta_files = {'merges': 'tests/data/roberta-base-merges.txt', 'vocab': 'tests/data/roberta-base-vocab.json'} def test_add_prefix_space(self, roberta_files): > tokenizer = ByteLevelBPETokenizer.from_file( roberta_files["vocab"], roberta_files["merges"], add_prefix_space=True ) tests/implementations/test_byte_level_bpe.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ vocab_filename = 'tests/data/roberta-base-vocab.json' merges_filename = 'tests/data/roberta-base-merges.txt' kwargs = {'add_prefix_space': True} @staticmethod def from_file(vocab_filename: str, merges_filename: str, **kwargs): > vocab, merges = BPE.read_file(vocab_filename, merges_filename) E Exception: Error while reading vocab & merges files: EOF while parsing a value at line 1 column 0 ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/byte_level_bpe.py:76: Exception _______________________ TestByteLevelBPE.test_lowerspace _______________________ self = roberta_files = {'merges': 'tests/data/roberta-base-merges.txt', 'vocab': 'tests/data/roberta-base-vocab.json'} def test_lowerspace(self, roberta_files): > tokenizer = ByteLevelBPETokenizer.from_file( roberta_files["vocab"], roberta_files["merges"], add_prefix_space=True, lowercase=True, ) tests/implementations/test_byte_level_bpe.py:66: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ vocab_filename = 'tests/data/roberta-base-vocab.json' merges_filename = 'tests/data/roberta-base-merges.txt' kwargs = {'add_prefix_space': True, 'lowercase': True} @staticmethod def from_file(vocab_filename: str, merges_filename: str, **kwargs): > vocab, merges = BPE.read_file(vocab_filename, merges_filename) E Exception: Error while reading vocab & merges files: EOF while parsing a value at line 1 column 0 ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/byte_level_bpe.py:76: Exception ____________ TestByteLevelBPE.test_multiprocessing_with_parallelism ____________ self = roberta_files = {'merges': 'tests/data/roberta-base-merges.txt', 'vocab': 'tests/data/roberta-base-vocab.json'} def test_multiprocessing_with_parallelism(self, roberta_files): > tokenizer = ByteLevelBPETokenizer.from_file(roberta_files["vocab"], roberta_files["merges"]) tests/implementations/test_byte_level_bpe.py:88: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ vocab_filename = 'tests/data/roberta-base-vocab.json' merges_filename = 'tests/data/roberta-base-merges.txt', kwargs = {} @staticmethod def from_file(vocab_filename: str, merges_filename: str, **kwargs): > vocab, merges = BPE.read_file(vocab_filename, merges_filename) E Exception: Error while reading vocab & merges files: EOF while parsing a value at line 1 column 0 ../../../BUILDROOT/usr/lib64/python3.14/site-packages/tokenizers/implementations/byte_level_bpe.py:76: Exception =============================== warnings summary =============================== tests/bindings/test_tokenizer.py::TestTokenizer::test_multiprocessing_with_parallelism tests/bindings/test_tokenizer.py::TestTokenizer::test_multiprocessing_with_parallelism /usr/lib64/python3.14/multiprocessing/popen_fork.py:70: DeprecationWarning: This process (pid=2362) is multi-threaded, use of fork() may lead to deadlocks in the child. self.pid = os.fork() -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_formats FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_add_special_tokens FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_stream_fallback FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_decode_skip_special_tokens FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained_revision FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_special_tokens FAILED tests/bindings/test_tokenizer.py::TestTokenizer::test_splitting - hugg... FAILED tests/documentation/test_quicktour.py::TestQuicktour::test_quicktour FAILED tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_basic_encode FAILED tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_multiprocessing_with_parallelism FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_basic_encode FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_add_prefix_space FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_lowerspace FAILED tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_multiprocessing_with_parallelism ERROR tests/bindings/test_encoding.py::TestEncoding::test_sequence_ids - requ... ERROR tests/bindings/test_encoding.py::TestEncoding::test_n_sequences - reque... ERROR tests/bindings/test_encoding.py::TestEncoding::test_word_to_tokens - re... ERROR tests/bindings/test_encoding.py::TestEncoding::test_word_to_chars - req... ERROR tests/bindings/test_encoding.py::TestEncoding::test_token_to_sequence ERROR tests/bindings/test_encoding.py::TestEncoding::test_token_to_chars - re... ERROR tests/bindings/test_encoding.py::TestEncoding::test_token_to_word - req... ERROR tests/bindings/test_encoding.py::TestEncoding::test_char_to_token - req... ERROR tests/bindings/test_encoding.py::TestEncoding::test_char_to_word - requ... ERROR tests/bindings/test_encoding.py::TestEncoding::test_truncation - reques... ERROR tests/bindings/test_encoding.py::TestEncoding::test_invalid_truncate_direction ERROR tests/bindings/test_models.py::TestBPE::test_instantiate - requests.exc... ERROR tests/bindings/test_models.py::TestWordLevel::test_instantiate - reques... ERROR tests/bindings/test_processors.py::TestByteLevelProcessing::test_processing ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_basic_encoding ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_encode - hug... ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_with_special_tokens ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_with_truncation_padding ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_various_input_formats ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_error_handling ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_concurrency ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_decode - hug... ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_large_batch ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_numpy_inputs ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_async_methods_existence ERROR tests/bindings/test_tokenizer.py::TestAsyncTokenizer::test_performance_comparison ERROR tests/bindings/test_trainers.py::TestUnigram::test_train - requests.exc... ERROR tests/bindings/test_trainers.py::TestUnigram::test_train_parallelism_with_custom_pretokenizer ERROR tests/bindings/test_trainers.py::TestUnigram::test_continuing_prefix_trainer_mismatch ERROR tests/documentation/test_pipeline.py::TestPipeline::test_pipeline - req... ERROR tests/documentation/test_pipeline.py::TestPipeline::test_bert_example ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_basic_encode ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_lowercase ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_decoding ERROR tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_multiprocessing_with_parallelism ERROR tests/test_serialization.py::TestSerialization::test_full_serialization_albert ERROR tests/test_serialization.py::TestSerialization::test_str_big - requests... = 15 failed, 132 passed, 1 skipped, 2 deselected, 2 warnings, 37 errors in 5.60s = error: Bad exit status from /var/tmp/rpm-tmp.gnLiQu (%check) Bad exit status from /var/tmp/rpm-tmp.gnLiQu (%check) RPM build errors: Finish: rpmbuild python-tokenizers-0.22.1-1.fc44.src.rpm Finish: build phase for python-tokenizers-0.22.1-1.fc44.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1762722903.548974/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names ERROR: Exception(/var/lib/copr-rpmbuild/results/python-tokenizers-0.22.1-1.fc44.src.rpm) Config(fedora-rawhide-x86_64) 4 minutes 1 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M b493448f7d3f4fa7ab3e94f41010414c -D /var/lib/mock/fedora-rawhide-x86_64-1762722903.548974/root -a -u mockbuild --capability=cap_ipc_lock --capability=cap_ipc_lock --bind=/tmp/mock-resolv.woib66bv:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --target x86_64 /builddir/build/originals/python-tokenizers.spec' Copr build error: Build failed