I: pbuilder: network access will be disabled during build I: Current time: Thu Jan 23 02:17:21 -12 2025 I: pbuilder-time-stamp: 1737641841 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [lexicon_3.17.0-1.dsc] I: copying [./lexicon_3.17.0.orig.tar.gz] I: copying [./lexicon_3.17.0-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./lexicon_3.17.0-1.dsc: unsupported subcommand dpkg-source: info: extracting lexicon in lexicon-3.17.0 dpkg-source: info: unpacking lexicon_3.17.0.orig.tar.gz dpkg-source: info: unpacking lexicon_3.17.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-fix-tests.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3671/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='b2e57067c0e14f62a4ec25bea08848f7' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='3671' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.rg0amR6o/pbuilderrc_MkmY --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.rg0amR6o/b1 --logfile b1/build.log lexicon_3.17.0-1.dsc' SUDO_GID='112' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos2-i386 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3671/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), python3-all, dh-python, pybuild-plugin-pyproject, python3-boto3, python3-bs4, python3-cryptography, python3-dnspython, python3-idna, python3-openssl, python3-poetry-core, python3-pyotp, python3-pytest, python3-setuptools, python3-softlayer, python3-tldextract, python3-vcr, python3-yaml, python3-zeep dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19818 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however: Package pybuild-plugin-pyproject is not installed. pbuilder-satisfydepends-dummy depends on python3-boto3; however: Package python3-boto3 is not installed. pbuilder-satisfydepends-dummy depends on python3-bs4; however: Package python3-bs4 is not installed. pbuilder-satisfydepends-dummy depends on python3-cryptography; however: Package python3-cryptography is not installed. pbuilder-satisfydepends-dummy depends on python3-dnspython; however: Package python3-dnspython is not installed. pbuilder-satisfydepends-dummy depends on python3-idna; however: Package python3-idna is not installed. pbuilder-satisfydepends-dummy depends on python3-openssl; however: Package python3-openssl is not installed. pbuilder-satisfydepends-dummy depends on python3-poetry-core; however: Package python3-poetry-core is not installed. pbuilder-satisfydepends-dummy depends on python3-pyotp; however: Package python3-pyotp is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-softlayer; however: Package python3-softlayer is not installed. pbuilder-satisfydepends-dummy depends on python3-tldextract; however: Package python3-tldextract is not installed. pbuilder-satisfydepends-dummy depends on python3-vcr; however: Package python3-vcr is not installed. pbuilder-satisfydepends-dummy depends on python3-yaml; however: Package python3-yaml is not installed. pbuilder-satisfydepends-dummy depends on python3-zeep; however: Package python3-zeep is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libgcrypt20{a} libgpg-error0{a} libgssapi-krb5-2{a} libicu72{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libpipeline1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} libxslt1.1{a} libyaml-0-2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} po-debconf{a} pybuild-plugin-pyproject{a} python3{a} python3-all{a} python3-attr{a} python3-autocommand{a} python3-bcrypt{a} python3-boto3{a} python3-botocore{a} python3-bs4{a} python3-build{a} python3-cached-property{a} python3-certifi{a} python3-cffi-backend{a} python3-chardet{a} python3-charset-normalizer{a} python3-click{a} python3-cryptography{a} python3-dateutil{a} python3-defusedxml{a} python3-dnspython{a} python3-filelock{a} python3-freezegun{a} python3-idna{a} python3-inflect{a} python3-iniconfig{a} python3-installer{a} python3-isodate{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jmespath{a} python3-lxml{a} python3-markdown-it{a} python3-mdurl{a} python3-minimal{a} python3-more-itertools{a} python3-multidict{a} python3-openssl{a} python3-packaging{a} python3-pkg-resources{a} python3-platformdirs{a} python3-pluggy{a} python3-poetry-core{a} python3-prettytable{a} python3-prompt-toolkit{a} python3-pygments{a} python3-pyotp{a} python3-pyproject-hooks{a} python3-pytest{a} python3-requests{a} python3-requests-file{a} python3-requests-toolbelt{a} python3-rich{a} python3-s3transfer{a} python3-setuptools{a} python3-six{a} python3-softlayer{a} python3-soupsieve{a} python3-tldextract{a} python3-toml{a} python3-typeguard{a} python3-typing-extensions{a} python3-tz{a} python3-urllib3{a} python3-vcr{a} python3-wcwidth{a} python3-wheel{a} python3-wrapt{a} python3-yaml{a} python3-yarl{a} python3-zeep{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: curl krb5-locales libarchive-cpio-perl libgpg-error-l10n libltdl-dev libmail-sendmail-perl lynx publicsuffix python3-cssselect python3-h2 python3-html5lib python3-httpcore python3-httpx wget 0 packages upgraded, 134 newly installed, 0 to remove and 0 not upgraded. Need to get 52.8 MB of archives. After unpacking 285 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main i386 libpython3.13-minimal i386 3.13.1-3 [858 kB] Get: 2 http://deb.debian.org/debian unstable/main i386 libexpat1 i386 2.6.4-1 [107 kB] Get: 3 http://deb.debian.org/debian unstable/main i386 python3.13-minimal i386 3.13.1-3 [2264 kB] Get: 4 http://deb.debian.org/debian unstable/main i386 python3-minimal i386 3.13.1-2 [27.0 kB] Get: 5 http://deb.debian.org/debian unstable/main i386 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian unstable/main i386 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main i386 tzdata all 2025a-1 [259 kB] Get: 8 http://deb.debian.org/debian unstable/main i386 libffi8 i386 3.4.6-1 [21.2 kB] Get: 9 http://deb.debian.org/debian unstable/main i386 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian unstable/main i386 libreadline8t64 i386 8.2-6 [173 kB] Get: 11 http://deb.debian.org/debian unstable/main i386 libpython3.13-stdlib i386 3.13.1-3 [1980 kB] Get: 12 http://deb.debian.org/debian unstable/main i386 python3.13 i386 3.13.1-3 [740 kB] Get: 13 http://deb.debian.org/debian unstable/main i386 libpython3-stdlib i386 3.13.1-2 [9952 B] Get: 14 http://deb.debian.org/debian unstable/main i386 python3 i386 3.13.1-2 [28.0 kB] Get: 15 http://deb.debian.org/debian unstable/main i386 libpython3.12-minimal i386 3.12.8-5 [816 kB] Get: 16 http://deb.debian.org/debian unstable/main i386 python3.12-minimal i386 3.12.8-5 [2241 kB] Get: 17 http://deb.debian.org/debian unstable/main i386 sensible-utils all 0.0.24 [24.8 kB] Get: 18 http://deb.debian.org/debian unstable/main i386 openssl i386 3.4.0-2 [1427 kB] Get: 19 http://deb.debian.org/debian unstable/main i386 ca-certificates all 20241223 [164 kB] Get: 20 http://deb.debian.org/debian unstable/main i386 libmagic-mgc i386 1:5.45-3+b1 [314 kB] Get: 21 http://deb.debian.org/debian unstable/main i386 libmagic1t64 i386 1:5.45-3+b1 [115 kB] Get: 22 http://deb.debian.org/debian unstable/main i386 file i386 1:5.45-3+b1 [43.2 kB] Get: 23 http://deb.debian.org/debian unstable/main i386 gettext-base i386 0.23.1-1 [245 kB] Get: 24 http://deb.debian.org/debian unstable/main i386 libuchardet0 i386 0.0.8-1+b2 [69.2 kB] Get: 25 http://deb.debian.org/debian unstable/main i386 groff-base i386 1.23.0-7 [1199 kB] Get: 26 http://deb.debian.org/debian unstable/main i386 bsdextrautils i386 2.40.4-1 [96.1 kB] Get: 27 http://deb.debian.org/debian unstable/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB] Get: 28 http://deb.debian.org/debian unstable/main i386 man-db i386 2.13.0-1 [1428 kB] Get: 29 http://deb.debian.org/debian unstable/main i386 m4 i386 1.4.19-5 [301 kB] Get: 30 http://deb.debian.org/debian unstable/main i386 autoconf all 2.72-3 [493 kB] Get: 31 http://deb.debian.org/debian unstable/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 32 http://deb.debian.org/debian unstable/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 33 http://deb.debian.org/debian unstable/main i386 autopoint all 0.23.1-1 [770 kB] Get: 34 http://deb.debian.org/debian unstable/main i386 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 35 http://deb.debian.org/debian unstable/main i386 libtool all 2.5.4-2 [539 kB] Get: 36 http://deb.debian.org/debian unstable/main i386 dh-autoreconf all 20 [17.1 kB] Get: 37 http://deb.debian.org/debian unstable/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 38 http://deb.debian.org/debian unstable/main i386 libfile-stripnondeterminism-perl all 1.14.1-1 [19.6 kB] Get: 39 http://deb.debian.org/debian unstable/main i386 dh-strip-nondeterminism all 1.14.1-1 [8584 B] Get: 40 http://deb.debian.org/debian unstable/main i386 libelf1t64 i386 0.192-4 [195 kB] Get: 41 http://deb.debian.org/debian unstable/main i386 dwz i386 0.15-1+b1 [116 kB] Get: 42 http://deb.debian.org/debian unstable/main i386 libunistring5 i386 1.3-1 [458 kB] Get: 43 http://deb.debian.org/debian unstable/main i386 libicu72 i386 72.1-6 [9582 kB] Get: 44 http://deb.debian.org/debian unstable/main i386 libxml2 i386 2.12.7+dfsg+really2.9.14-0.2+b1 [734 kB] Get: 45 http://deb.debian.org/debian unstable/main i386 gettext i386 0.23.1-1 [1714 kB] Get: 46 http://deb.debian.org/debian unstable/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 47 http://deb.debian.org/debian unstable/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 48 http://deb.debian.org/debian unstable/main i386 debhelper all 13.24.1 [920 kB] Get: 49 http://deb.debian.org/debian unstable/main i386 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 50 http://deb.debian.org/debian unstable/main i386 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 51 http://deb.debian.org/debian unstable/main i386 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 52 http://deb.debian.org/debian unstable/main i386 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 53 http://deb.debian.org/debian unstable/main i386 python3-inflect all 7.3.1-2 [32.4 kB] Get: 54 http://deb.debian.org/debian unstable/main i386 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 55 http://deb.debian.org/debian unstable/main i386 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 56 http://deb.debian.org/debian unstable/main i386 python3-pkg-resources all 75.6.0-1 [222 kB] Get: 57 http://deb.debian.org/debian unstable/main i386 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 58 http://deb.debian.org/debian unstable/main i386 python3-zipp all 3.21.0-1 [10.6 kB] Get: 59 http://deb.debian.org/debian unstable/main i386 python3-setuptools all 75.6.0-1 [720 kB] Get: 60 http://deb.debian.org/debian unstable/main i386 dh-python all 6.20250108 [113 kB] Get: 61 http://deb.debian.org/debian unstable/main i386 libcom-err2 i386 1.47.2-1 [24.3 kB] Get: 62 http://deb.debian.org/debian unstable/main i386 libgpg-error0 i386 1.51-3 [87.3 kB] Get: 63 http://deb.debian.org/debian unstable/main i386 libgcrypt20 i386 1.11.0-7 [799 kB] Get: 64 http://deb.debian.org/debian unstable/main i386 libkrb5support0 i386 1.21.3-4 [35.0 kB] Get: 65 http://deb.debian.org/debian unstable/main i386 libk5crypto3 i386 1.21.3-4 [83.7 kB] Get: 66 http://deb.debian.org/debian unstable/main i386 libkeyutils1 i386 1.6.3-4 [9600 B] Get: 67 http://deb.debian.org/debian unstable/main i386 libkrb5-3 i386 1.21.3-4 [354 kB] Get: 68 http://deb.debian.org/debian unstable/main i386 libgssapi-krb5-2 i386 1.21.3-4 [149 kB] Get: 69 http://deb.debian.org/debian unstable/main i386 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 70 http://deb.debian.org/debian unstable/main i386 libtirpc3t64 i386 1.3.4+ds-1.3+b1 [90.5 kB] Get: 71 http://deb.debian.org/debian unstable/main i386 libnsl2 i386 1.3.0-3+b3 [42.7 kB] Get: 72 http://deb.debian.org/debian unstable/main i386 libpython3.12-stdlib i386 3.12.8-5 [1969 kB] Get: 73 http://deb.debian.org/debian unstable/main i386 libxslt1.1 i386 1.1.35-1.1+b1 [243 kB] Get: 74 http://deb.debian.org/debian unstable/main i386 libyaml-0-2 i386 0.2.5-2 [55.8 kB] Get: 75 http://deb.debian.org/debian unstable/main i386 python3-packaging all 24.2-1 [55.3 kB] Get: 76 http://deb.debian.org/debian unstable/main i386 python3-pyproject-hooks all 1.2.0-1 [11.7 kB] Get: 77 http://deb.debian.org/debian unstable/main i386 python3-toml all 0.10.2-1 [16.2 kB] Get: 78 http://deb.debian.org/debian unstable/main i386 python3-wheel all 0.45.1-1 [56.7 kB] Get: 79 http://deb.debian.org/debian unstable/main i386 python3-build all 1.2.2-1 [36.0 kB] Get: 80 http://deb.debian.org/debian unstable/main i386 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 81 http://deb.debian.org/debian unstable/main i386 pybuild-plugin-pyproject all 6.20250108 [11.6 kB] Get: 82 http://deb.debian.org/debian unstable/main i386 python3.12 i386 3.12.8-5 [677 kB] Get: 83 http://deb.debian.org/debian unstable/main i386 python3-all i386 3.13.1-2 [1052 B] Get: 84 http://deb.debian.org/debian unstable/main i386 python3-attr all 24.3.0-1 [68.8 kB] Get: 85 http://deb.debian.org/debian unstable/main i386 python3-bcrypt i386 4.2.0-2.1 [248 kB] Get: 86 http://deb.debian.org/debian unstable/main i386 python3-dateutil all 2.9.0-3 [79.3 kB] Get: 87 http://deb.debian.org/debian unstable/main i386 python3-jmespath all 1.0.1-1 [21.1 kB] Get: 88 http://deb.debian.org/debian unstable/main i386 python3-urllib3 all 2.3.0-1 [114 kB] Get: 89 http://deb.debian.org/debian unstable/main i386 python3-certifi all 2024.12.14+ds-1 [9624 B] Get: 90 http://deb.debian.org/debian unstable/main i386 python3-charset-normalizer i386 3.4.0-1+b1 [139 kB] Get: 91 http://deb.debian.org/debian unstable/main i386 python3-idna all 3.8-2 [41.6 kB] Get: 92 http://deb.debian.org/debian unstable/main i386 python3-chardet all 5.2.0+dfsg-2 [108 kB] Get: 93 http://deb.debian.org/debian unstable/main i386 python3-requests all 2.32.3+dfsg-1 [71.9 kB] Get: 94 http://deb.debian.org/debian unstable/main i386 python3-six all 1.17.0-1 [16.5 kB] Get: 95 http://deb.debian.org/debian unstable/main i386 python3-botocore all 1.35.92+repack-2 [7236 kB] Get: 96 http://deb.debian.org/debian unstable/main i386 python3-s3transfer all 0.10.4-1 [56.4 kB] Get: 97 http://deb.debian.org/debian unstable/main i386 python3-boto3 all 1.36.0+dfsg-1 [330 kB] Get: 98 http://deb.debian.org/debian unstable/main i386 python3-soupsieve all 2.6-1 [38.3 kB] Get: 99 http://deb.debian.org/debian unstable/main i386 python3-bs4 all 4.12.3-3 [133 kB] Get: 100 http://deb.debian.org/debian unstable/main i386 python3-cached-property all 2.0.1-2 [11.4 kB] Get: 101 http://deb.debian.org/debian unstable/main i386 python3-cffi-backend i386 1.17.1-2+b1 [95.5 kB] Get: 102 http://deb.debian.org/debian unstable/main i386 python3-click all 8.1.8-1 [95.2 kB] Get: 103 http://deb.debian.org/debian unstable/main i386 python3-cryptography i386 43.0.0-1 [975 kB] Get: 104 http://deb.debian.org/debian unstable/main i386 python3-defusedxml all 0.7.1-3 [43.4 kB] Get: 105 http://deb.debian.org/debian unstable/main i386 python3-dnspython all 2.7.0-1 [164 kB] Get: 106 http://deb.debian.org/debian unstable/main i386 python3-filelock all 3.16.1-1 [12.6 kB] Get: 107 http://deb.debian.org/debian unstable/main i386 python3-freezegun all 1.5.1-1.2 [17.2 kB] Get: 108 http://deb.debian.org/debian unstable/main i386 python3-iniconfig all 1.1.1-2 [6396 B] Get: 109 http://deb.debian.org/debian unstable/main i386 python3-isodate all 0.7.0-1 [19.4 kB] Get: 110 http://deb.debian.org/debian unstable/main i386 python3-lxml i386 5.3.0-1+b1 [1586 kB] Get: 111 http://deb.debian.org/debian unstable/main i386 python3-mdurl all 0.1.2-1 [9444 B] Get: 112 http://deb.debian.org/debian unstable/main i386 python3-markdown-it all 3.0.0-2 [62.5 kB] Get: 113 http://deb.debian.org/debian unstable/main i386 python3-multidict i386 6.1.0-1+b1 [40.5 kB] Get: 114 http://deb.debian.org/debian unstable/main i386 python3-openssl all 25.0.0-1 [52.1 kB] Get: 115 http://deb.debian.org/debian unstable/main i386 python3-platformdirs all 4.3.6-1 [16.6 kB] Get: 116 http://deb.debian.org/debian unstable/main i386 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 117 http://deb.debian.org/debian unstable/main i386 python3-poetry-core all 2.0.1-2 [225 kB] Get: 118 http://deb.debian.org/debian unstable/main i386 python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB] Get: 119 http://deb.debian.org/debian unstable/main i386 python3-prettytable all 3.12.0-1 [39.5 kB] Get: 120 http://deb.debian.org/debian unstable/main i386 python3-prompt-toolkit all 3.0.48-1 [277 kB] Get: 121 http://deb.debian.org/debian unstable/main i386 python3-pygments all 2.18.0+dfsg-2 [836 kB] Get: 122 http://deb.debian.org/debian unstable/main i386 python3-pyotp all 2.9.0-2 [15.6 kB] Get: 123 http://deb.debian.org/debian unstable/main i386 python3-pytest all 8.3.4-1 [250 kB] Get: 124 http://deb.debian.org/debian unstable/main i386 python3-requests-file all 2.1.0-1 [6600 B] Get: 125 http://deb.debian.org/debian unstable/main i386 python3-requests-toolbelt all 1.0.0-4 [40.3 kB] Get: 126 http://deb.debian.org/debian unstable/main i386 python3-rich all 13.9.4-1 [203 kB] Get: 127 http://deb.debian.org/debian unstable/main i386 python3-softlayer all 6.1.4-1 [267 kB] Get: 128 http://deb.debian.org/debian unstable/main i386 python3-tldextract all 5.1.2-1 [22.7 kB] Get: 129 http://deb.debian.org/debian unstable/main i386 python3-tz all 2024.2-1 [31.0 kB] Get: 130 http://deb.debian.org/debian unstable/main i386 python3-wrapt i386 1.15.0-4 [44.1 kB] Get: 131 http://deb.debian.org/debian unstable/main i386 python3-yaml i386 6.0.2-1+b1 [173 kB] Get: 132 http://deb.debian.org/debian unstable/main i386 python3-yarl i386 1.13.1-1+b1 [119 kB] Get: 133 http://deb.debian.org/debian unstable/main i386 python3-vcr all 7.0.0-2 [40.9 kB] Get: 134 http://deb.debian.org/debian unstable/main i386 python3-zeep all 4.3.1-2 [80.6 kB] Fetched 52.8 MB in 2s (33.0 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19818 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.1-3_i386.deb ... Unpacking libpython3.13-minimal:i386 (3.13.1-3) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../libexpat1_2.6.4-1_i386.deb ... Unpacking libexpat1:i386 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.1-3_i386.deb ... Unpacking python3.13-minimal (3.13.1-3) ... Setting up libpython3.13-minimal:i386 (3.13.1-3) ... Setting up libexpat1:i386 (2.6.4-1) ... Setting up python3.13-minimal (3.13.1-3) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20152 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.1-2_i386.deb ... Unpacking python3-minimal (3.13.1-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-1_all.deb ... Unpacking tzdata (2025a-1) ... Selecting previously unselected package libffi8:i386. Preparing to unpack .../4-libffi8_3.4.6-1_i386.deb ... Unpacking libffi8:i386 (3.4.6-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:i386. Preparing to unpack .../6-libreadline8t64_8.2-6_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8 to /lib/i386-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8.2 to /lib/i386-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8 to /lib/i386-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8.2 to /lib/i386-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:i386 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:i386. Preparing to unpack .../7-libpython3.13-stdlib_3.13.1-3_i386.deb ... Unpacking libpython3.13-stdlib:i386 (3.13.1-3) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.1-3_i386.deb ... Unpacking python3.13 (3.13.1-3) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../9-libpython3-stdlib_3.13.1-2_i386.deb ... Unpacking libpython3-stdlib:i386 (3.13.1-2) ... Setting up python3-minimal (3.13.1-2) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21162 files and directories currently installed.) Preparing to unpack .../000-python3_3.13.1-2_i386.deb ... Unpacking python3 (3.13.1-2) ... Selecting previously unselected package libpython3.12-minimal:i386. Preparing to unpack .../001-libpython3.12-minimal_3.12.8-5_i386.deb ... Unpacking libpython3.12-minimal:i386 (3.12.8-5) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../002-python3.12-minimal_3.12.8-5_i386.deb ... Unpacking python3.12-minimal (3.12.8-5) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../003-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../004-openssl_3.4.0-2_i386.deb ... Unpacking openssl (3.4.0-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../005-ca-certificates_20241223_all.deb ... Unpacking ca-certificates (20241223) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../006-libmagic-mgc_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:i386. Preparing to unpack .../007-libmagic1t64_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic1t64:i386 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../008-file_1%3a5.45-3+b1_i386.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../009-gettext-base_0.23.1-1_i386.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../010-libuchardet0_0.0.8-1+b2_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../011-groff-base_1.23.0-7_i386.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../012-bsdextrautils_2.40.4-1_i386.deb ... Unpacking bsdextrautils (2.40.4-1) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../013-libpipeline1_1.5.8-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../014-man-db_2.13.0-1_i386.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../015-m4_1.4.19-5_i386.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../016-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../017-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../018-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../019-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../020-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../021-libtool_2.5.4-2_all.deb ... Unpacking libtool (2.5.4-2) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../022-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../023-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../024-libfile-stripnondeterminism-perl_1.14.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../025-dh-strip-nondeterminism_1.14.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-1) ... Selecting previously unselected package libelf1t64:i386. Preparing to unpack .../026-libelf1t64_0.192-4_i386.deb ... Unpacking libelf1t64:i386 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../027-dwz_0.15-1+b1_i386.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:i386. Preparing to unpack .../028-libunistring5_1.3-1_i386.deb ... Unpacking libunistring5:i386 (1.3-1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../029-libicu72_72.1-6_i386.deb ... Unpacking libicu72:i386 (72.1-6) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../030-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_i386.deb ... Unpacking libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../031-gettext_0.23.1-1_i386.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../032-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../033-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../034-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../035-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../036-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../037-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../038-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../039-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../040-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../041-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../042-python3-pkg-resources_75.6.0-1_all.deb ... Unpacking python3-pkg-resources (75.6.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../043-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../044-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../045-python3-setuptools_75.6.0-1_all.deb ... Unpacking python3-setuptools (75.6.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../046-dh-python_6.20250108_all.deb ... Unpacking dh-python (6.20250108) ... Selecting previously unselected package libcom-err2:i386. Preparing to unpack .../047-libcom-err2_1.47.2-1_i386.deb ... Unpacking libcom-err2:i386 (1.47.2-1) ... Selecting previously unselected package libgpg-error0:i386. Preparing to unpack .../048-libgpg-error0_1.51-3_i386.deb ... Unpacking libgpg-error0:i386 (1.51-3) ... Selecting previously unselected package libgcrypt20:i386. Preparing to unpack .../049-libgcrypt20_1.11.0-7_i386.deb ... Unpacking libgcrypt20:i386 (1.11.0-7) ... Selecting previously unselected package libkrb5support0:i386. Preparing to unpack .../050-libkrb5support0_1.21.3-4_i386.deb ... Unpacking libkrb5support0:i386 (1.21.3-4) ... Selecting previously unselected package libk5crypto3:i386. Preparing to unpack .../051-libk5crypto3_1.21.3-4_i386.deb ... Unpacking libk5crypto3:i386 (1.21.3-4) ... Selecting previously unselected package libkeyutils1:i386. Preparing to unpack .../052-libkeyutils1_1.6.3-4_i386.deb ... Unpacking libkeyutils1:i386 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:i386. Preparing to unpack .../053-libkrb5-3_1.21.3-4_i386.deb ... Unpacking libkrb5-3:i386 (1.21.3-4) ... Selecting previously unselected package libgssapi-krb5-2:i386. Preparing to unpack .../054-libgssapi-krb5-2_1.21.3-4_i386.deb ... Unpacking libgssapi-krb5-2:i386 (1.21.3-4) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../055-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:i386. Preparing to unpack .../056-libtirpc3t64_1.3.4+ds-1.3+b1_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3 to /lib/i386-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3.0.0 to /lib/i386-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:i386 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:i386. Preparing to unpack .../057-libnsl2_1.3.0-3+b3_i386.deb ... Unpacking libnsl2:i386 (1.3.0-3+b3) ... Selecting previously unselected package libpython3.12-stdlib:i386. Preparing to unpack .../058-libpython3.12-stdlib_3.12.8-5_i386.deb ... Unpacking libpython3.12-stdlib:i386 (3.12.8-5) ... Selecting previously unselected package libxslt1.1:i386. Preparing to unpack .../059-libxslt1.1_1.1.35-1.1+b1_i386.deb ... Unpacking libxslt1.1:i386 (1.1.35-1.1+b1) ... Selecting previously unselected package libyaml-0-2:i386. Preparing to unpack .../060-libyaml-0-2_0.2.5-2_i386.deb ... Unpacking libyaml-0-2:i386 (0.2.5-2) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../061-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../062-python3-pyproject-hooks_1.2.0-1_all.deb ... Unpacking python3-pyproject-hooks (1.2.0-1) ... Selecting previously unselected package python3-toml. Preparing to unpack .../063-python3-toml_0.10.2-1_all.deb ... Unpacking python3-toml (0.10.2-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../064-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package python3-build. Preparing to unpack .../065-python3-build_1.2.2-1_all.deb ... Unpacking python3-build (1.2.2-1) ... Selecting previously unselected package python3-installer. Preparing to unpack .../066-python3-installer_0.7.0+dfsg1-3_all.deb ... Unpacking python3-installer (0.7.0+dfsg1-3) ... Selecting previously unselected package pybuild-plugin-pyproject. Preparing to unpack .../067-pybuild-plugin-pyproject_6.20250108_all.deb ... Unpacking pybuild-plugin-pyproject (6.20250108) ... Selecting previously unselected package python3.12. Preparing to unpack .../068-python3.12_3.12.8-5_i386.deb ... Unpacking python3.12 (3.12.8-5) ... Selecting previously unselected package python3-all. Preparing to unpack .../069-python3-all_3.13.1-2_i386.deb ... Unpacking python3-all (3.13.1-2) ... Selecting previously unselected package python3-attr. Preparing to unpack .../070-python3-attr_24.3.0-1_all.deb ... Unpacking python3-attr (24.3.0-1) ... Selecting previously unselected package python3-bcrypt. Preparing to unpack .../071-python3-bcrypt_4.2.0-2.1_i386.deb ... Unpacking python3-bcrypt (4.2.0-2.1) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../072-python3-dateutil_2.9.0-3_all.deb ... Unpacking python3-dateutil (2.9.0-3) ... Selecting previously unselected package python3-jmespath. Preparing to unpack .../073-python3-jmespath_1.0.1-1_all.deb ... Unpacking python3-jmespath (1.0.1-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../074-python3-urllib3_2.3.0-1_all.deb ... Unpacking python3-urllib3 (2.3.0-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../075-python3-certifi_2024.12.14+ds-1_all.deb ... Unpacking python3-certifi (2024.12.14+ds-1) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../076-python3-charset-normalizer_3.4.0-1+b1_i386.deb ... Unpacking python3-charset-normalizer (3.4.0-1+b1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../077-python3-idna_3.8-2_all.deb ... Unpacking python3-idna (3.8-2) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../078-python3-chardet_5.2.0+dfsg-2_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-2) ... Selecting previously unselected package python3-requests. Preparing to unpack .../079-python3-requests_2.32.3+dfsg-1_all.deb ... Unpacking python3-requests (2.32.3+dfsg-1) ... Selecting previously unselected package python3-six. Preparing to unpack .../080-python3-six_1.17.0-1_all.deb ... Unpacking python3-six (1.17.0-1) ... Selecting previously unselected package python3-botocore. Preparing to unpack .../081-python3-botocore_1.35.92+repack-2_all.deb ... Unpacking python3-botocore (1.35.92+repack-2) ... Selecting previously unselected package python3-s3transfer. Preparing to unpack .../082-python3-s3transfer_0.10.4-1_all.deb ... Unpacking python3-s3transfer (0.10.4-1) ... Selecting previously unselected package python3-boto3. Preparing to unpack .../083-python3-boto3_1.36.0+dfsg-1_all.deb ... Unpacking python3-boto3 (1.36.0+dfsg-1) ... Selecting previously unselected package python3-soupsieve. Preparing to unpack .../084-python3-soupsieve_2.6-1_all.deb ... Unpacking python3-soupsieve (2.6-1) ... Selecting previously unselected package python3-bs4. Preparing to unpack .../085-python3-bs4_4.12.3-3_all.deb ... Unpacking python3-bs4 (4.12.3-3) ... Selecting previously unselected package python3-cached-property. Preparing to unpack .../086-python3-cached-property_2.0.1-2_all.deb ... Unpacking python3-cached-property (2.0.1-2) ... Selecting previously unselected package python3-cffi-backend:i386. Preparing to unpack .../087-python3-cffi-backend_1.17.1-2+b1_i386.deb ... Unpacking python3-cffi-backend:i386 (1.17.1-2+b1) ... Selecting previously unselected package python3-click. Preparing to unpack .../088-python3-click_8.1.8-1_all.deb ... Unpacking python3-click (8.1.8-1) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../089-python3-cryptography_43.0.0-1_i386.deb ... Unpacking python3-cryptography (43.0.0-1) ... Selecting previously unselected package python3-defusedxml. Preparing to unpack .../090-python3-defusedxml_0.7.1-3_all.deb ... Unpacking python3-defusedxml (0.7.1-3) ... Selecting previously unselected package python3-dnspython. Preparing to unpack .../091-python3-dnspython_2.7.0-1_all.deb ... Unpacking python3-dnspython (2.7.0-1) ... Selecting previously unselected package python3-filelock. Preparing to unpack .../092-python3-filelock_3.16.1-1_all.deb ... Unpacking python3-filelock (3.16.1-1) ... Selecting previously unselected package python3-freezegun. Preparing to unpack .../093-python3-freezegun_1.5.1-1.2_all.deb ... Unpacking python3-freezegun (1.5.1-1.2) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../094-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-isodate. Preparing to unpack .../095-python3-isodate_0.7.0-1_all.deb ... Unpacking python3-isodate (0.7.0-1) ... Selecting previously unselected package python3-lxml:i386. Preparing to unpack .../096-python3-lxml_5.3.0-1+b1_i386.deb ... Unpacking python3-lxml:i386 (5.3.0-1+b1) ... Selecting previously unselected package python3-mdurl. Preparing to unpack .../097-python3-mdurl_0.1.2-1_all.deb ... Unpacking python3-mdurl (0.1.2-1) ... Selecting previously unselected package python3-markdown-it. Preparing to unpack .../098-python3-markdown-it_3.0.0-2_all.deb ... Unpacking python3-markdown-it (3.0.0-2) ... Selecting previously unselected package python3-multidict. Preparing to unpack .../099-python3-multidict_6.1.0-1+b1_i386.deb ... Unpacking python3-multidict (6.1.0-1+b1) ... Selecting previously unselected package python3-openssl. Preparing to unpack .../100-python3-openssl_25.0.0-1_all.deb ... Unpacking python3-openssl (25.0.0-1) ... Selecting previously unselected package python3-platformdirs. Preparing to unpack .../101-python3-platformdirs_4.3.6-1_all.deb ... Unpacking python3-platformdirs (4.3.6-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../102-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-poetry-core. Preparing to unpack .../103-python3-poetry-core_2.0.1-2_all.deb ... Unpacking python3-poetry-core (2.0.1-2) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../104-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... Selecting previously unselected package python3-prettytable. Preparing to unpack .../105-python3-prettytable_3.12.0-1_all.deb ... Unpacking python3-prettytable (3.12.0-1) ... Selecting previously unselected package python3-prompt-toolkit. Preparing to unpack .../106-python3-prompt-toolkit_3.0.48-1_all.deb ... Unpacking python3-prompt-toolkit (3.0.48-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../107-python3-pygments_2.18.0+dfsg-2_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-2) ... Selecting previously unselected package python3-pyotp. Preparing to unpack .../108-python3-pyotp_2.9.0-2_all.deb ... Unpacking python3-pyotp (2.9.0-2) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../109-python3-pytest_8.3.4-1_all.deb ... Unpacking python3-pytest (8.3.4-1) ... Selecting previously unselected package python3-requests-file. Preparing to unpack .../110-python3-requests-file_2.1.0-1_all.deb ... Unpacking python3-requests-file (2.1.0-1) ... Selecting previously unselected package python3-requests-toolbelt. Preparing to unpack .../111-python3-requests-toolbelt_1.0.0-4_all.deb ... Unpacking python3-requests-toolbelt (1.0.0-4) ... Selecting previously unselected package python3-rich. Preparing to unpack .../112-python3-rich_13.9.4-1_all.deb ... Unpacking python3-rich (13.9.4-1) ... Selecting previously unselected package python3-softlayer. Preparing to unpack .../113-python3-softlayer_6.1.4-1_all.deb ... Unpacking python3-softlayer (6.1.4-1) ... Selecting previously unselected package python3-tldextract. Preparing to unpack .../114-python3-tldextract_5.1.2-1_all.deb ... Unpacking python3-tldextract (5.1.2-1) ... Selecting previously unselected package python3-tz. Preparing to unpack .../115-python3-tz_2024.2-1_all.deb ... Unpacking python3-tz (2024.2-1) ... Selecting previously unselected package python3-wrapt. Preparing to unpack .../116-python3-wrapt_1.15.0-4_i386.deb ... Unpacking python3-wrapt (1.15.0-4) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../117-python3-yaml_6.0.2-1+b1_i386.deb ... Unpacking python3-yaml (6.0.2-1+b1) ... Selecting previously unselected package python3-yarl. Preparing to unpack .../118-python3-yarl_1.13.1-1+b1_i386.deb ... Unpacking python3-yarl (1.13.1-1+b1) ... Selecting previously unselected package python3-vcr. Preparing to unpack .../119-python3-vcr_7.0.0-2_all.deb ... Unpacking python3-vcr (7.0.0-2) ... Selecting previously unselected package python3-zeep. Preparing to unpack .../120-python3-zeep_4.3.1-2_all.deb ... Unpacking python3-zeep (4.3.1-2) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:i386 (1.5.8-1) ... Setting up libkeyutils1:i386 (1.6.3-4) ... Setting up libicu72:i386 (72.1-6) ... Setting up bsdextrautils (2.40.4-1) ... Setting up libgpg-error0:i386 (1.51-3) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:i386 (0.2.5-2) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:i386 (1:5.45-3+b1) ... Setting up libpython3.12-minimal:i386 (3.12.8-5) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up libgcrypt20:i386 (1.11.0-7) ... Setting up libcom-err2:i386 (1.47.2-1) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:i386 (0.192-4) ... Setting up libkrb5support0:i386 (1.21.3-4) ... Setting up tzdata (2025a-1) ... Current default time zone: 'Etc/UTC' Local time is now: Thu Jan 23 14:18:00 UTC 2025. Universal Time is now: Thu Jan 23 14:18:00 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libunistring5:i386 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up libk5crypto3:i386 (1.21.3-4) ... Setting up autoconf (2.72-3) ... Setting up libffi8:i386 (3.4.6-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:i386 (0.0.8-1+b2) ... Setting up netbase (6.4) ... Setting up libkrb5-3:i386 (1.21.3-4) ... Setting up openssl (3.4.0-2) ... Setting up readline-common (8.2-6) ... Setting up libxml2:i386 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-1) ... Setting up python3.12-minimal (3.12.8-5) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 152 added, 0 removed; done. Setting up libgssapi-krb5-2:i386 (1.21.3-4) ... Setting up libreadline8t64:i386 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-1) ... Setting up groff-base (1.23.0-7) ... Setting up libxslt1.1:i386 (1.1.35-1.1+b1) ... Setting up libpython3.13-stdlib:i386 (3.13.1-3) ... Setting up libpython3-stdlib:i386 (3.13.1-2) ... Setting up libtirpc3t64:i386 (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.1-3) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.1-2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-click (8.1.8-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-wheel (0.45.1-1) ... Setting up python3-platformdirs (4.3.6-1) ... Setting up python3-multidict (6.1.0-1+b1) ... Setting up python3-tz (2024.2-1) ... Setting up python3-six (1.17.0-1) ... Setting up python3-isodate (0.7.0-1) ... Setting up python3-pygments (2.18.0+dfsg-2) ... Setting up python3-packaging (24.2-1) ... Setting up python3-pyotp (2.9.0-2) ... Setting up python3-chardet (5.2.0+dfsg-2) ... Setting up python3-wcwidth (0.2.13+dfsg1-1) ... Setting up python3-pyproject-hooks (1.2.0-1) ... Setting up python3-certifi (2024.12.14+ds-1) ... Setting up python3-poetry-core (2.0.1-2) ... Setting up python3-jmespath (1.0.1-1) ... Setting up python3-mdurl (0.1.2-1) ... Setting up python3-idna (3.8-2) ... Setting up python3-wrapt (1.15.0-4) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-toml (0.10.2-1) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-urllib3 (2.3.0-1) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-markdown-it (3.0.0-2) ... Setting up python3-lxml:i386 (5.3.0-1+b1) ... Setting up python3-dnspython (2.7.0-1) ... Setting up libnsl2:i386 (1.3.0-3+b3) ... Setting up python3-dateutil (2.9.0-3) ... Setting up python3-build (1.2.2-1) ... Setting up python3-prettytable (3.12.0-1) ... Setting up python3-yarl (1.13.1-1+b1) ... Setting up python3-soupsieve (2.6-1) ... Setting up python3-freezegun (1.5.1-1.2) ... Setting up python3-cffi-backend:i386 (1.17.1-2+b1) ... Setting up python3-prompt-toolkit (3.0.48-1) ... Setting up python3-cached-property (2.0.1-2) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-attr (24.3.0-1) ... Setting up python3-filelock (3.16.1-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up libpython3.12-stdlib:i386 (3.12.8-5) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-rich (13.9.4-1) ... Setting up python3-defusedxml (0.7.1-3) ... Setting up python3-charset-normalizer (3.4.0-1+b1) ... Setting up python3-pytest (8.3.4-1) ... Setting up python3-bcrypt (4.2.0-2.1) ... Setting up python3.12 (3.12.8-5) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-all (3.13.1-2) ... Setting up python3-yaml (6.0.2-1+b1) ... Setting up debhelper (13.24.1) ... Setting up python3-bs4 (4.12.3-3) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-cryptography (43.0.0-1) ... Setting up python3-requests (2.32.3+dfsg-1) ... Setting up python3-vcr (7.0.0-2) ... Setting up python3-softlayer (6.1.4-1) ... Setting up python3-requests-file (2.1.0-1) ... Setting up python3-tldextract (5.1.2-1) ... Setting up python3-pkg-resources (75.6.0-1) ... Setting up python3-requests-toolbelt (1.0.0-4) ... Setting up python3-setuptools (75.6.0-1) ... Setting up python3-openssl (25.0.0-1) ... Setting up python3-botocore (1.35.92+repack-2) ... Setting up dh-python (6.20250108) ... Setting up python3-zeep (4.3.1-2) ... Setting up pybuild-plugin-pyproject (6.20250108) ... Setting up python3-s3transfer (0.10.4-1) ... Setting up python3-boto3 (1.36.0+dfsg-1) ... Processing triggers for libc-bin (2.40-6) ... Processing triggers for ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/lexicon-3.17.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../lexicon_3.17.0-1_source.changes dpkg-buildpackage: info: source package lexicon dpkg-buildpackage: info: source version 3.17.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Alexandre Detiste dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 dpkg-source: info: using options from lexicon-3.17.0/debian/source/options: --extend-diff-ignore=^[^/]*[.]egg-info/ debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/lexicon-3.17.0/.pybuild/cpython3_3.12_lexicon * Building wheel... Successfully built dns_lexicon-3.17.0-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/lexicon-3.17.0/.pybuild/cpython3_3.13_lexicon * Building wheel... Successfully built dns_lexicon-3.17.0-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/lexicon-3.17.0' pytest-3 tests/ -k "not auto and not localzone and not oci and not namecheap" ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 rootdir: /build/reproducible-path/lexicon-3.17.0 configfile: pyproject.toml plugins: typeguard-4.4.1 collected 2394 items / 169 deselected / 2225 selected tests/providers/test_aliyun.py .................ss......... [ 1%] tests/providers/test_aurora.py .................ss......... [ 2%] tests/providers/test_azure.py .................ss......... [ 3%] tests/providers/test_cloudflare.py .................ss......... [ 5%] tests/providers/test_cloudns.py .................ss......... [ 6%] tests/providers/test_cloudxns.py .................ss......s.. [ 7%] tests/providers/test_conoha.py .................ss......... [ 8%] tests/providers/test_constellix.py .................ss......... [ 10%] tests/providers/test_ddns.py ssssssssssssssssssssssssssss [ 11%] tests/providers/test_digitalocean.py .................ss......s.. [ 12%] tests/providers/test_dinahosting.py ...............s.ss......... [ 13%] tests/providers/test_directadmin.py .................ss......... [ 15%] tests/providers/test_dnsimple.py .................ss......... [ 16%] tests/providers/test_dnsmadeeasy.py .................ss......s.. [ 17%] tests/providers/test_dnspark.py ...........sss.....s.. [ 18%] tests/providers/test_dnspod.py ...........sss.....s.. [ 19%] tests/providers/test_dnsservices.py .................ss......... [ 20%] tests/providers/test_dreamhost.py ..................s.ss......... [ 22%] tests/providers/test_duckdns.py .ss.s...s.....ssssss.....s.ss [ 23%] tests/providers/test_dynu.py .................ss......... [ 24%] tests/providers/test_easydns.py ............ss.....s.. [ 25%] tests/providers/test_easyname.py .................ss......... [ 27%] tests/providers/test_euserv.py .................ss......... [ 28%] tests/providers/test_exoscale.py .................ss......... [ 29%] tests/providers/test_flexibleengine.py .............s..sssss.s..... [ 30%] tests/providers/test_gandi.py .................ss....................... [ 32%] ...ss......... [ 33%] tests/providers/test_gehirn.py ............ss........ [ 34%] tests/providers/test_glesys.py ............ss.....s.. [ 35%] tests/providers/test_godaddy.py .................ss......... [ 36%] tests/providers/test_googleclouddns.py .................ss......... [ 37%] tests/providers/test_gransy.py .................ss......... [ 39%] tests/providers/test_gratisdns.py .................ss......... [ 40%] tests/providers/test_henet.py .................ss......... [ 41%] tests/providers/test_hetzner.py .................ss......... [ 42%] tests/providers/test_hostingde.py .................ss......... [ 44%] tests/providers/test_hover.py .................ss......... [ 45%] tests/providers/test_infoblox.py .................ss......... [ 46%] tests/providers/test_infomaniak.py .................ss......... [ 47%] tests/providers/test_internetbs.py .................ss......... [ 49%] tests/providers/test_inwx.py .................ss......... [ 50%] tests/providers/test_joker.py .................ss......... [ 51%] tests/providers/test_linode.py ...............s.ss......... [ 52%] tests/providers/test_linode4.py ...............s.ss......... [ 54%] tests/providers/test_luadns.py ...s.............ss......s.. [ 55%] tests/providers/test_memset.py .................ss......s.. [ 56%] tests/providers/test_misaka.py .................ss......... [ 57%] tests/providers/test_mythicbeasts.py .................ss......... [ 59%] tests/providers/test_namecom.py .......................ss............... [ 61%] [ 61%] tests/providers/test_namesilo.py .................ss......s.. [ 62%] tests/providers/test_netcup.py ...............s.ss......... [ 63%] tests/providers/test_nfsn.py .................ss......... [ 64%] tests/providers/test_njalla.py ........s.....s..ss......... [ 66%] tests/providers/test_nsone.py ...............s.ss......s.. [ 67%] tests/providers/test_onapp.py .................ss......... [ 68%] tests/providers/test_online.py ............s....ss......... [ 69%] tests/providers/test_ovh.py .................ss......... [ 71%] tests/providers/test_plesk.py ...............s.ss......... [ 72%] tests/providers/test_pointhq.py ...............s.ss......s.. [ 73%] tests/providers/test_porkbun.py .................ss......... [ 74%] tests/providers/test_powerdns.py .................ss......s.. [ 76%] tests/providers/test_rackspace.py .................ss......... [ 77%] tests/providers/test_rage4.py .................ss.....ss.s [ 78%] tests/providers/test_rcodezero.py .................ss......... [ 79%] tests/providers/test_route53.py ...................ss......... [ 81%] tests/providers/test_safedns.py ...s...........s.ss......... [ 82%] tests/providers/test_sakuracloud.py ..........s.ss........ [ 83%] tests/providers/test_softlayer.py ............ss........ [ 84%] tests/providers/test_transip.py .................ss......... [ 85%] tests/providers/test_ultradns.py .................ss......... [ 87%] tests/providers/test_valuedomain.py ssssssssssssssssssssssssssss [ 88%] tests/providers/test_vercel.py .................ss......... [ 89%] tests/providers/test_vultr.py .................ss......... [ 90%] tests/providers/test_webgo.py .................ss......... [ 92%] tests/providers/test_wedos.py .................ss......... [ 93%] tests/providers/test_yandex.py .................ss......... [ 94%] tests/providers/test_yandexcloud.py .................ss......... [ 95%] tests/providers/test_zilore.py .................ss......... [ 97%] tests/providers/test_zonomi.py ............ss.....s.. [ 98%] tests/test_client.py FFFFFF.F.FFF [ 98%] tests/test_config.py ......... [ 99%] tests/test_library.py ..FFFFFFFFFF [ 99%] tests/test_output.py ..... [ 99%] tests/test_parser.py ..... [100%] =================================== FAILURES =================================== ____________________________ test_client_basic_init ____________________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- WARNING tldextract.cache:cache.py:193 unable to cache publicsuffix.org-tlds.{'urls': ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True} in /nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json. This could refresh the Public Suffix List over HTTP every app startup. Construct your `TLDExtract` with a writable `cache_dir` or set `cache_dir=None` to silence this warning. [Errno 13] Permission denied: '/nonexistent' ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ___________________________ test_client_legacy_init ____________________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xf23cb618> mock_provider = None > ??? tests/test_client.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________ test_client_init_when_domain_includes_subdomain_should_strip _________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________________ test_client_init_with_delegated_domain_name __________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:66: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________________ test_client_init_with_delegated_domain_fqdn __________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _______________ test_client_init_with_same_delegated_domain_fqdn _______________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _______________ test_client_init_when_missing_action_should_fail _______________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: > ??? tests/test_client.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________________ test_client_init_when_missing_type_should_fail ________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____________ test_client_parse_env_with_no_keys_should_do_nothing _____________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xf2555e90> mock_provider = None > ??? tests/test_client.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____________________ test_client_parse_env_with_auth_keys _____________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xf27f7cb0> mock_provider = None > ??? tests/test_client.py:164: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_missing_required_client_config_parameter_raises_error_on_execute _____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: lexicon_client = mock_provider = None > ??? tests/test_library.py:61: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _ test_missing_optional_client_config_parameter_does_not_raise_error_on_execute _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: lexicon_client = mock_provider = None > ??? tests/test_library.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________ test_list_action_is_correctly_handled_by_provider_on_execute _________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf23635f0> lexicon_client = mock_provider = None > ??? tests/test_library.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____ test_list_action_is_correctly_handled_by_provider_on_context_manager _____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf26092f0> lexicon_client = mock_provider = None > ??? tests/test_library.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_create_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf1bf3180> lexicon_client = mock_provider = None > ??? tests/test_library.py:154: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_create_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf1e884c8> lexicon_client = mock_provider = None > ??? tests/test_library.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_update_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf2684b70> lexicon_client = mock_provider = None > ??? tests/test_library.py:204: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_update_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf2962170> lexicon_client = mock_provider = None > ??? tests/test_library.py:233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_delete_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf09e0e70> lexicon_client = mock_provider = None > ??? tests/test_library.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_delete_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: > _make_dir(cache_filepath) /usr/lib/python3/dist-packages/tldextract/cache.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '/nonexistent/first-build/.lexicon_tld_set/publicsuffix.org-tlds/704b6b0e53ba2966d92e690044b663f4.tldextract.json' def _make_dir(filename: str) -> None: """Make a directory if it doesn't already exist.""" if not os.path.exists(os.path.dirname(filename)): try: > os.makedirs(os.path.dirname(filename)) E PermissionError: [Errno 13] Permission denied: '/nonexistent' /usr/lib/python3/dist-packages/tldextract/cache.py:248: PermissionError During handling of the above exception, another exception occurred: cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('file:///usr/share/publicsuffix/effective_tld_names.dat', 'https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3/dist-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0xf17bcf60> lexicon_client = mock_provider = None > ??? tests/test_library.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3/dist-packages/tldextract/tldextract.py:228: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3/dist-packages/tldextract/tldextract.py:257: in extract_str return self._extract_netloc( /usr/lib/python3/dist-packages/tldextract/tldextract.py:308: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3/dist-packages/tldextract/tldextract.py:356: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3/dist-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3/dist-packages/tldextract/cache.py:205: in run_and_cache return func(**kwargs) /usr/lib/python3/dist-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0xf5bafde0> path = '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/tldextract/.tld_set_snapshot' :1217: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url file:///usr/share/publicsuffix/effective_tld_names.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 230, in _fetch_url response.raise_for_status() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/requests/models.py", line 1024, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: None for url: None ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 189, in run_and_cache _make_dir(cache_filepath) ~~~~~~~~~^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 248, in _make_dir os.makedirs(os.path.dirname(filename)) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 217, in makedirs File "", line 217, in makedirs File "", line 217, in makedirs File "", line 227, in makedirs PermissionError: [Errno 13] Permission denied: '/nonexistent' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 704, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 205, in run_and_cache return func(**kwargs) File "/usr/lib/python3/dist-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3/dist-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3/dist-packages/requests/adapters.py", line 700, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) =========================== short test summary info ============================ FAILED tests/test_client.py::test_client_basic_init - FileNotFoundError: [Err... FAILED tests/test_client.py::test_client_legacy_init - FileNotFoundError: [Er... FAILED tests/test_client.py::test_client_init_when_domain_includes_subdomain_should_strip FAILED tests/test_client.py::test_client_init_with_delegated_domain_name - Fi... FAILED tests/test_client.py::test_client_init_with_delegated_domain_fqdn - Fi... FAILED tests/test_client.py::test_client_init_with_same_delegated_domain_fqdn FAILED tests/test_client.py::test_client_init_when_missing_action_should_fail FAILED tests/test_client.py::test_client_init_when_missing_type_should_fail FAILED tests/test_client.py::test_client_parse_env_with_no_keys_should_do_nothing FAILED tests/test_client.py::test_client_parse_env_with_auth_keys - FileNotFo... FAILED tests/test_library.py::test_missing_required_client_config_parameter_raises_error_on_execute FAILED tests/test_library.py::test_missing_optional_client_config_parameter_does_not_raise_error_on_execute FAILED tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_context_manager === 20 failed, 1945 passed, 260 skipped, 169 deselected in 129.18s (0:02:09) === make[1]: *** [debian/rules:14: override_dh_auto_test] Error 1 make[1]: Leaving directory '/build/reproducible-path/lexicon-3.17.0' make: *** [debian/rules:9: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3671 and its subdirectories