==> Building on glalie ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-hatch ./ .SRCINFO 1,210 100% 0.00kB/s 0:00:00 1,210 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 161 100% 157.23kB/s 0:00:00 161 100% 157.23kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 3,912 100% 3.73MB/s 0:00:00 3,912 100% 3.73MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-hatch-1.17.0-1.log 733 100% 715.82kB/s 0:00:00 733 100% 715.82kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 3,450 bytes received 188 bytes 2,425.33 bytes/sec total size is 6,507 speedup is 1.79 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-hatch -> repo: extra -> arch: riscv64 -> worker: felix-5 ==> Building python-hatch for [extra] (riscv64) Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-5]...done ==> Making package: python-hatch 1.17.0-1 (Sun Aug 30 05:33:52 2026) ==> Retrieving sources...  -> Downloading hatch-v1.17.0.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00:01 0 100 153.3k 0 153.3k 0 0 73310 0 00:02 148.3k 100 1.32M 0 1.32M 0 0 426.2k 0 00:03 654.7k 100 2.71M 0 2.71M 0 0 666.2k 0 00:04 906.9k 100 4.20M 0 4.20M 0 0 832.1k 0 00:05 1.03M 100 5.08M 0 5.08M 0 0 877.0k 0 00:05 1.03M 100 5.08M 0 5.08M 0 0 877.0k 0 00:05 1.03M 100 5.08M 0 5.08M 0 0 876.9k 0 00:05 1.03M ==> Validating source files with b2sums... hatch-v1.17.0.tar.gz ... Passed Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ==> Making package: python-hatch 1.17.0-1 (Sat Aug 29 21:34:28 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (42) New Version Net Change Download Size extra/jemalloc 1:5.3.1-3 0.89 MiB extra/python-cffi 2.1.1-1 1.41 MiB extra/python-cryptography 50.0.1-1 6.43 MiB extra/python-distlib 0.4.3-1 1.33 MiB extra/python-editables 0.6-1 0.04 MiB extra/python-filelock 3.29.6-1 0.50 MiB extra/python-h11 0.16.0-2 0.29 MiB extra/python-httpcore2 2.3.0-1 1.05 MiB 0.13 MiB extra/python-idna 3.19-1 0.66 MiB extra/python-jaraco.classes 3.4.0-3 0.05 MiB extra/python-jaraco.context 6.1.2-1 0.06 MiB extra/python-jaraco.functools 4.1.0-3 0.07 MiB extra/python-jeepney 0.9.0-3 0.44 MiB extra/python-markdown-it-py 4.2.0-1 0.81 MiB extra/python-mdurl 0.1.2-9 0.06 MiB extra/python-more-itertools 11.1.0-1 0.77 MiB extra/python-pathspec 1.1.1-1 0.47 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-ptyprocess 0.7.0-9 0.12 MiB extra/python-pycparser 3.00-1 0.71 MiB extra/python-pygments 2.20.0-1 15.36 MiB extra/python-secretstorage 3.5.0-1 0.13 MiB extra/python-trove-classifiers 2026.6.1.19-1 0.16 MiB extra/python-truststore 0.10.4-3 0.19 MiB 0.04 MiB extra/uv 0.12.7-1 43.62 MiB extra/python-click 8.3.3-1 1.38 MiB extra/python-distro 1.9.0-4 0.20 MiB 0.04 MiB extra/python-hatchling 1.30.1-1 1.09 MiB extra/python-httpx2 2.3.0-1 1.06 MiB 0.17 MiB extra/python-hyperlink 21.0.0-8 0.59 MiB extra/python-keyring 25.7.0-3 0.36 MiB 0.08 MiB extra/python-packaging 26.3-1 1.58 MiB extra/python-pexpect 4.9.0-7.1 0.61 MiB extra/python-platformdirs 4.11.5-1 0.47 MiB extra/python-python-discovery 1.6.0-1 0.47 MiB extra/python-rich 15.0.0-1 4.49 MiB extra/python-shellingham 1.5.4-4 0.06 MiB extra/python-tomli-w 1.2.0-2 0.04 MiB extra/python-tomlkit 0.15.1-1 0.83 MiB extra/python-userpath 1.9.2-4 0.08 MiB 0.02 MiB extra/python-uv 0.12.7-1 0.77 MiB extra/python-virtualenv 21.7.4-1 6.41 MiB Total Download Size: 0.47 MiB Total Installed Size: 96.35 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-httpx2-2.3.0-1-any downloading... python-httpcore2-2.3.0-1-any downloading... python-keyring-25.7.0-3-any downloading... python-truststore-0.10.4-3-any downloading... python-distro-1.9.0-4-any downloading... python-userpath-1.9.2-4-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-click... installing python-distro... installing python-editables... installing python-packaging... installing python-pathspec... Optional dependencies for python-pathspec python-google-re2: re2 backend installing python-pluggy... installing python-trove-classifiers... installing python-hatchling... installing python-h11... installing python-truststore... Optional dependencies for python-truststore python-urllib3: when injecting into SSLContext via urllib3 installing python-httpcore2... Optional dependencies for python-httpcore2 python-anyio: asyncio support python-h2: HTTP/2 support python-socksio: SOCKS proxy support python-trio: trio async support installing python-idna... installing python-httpx2... Optional dependencies for python-httpx2 python-brotli: for brotli response decompression python-brotlicffi: for brotli response decompression python-click: command line client support [installed] python-h2: HTTP/2 support python-pygments: command line client support [pending] python-rich: command line client support [pending] python-socksio: SOCKS proxy support python-trio: alternative async library python-zstandard: for zstd response decompression installing python-hyperlink... installing python-more-itertools... installing python-jaraco.classes... installing python-jaraco.context... installing python-jaraco.functools... installing python-pycparser... installing python-cffi... Optional dependencies for python-cffi python-setuptools: "limited api" version checking in cffi.setuptools_ext installing python-cryptography... installing python-jeepney... Optional dependencies for python-jeepney python-trio: support D-Bus applications with Trio installing python-secretstorage... installing python-keyring... Optional dependencies for python-keyring libsecret: libsecret backend [installed] python-dbus: kwallet backend python-gobject: libsecret backend python-keyrings-alt: Alternative backends python-pluggy: devpi client [installed] installing python-ptyprocess... installing python-pexpect... installing python-platformdirs... installing python-filelock... installing python-python-discovery... installing python-mdurl... installing python-markdown-it-py... Optional dependencies for python-markdown-it-py python-mdit_py_plugins: core plugins python-linkify-it-py: linkify extension installing python-pygments... installing python-rich... installing python-shellingham... installing python-tomli-w... installing python-tomlkit... installing python-userpath... installing jemalloc... Optional dependencies for jemalloc perl: for jeprof [installed] installing uv... installing python-uv... installing python-distlib... installing python-virtualenv... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (31) New Version Net Change extra/compiler-rt 22.1.8-1 167.26 MiB core/libedit 20260512_3.1-1 0.26 MiB extra/libgit2 1:1.9.7-1 2.91 MiB extra/lld 22.1.8-1 6.50 MiB extra/llhttp 9.3.1-1 0.11 MiB extra/llvm-libs 22.1.8-2 154.50 MiB extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.35-1 0.15 MiB extra/python-autocommand 2.2.2-9 0.08 MiB extra/python-iniconfig 2.3.0-1 0.07 MiB extra/python-jaraco.collections 5.1.0-3 0.11 MiB extra/python-jaraco.text 4.0.0-4 0.08 MiB extra/python-pkg_resources 81.0.0-1 0.50 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-setuptools 1:82.0.1-1 7.35 MiB extra/python-setuptools-scm 10.2.1-1 0.23 MiB extra/python-typing_extensions 4.16.0-1 0.53 MiB extra/python-vcs-versioning 2.3.1-1 1.18 MiB extra/zlib-ng 2.3.3-1 0.23 MiB extra/git 2.55.0-1 29.92 MiB core/libxcrypt-compat 4.5.2-1 0.19 MiB extra/python-build 1.4.3-1 0.26 MiB extra/python-flit-core 4.0.2-1 0.36 MiB extra/python-hatch-vcs 0.5.0-4.1 0.04 MiB extra/python-installer 1.0.0-1 0.20 MiB extra/python-pyfakefs 6.2.0-1 4.89 MiB extra/python-pytest 1:9.0.3-1 4.86 MiB extra/python-pytest-mock 3.14.1-1 0.11 MiB extra/python-wheel 0.48.0-1 0.34 MiB extra/rust 1:1.98.0-1 264.14 MiB Total Installed Size: 647.62 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer [installed] python-virtualenv: to use virtualenv for build isolation [installed] installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures [installed] python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-typing_extensions... installing python-pkg_resources... installing python-setuptools... installing python-vcs-versioning... Optional dependencies for python-vcs-versioning python-rich: formatting of log messages [installed] installing python-setuptools-scm... Optional dependencies for python-setuptools-scm python-rich: use rich as console log handler [installed] installing python-hatch-vcs... installing python-installer... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 [installed] subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing libxcrypt-compat... installing python-flit-core... installing python-iniconfig... installing python-pytest... installing python-pyfakefs... installing python-pytest-mock... installing compiler-rt... installing llhttp... installing libgit2... installing libedit... installing llvm-libs... installing lld... installing rust... Optional dependencies for rust gdb: rust-gdb script [installed] lldb: rust-lldb script :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 968. Creating user 'git' (git daemon user) with UID 968 and GID 968. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Checking for old perl modules... [?25h==> Retrieving sources...  -> Found hatch-v1.17.0.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting hatch-v1.17.0.tar.gz with bsdtar ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... Successfully built hatch-1.17.0-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.0.3, pluggy-1.6.0 rootdir: /build/python-hatch/src/hatch-hatch-v1.17.0 configfile: pyproject.toml plugins: mock-3.14.1, pyfakefs-6.2.0 collected 1434 items / 41 deselected / 1393 selected tests/cli/build/test_build.py ............... [ 1%] tests/cli/check/test_check_code.py ......... [ 1%] tests/cli/check/test_check_fmt.py ....... [ 2%] tests/cli/check/test_check_group.py ... [ 2%] tests/cli/check/test_check_types.py .... [ 2%] tests/cli/clean/test_clean.py . [ 2%] tests/cli/config/test_explore.py . [ 2%] tests/cli/config/test_find.py . [ 2%] tests/cli/config/test_restore.py .. [ 3%] tests/cli/config/test_set.py ........... [ 3%] tests/cli/config/test_show.py .. [ 4%] tests/cli/dep/show/test_requirements.py ........ [ 4%] tests/cli/dep/test_dep_lock.py ....... [ 5%] tests/cli/dep/test_hash.py .... [ 5%] tests/cli/env/test_create.py ...................................... [ 8%] tests/cli/env/test_find.py ....s [ 8%] tests/cli/env/test_lock.py .............................. [ 10%] tests/cli/env/test_prune.py ..... [ 10%] tests/cli/env/test_remove.py .......... [ 11%] tests/cli/env/test_run.py ..... [ 12%] tests/cli/fmt/test_fmt.py ................... [ 13%] tests/cli/new/test_new.py ..................... [ 14%] tests/cli/project/test_metadata.py ......... [ 15%] tests/cli/publish/test_publish.py ssssssssssssssssssssss [ 17%] tests/cli/python/test_find.py ... [ 17%] tests/cli/python/test_install.py ............. [ 18%] tests/cli/python/test_remove.py .... [ 18%] tests/cli/python/test_update.py .... [ 18%] tests/cli/run/test_run.py .............................................. [ 22%] [ 22%] tests/cli/self/test_report.py .....s. [ 22%] tests/cli/status/test_status.py ................... [ 24%] tests/cli/test/test_test.py .................................. [ 26%] tests/cli/test_root.py .... [ 26%] tests/cli/version/test_version.py ............. [ 27%] tests/config/test_model.py ............................................. [ 30%] ...................................................................... [ 35%] tests/dep/test_sync.py .................... [ 37%] tests/env/collectors/test_custom.py ...... [ 37%] tests/env/plugin/test_interface.py ..................................... [ 40%] ........................................................................ [ 45%] .................................................... [ 49%] tests/index/test_core.py ............... [ 50%] tests/project/test_config.py ........................................... [ 53%] ........................................................................ [ 58%] ........................................................................ [ 63%] ........................................................................ [ 69%] ........................................................................ [ 74%] ........................................................................ [ 79%] ........................................................................ [ 84%] ....... [ 85%] tests/project/test_core.py ........................... [ 87%] tests/project/test_frontend.py ............... [ 88%] tests/project/test_utils.py ... [ 88%] tests/publish/plugin/test_interface.py ...... [ 88%] tests/python/test_core.py FF......FFFFFF......FFFF..... [ 90%] tests/python/test_resolve.py .s...F.F.....ssss.. [ 92%] tests/utils/test_auth.py . [ 92%] tests/utils/test_fs.py .............. [ 93%] tests/utils/test_linehaul.py ........................ [ 94%] tests/utils/test_platform.py ssssssssssssssss........ [ 96%] tests/utils/test_runner.py .............. [ 97%] tests/utils/test_structures.py ..... [ 98%] tests/venv/test_core.py ......... [ 98%] tests/venv/test_utils.py .. [ 98%] tests/workspaces/test_config.py ................ [100%] =================================== FAILURES =================================== ___________________________ test_custom_source[3.7] ____________________________ platform = current_arch = 'riscv64', name = '3.7' @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_custom_source(platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = '3.7', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError ___________________________ test_custom_source[3.8] ____________________________ platform = current_arch = 'riscv64', name = '3.8' @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_custom_source(platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = '3.8', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.8' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError _________________________ test_custom_source[pypy2.7] __________________________ platform = current_arch = 'riscv64', name = 'pypy2.7' @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_custom_source(platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy2.7', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy2.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError _________________________ test_custom_source[pypy3.9] __________________________ platform = current_arch = 'riscv64', name = 'pypy3.9' @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_custom_source(platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.9', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.9' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError _________________________ test_custom_source[pypy3.10] _________________________ platform = current_arch = 'riscv64', name = 'pypy3.10' @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_custom_source(platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError _________________________ test_custom_source[pypy3.11] _________________________ platform = current_arch = 'riscv64', name = 'pypy3.11' @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_custom_source(platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.11', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.11' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError ____________________________ test_installation[3.7] ____________________________ temp_dir = Path('/tmp/tmplriv7r9_') platform = current_arch = 'riscv64', name = '3.7' @pytest.mark.requires_internet @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_installation(temp_dir, platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") # Ensure the source and any parent directories get created manager = PythonManager(temp_dir / "foo" / "bar") > dist = manager.install(name) ^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install dist = get_distribution(identifier) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = '3.7', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError ____________________________ test_installation[3.8] ____________________________ temp_dir = Path('/tmp/tmpzb_7s8jk') platform = current_arch = 'riscv64', name = '3.8' @pytest.mark.requires_internet @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_installation(temp_dir, platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") # Ensure the source and any parent directories get created manager = PythonManager(temp_dir / "foo" / "bar") > dist = manager.install(name) ^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install dist = get_distribution(identifier) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = '3.8', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.8' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError __________________________ test_installation[pypy2.7] __________________________ temp_dir = Path('/tmp/tmpafxyjgcy') platform = current_arch = 'riscv64', name = 'pypy2.7' @pytest.mark.requires_internet @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_installation(temp_dir, platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") # Ensure the source and any parent directories get created manager = PythonManager(temp_dir / "foo" / "bar") > dist = manager.install(name) ^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install dist = get_distribution(identifier) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy2.7', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy2.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError __________________________ test_installation[pypy3.9] __________________________ temp_dir = Path('/tmp/tmpuh0s3o0a') platform = current_arch = 'riscv64', name = 'pypy3.9' @pytest.mark.requires_internet @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_installation(temp_dir, platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") # Ensure the source and any parent directories get created manager = PythonManager(temp_dir / "foo" / "bar") > dist = manager.install(name) ^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install dist = get_distribution(identifier) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.9', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.9' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError _________________________ test_installation[pypy3.10] __________________________ temp_dir = Path('/tmp/tmpze5mtjcp') platform = current_arch = 'riscv64', name = 'pypy3.10' @pytest.mark.requires_internet @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_installation(temp_dir, platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") # Ensure the source and any parent directories get created manager = PythonManager(temp_dir / "foo" / "bar") > dist = manager.install(name) ^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install dist = get_distribution(identifier) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError _________________________ test_installation[pypy3.11] __________________________ temp_dir = Path('/tmp/tmpt6qupru5') platform = current_arch = 'riscv64', name = 'pypy3.11' @pytest.mark.requires_internet @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS) def test_installation(temp_dir, platform, current_arch, name): if platform.name == "macos" and current_arch == "arm64" and name == "3.7": pytest.skip("No macOS 3.7 distribution for ARM") # Ensure the source and any parent directories get created manager = PythonManager(temp_dir / "foo" / "bar") > dist = manager.install(name) ^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install dist = get_distribution(identifier) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.11', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.11' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError __________________ TestDistributionVersions.test_pypy_custom ___________________ self = def test_pypy_custom(self): name = "pypy3.10" > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_resolve.py:60: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError ____________________ TestDistributionPaths.test_pypy_custom ____________________ self = def test_pypy_custom(self): name = "pypy3.10" > dist = get_distribution(name) ^^^^^^^^^^^^^^^^^^^^^^ /build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_resolve.py:77: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = '' def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution: if source: return _get_distribution_class(source)(name, source) if name not in DISTRIBUTIONS: message = f"Unknown distribution: {name}" raise PythonDistributionUnknownError(message) arch = platform.machine().lower() if sys.platform == "win32": system = "windows" abi = "msvc" elif sys.platform == "darwin": system = "macos" abi = "" else: system = "linux" abi = "gnu" if any(platform.libc_ver()) else "musl" if not variant_cpu: variant_cpu = _get_default_variant_cpu(name, system, arch) if not variant_gil: variant_gil = _get_default_variant_gil() key = (system, arch, abi, variant_cpu, variant_gil) keys: dict[tuple, str] = DISTRIBUTIONS[name] if key not in keys: message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}" > raise PythonDistributionResolutionError(message) E hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil='' /build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError =========================== short test summary info ============================ FAILED tests/python/test_core.py::test_custom_source[3.7] - hatch.errors.Pyth... FAILED tests/python/test_core.py::test_custom_source[3.8] - hatch.errors.Pyth... FAILED tests/python/test_core.py::test_custom_source[pypy2.7] - hatch.errors.... FAILED tests/python/test_core.py::test_custom_source[pypy3.9] - hatch.errors.... FAILED tests/python/test_core.py::test_custom_source[pypy3.10] - hatch.errors... FAILED tests/python/test_core.py::test_custom_source[pypy3.11] - hatch.errors... FAILED tests/python/test_core.py::test_installation[3.7] - hatch.errors.Pytho... FAILED tests/python/test_core.py::test_installation[3.8] - hatch.errors.Pytho... FAILED tests/python/test_core.py::test_installation[pypy2.7] - hatch.errors.P... FAILED tests/python/test_core.py::test_installation[pypy3.9] - hatch.errors.P... FAILED tests/python/test_core.py::test_installation[pypy3.10] - hatch.errors.... FAILED tests/python/test_core.py::test_installation[pypy3.11] - hatch.errors.... FAILED tests/python/test_resolve.py::TestDistributionVersions::test_pypy_custom FAILED tests/python/test_resolve.py::TestDistributionPaths::test_pypy_custom === 14 failed, 1334 passed, 45 skipped, 41 deselected in 2264.23s (0:37:44) ==== ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-5/build receiving incremental file list python-hatch-1.17.0-1-riscv64-build.log python-hatch-1.17.0-1-riscv64-check.log sent 62 bytes received 3,042 bytes 1,241.60 bytes/sec total size is 41,812 speedup is 13.47