{
 "pypi_wheel_check": {
  "checked_utc": "2026-10-14T12:14:32+00:00",
  "packages": [
   {
    "package": "brotli",
    "latest": "1.2.0",
    "uploaded": "2025-11-05T18:37:53.429868Z",
    "requires_python": null,
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp37",
     "cp38",
     "cp39"
    ]
   },
   {
    "package": "zstandard",
    "latest": "0.25.0",
    "uploaded": "2025-09-14T22:15:56.415407Z",
    "requires_python": ">=3.9",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp39"
    ]
   },
   {
    "package": "zope.interface",
    "latest": "8.6",
    "uploaded": "2026-08-20T11:16:52.142494Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp312",
     "cp313",
     "cp314"
    ]
   },
   {
    "package": "scrapy",
    "latest": "2.19.0",
    "uploaded": "2026-09-10T11:14:18.468479Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "twisted",
    "latest": "26.4.0",
    "uploaded": "2026-05-11T11:24:49.500579Z",
    "requires_python": ">=3.9.12",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "requests",
    "latest": "2.34.2",
    "uploaded": "2026-05-14T19:25:26.443000Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "pysocks",
    "latest": "1.7.1",
    "uploaded": "2019-09-20T02:06:20.927323Z",
    "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "httpx",
    "latest": "0.28.1",
    "uploaded": "2024-12-06T15:37:21.509172Z",
    "requires_python": ">=3.8",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "socksio",
    "latest": "1.0.0",
    "uploaded": "2020-04-17T15:50:31.878736Z",
    "requires_python": ">=3.6",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "brotlicffi",
    "latest": "1.2.0.2",
    "uploaded": "2026-08-21T17:28:55.708845Z",
    "requires_python": ">=3.8",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": true,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp314",
     "cp39"
    ]
   },
   {
    "package": "aiohttp",
    "latest": "3.14.5",
    "uploaded": "2026-10-11T00:59:07.668168Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 41,
    "cp315_manylinux_x86_64": [
     "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    ],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp315"
    ]
   },
   {
    "package": "aiodns",
    "latest": "4.0.4",
    "uploaded": "2026-05-20T01:54:14.134690Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "pycares",
    "latest": "5.2.0",
    "uploaded": "2026-10-14T07:31:39.650854Z",
    "requires_python": ">=3.11",
    "cp315_wheels": 28,
    "cp315_manylinux_x86_64": [
     "pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp315"
    ]
   },
   {
    "package": "aiohttp-socks",
    "latest": "0.12.0",
    "uploaded": "2026-08-12T04:43:14.524826Z",
    "requires_python": ">=3.9.0",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "urllib3",
    "latest": "2.8.0",
    "uploaded": "2026-09-15T19:29:34.577402Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "curl_cffi",
    "latest": "0.16.3",
    "uploaded": "2026-09-02T11:57:39.326230Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": true,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp310",
     "cp313",
     "cp314"
    ]
   },
   {
    "package": "playwright",
    "latest": "1.64.0",
    "uploaded": "2026-10-13T23:35:20.723360Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": false,
    "sdist": false,
    "newest_cp_tags": []
   },
   {
    "package": "greenlet",
    "latest": "3.5.6",
    "uploaded": "2026-09-14T14:26:34.475572Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 20,
    "cp315_manylinux_x86_64": [
     "greenlet-3.5.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp315"
    ]
   },
   {
    "package": "lxml",
    "latest": "6.1.3",
    "uploaded": "2026-09-02T14:46:05.131728Z",
    "requires_python": ">=3.8",
    "cp315_wheels": 30,
    "cp315_manylinux_x86_64": [
     "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp315",
     "cp38",
     "cp39"
    ]
   },
   {
    "package": "beautifulsoup4",
    "latest": "4.15.0",
    "uploaded": "2026-06-07T16:44:21.566528Z",
    "requires_python": ">=3.7.0",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "parsel",
    "latest": "1.12.1",
    "uploaded": "2026-09-28T14:15:52.232884Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "selectolax",
    "latest": "1.0.0",
    "uploaded": "2026-10-03T15:23:41.155116Z",
    "requires_python": "<3.16,>=3.9",
    "cp315_wheels": 18,
    "cp315_manylinux_x86_64": [
     "selectolax-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp314",
     "cp315",
     "cp39"
    ]
   },
   {
    "package": "pandas",
    "latest": "3.0.6",
    "uploaded": "2026-09-17T23:20:20.960376Z",
    "requires_python": ">=3.11",
    "cp315_wheels": 16,
    "cp315_manylinux_x86_64": [
     "pandas-3.0.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp315"
    ]
   },
   {
    "package": "numpy",
    "latest": "2.5.4",
    "uploaded": "2026-10-10T20:02:40.843976Z",
    "requires_python": ">=3.12",
    "cp315_wheels": 22,
    "cp315_manylinux_x86_64": [
     "numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp315"
    ]
   },
   {
    "package": "pydantic",
    "latest": "2.14.1",
    "uploaded": "2026-10-11T18:37:53.437059Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "pydantic-core",
    "latest": "2.50.1",
    "uploaded": "2026-10-11T18:31:38.345329Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 30,
    "cp315_manylinux_x86_64": [
     "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp315"
    ]
   },
   {
    "package": "orjson",
    "latest": "3.13.0",
    "uploaded": "2026-10-07T14:07:54.539211Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 10,
    "cp315_manylinux_x86_64": [
     "orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl"
    ],
    "abi3": false,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp313",
     "cp314",
     "cp315"
    ]
   },
   {
    "package": "tenacity",
    "latest": "9.2.1",
    "uploaded": "2026-10-07T12:13:00.102198Z",
    "requires_python": ">=3.10",
    "cp315_wheels": 0,
    "cp315_manylinux_x86_64": [],
    "abi3": false,
    "pure": true,
    "sdist": true,
    "newest_cp_tags": []
   },
   {
    "package": "cryptography",
    "latest": "50.0.2",
    "uploaded": "2026-09-30T14:43:44.339921Z",
    "requires_python": "!=3.9.0,!=3.9.1,>=3.9",
    "cp315_wheels": 13,
    "cp315_manylinux_x86_64": [
     "cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
     "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl",
     "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl"
    ],
    "abi3": true,
    "pure": false,
    "sdist": true,
    "newest_cp_tags": [
     "cp314",
     "cp315",
     "cp39"
    ]
   }
  ]
 },
 "environments": [
  {
   "label": "no-compiler",
   "python": "3.15.0 (main, Oct 12 2026, 22:33:31) [GCC 14.2.0]",
   "platform": "Linux-7.0.0-30-generic-x86_64-with-glibc2.41",
   "compilers": {
    "cc": null,
    "gcc": null,
    "x86_64-linux-gnu-gcc": null
   },
   "pip": "pip 26.2.1 from /usr/local/lib/python3.15/site-packages/pip (python 3.15)",
   "uv": "uv 0.13.1 (x86_64-unknown-linux-gnu)",
   "os_release": "Debian GNU/Linux 13 (trixie)",
   "utf8_mode_c_locale": "1 utf-8 utf-8",
   "utf8_mode_opt_out": "0 ANSI_X3.4-1968 ANSI_X3.4-1968",
   "wheel_check": {
    "brotli": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check brotli",
     "exit": 1,
     "key_lines": [
      "ERROR: Could not find a version that satisfies the requirement brotli (from versions: none)",
      "ERROR: No matching distribution found for brotli"
     ],
     "files": []
    },
    "zstandard": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check zstandard",
     "exit": 1,
     "key_lines": [
      "ERROR: Could not find a version that satisfies the requirement zstandard (from versions: none)",
      "ERROR: No matching distribution found for zstandard"
     ],
     "files": []
    },
    "zope.interface": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check zope.interface",
     "exit": 1,
     "key_lines": [
      "ERROR: Ignored the following yanked versions: 5.5.0.dev0",
      "ERROR: Could not find a version that satisfies the requirement zope.interface (from versions: none)",
      "ERROR: No matching distribution found for zope.interface"
     ],
     "files": []
    },
    "brotlicffi": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check brotlicffi",
     "exit": 0,
     "key_lines": [],
     "files": [
      "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
     ]
    }
   }
  },
  {
   "label": "compiler",
   "python": "3.15.0 (main, Oct 12 2026, 22:33:31) [GCC 14.2.0]",
   "platform": "Linux-7.0.0-30-generic-x86_64-with-glibc2.41",
   "compilers": {
    "cc": "/usr/bin/cc",
    "gcc": "/usr/bin/gcc",
    "x86_64-linux-gnu-gcc": "/usr/bin/x86_64-linux-gnu-gcc"
   },
   "pip": "pip 26.2.1 from /usr/local/lib/python3.15/site-packages/pip (python 3.15)",
   "uv": "uv 0.13.1 (x86_64-unknown-linux-gnu)",
   "os_release": "Debian GNU/Linux 13 (trixie)",
   "utf8_mode_c_locale": "1 utf-8 utf-8",
   "utf8_mode_opt_out": "0 ANSI_X3.4-1968 ANSI_X3.4-1968",
   "wheel_check": {
    "brotli": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check brotli",
     "exit": 1,
     "key_lines": [
      "ERROR: Could not find a version that satisfies the requirement brotli (from versions: none)",
      "ERROR: No matching distribution found for brotli"
     ],
     "files": []
    },
    "zstandard": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check zstandard",
     "exit": 1,
     "key_lines": [
      "ERROR: Could not find a version that satisfies the requirement zstandard (from versions: none)",
      "ERROR: No matching distribution found for zstandard"
     ],
     "files": []
    },
    "zope.interface": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check zope.interface",
     "exit": 1,
     "key_lines": [
      "ERROR: Ignored the following yanked versions: 5.5.0.dev0",
      "ERROR: Could not find a version that satisfies the requirement zope.interface (from versions: none)",
      "ERROR: No matching distribution found for zope.interface"
     ],
     "files": []
    },
    "brotlicffi": {
     "command": "python3 -m pip download --only-binary :all: --no-deps -d /tmp/wheel-check brotlicffi",
     "exit": 0,
     "key_lines": [],
     "files": [
      "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
     ]
    }
   }
  }
 ],
 "cases": [
  {
   "case": "scrapy",
   "tool": "pip",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/scrapy/report.json scrapy",
    "exit": 1,
    "seconds": 5.9,
    "key_lines": [
     "  error: subprocess-exited-with-error",
     "  × Building wheel for brotli (pyproject.toml) did not run successfully.",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-o6l1zvhf/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for brotli",
     "error: failed-wheel-build-for-install",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> brotli"
    ],
    "uv_built": [],
    "output_tail": [
     "Downloading tldextract-5.4.0-py3-none-any.whl (107 kB)",
     "Downloading filelock-4.1.1-py3-none-any.whl (132 kB)",
     "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading requests_file-3.0.1-py2.py3-none-any.whl (4.5 kB)",
     "Building wheels for collected packages: brotli, zope-interface",
     "  Building wheel for brotli (pyproject.toml): started",
     "  Building wheel for brotli (pyproject.toml): finished with status 'error'",
     "  Building wheel for zope-interface (pyproject.toml): started",
     "  Building wheel for zope-interface (pyproject.toml): finished with status 'done'",
     "  Created wheel for zope-interface: filename=zope_interface-8.6-cp315-cp315-linux_x86_64.whl size=199715 sha256=6b1fbe6f72c604503ab98bac08f378828884db1f105d33870f0c3c8ca27b0c3a",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-qb9b2zy8/wheels/ce/a0/4c/0a48d6e726dc59398e5eea2218e876df7b9be39046cd727577",
     "Successfully built zope-interface",
     "Failed to build brotli",
     "  error: subprocess-exited-with-error",
     "  ",
     "  × Building wheel for brotli (pyproject.toml) did not run successfully.",
     "  │ exit code: 1",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-o6l1zvhf/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      running bdist_wheel",
     "      running build",
     "      running build_py",
     "      creating bin/lib.linux-x86_64-cpython-315",
     "      copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "      running build_ext",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      building '_brotli' extension",
     "      gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/lab315/pip/scrapy/venv/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "      [end of output]",
     "  ",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for brotli",
     "error: failed-wheel-build-for-install",
     "",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> brotli"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "requests[socks]",
   "tool": "pip",
   "specs": [
    "requests[socks]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/requests-socks-/report.json requests[socks]",
    "exit": 0,
    "seconds": 0.8,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting requests[socks]",
     "  Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)",
     "Collecting charset_normalizer<4,>=2 (from requests[socks])",
     "  Downloading charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (46 kB)",
     "Collecting idna<4,>=2.5 (from requests[socks])",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting urllib3<3,>=1.26 (from requests[socks])",
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Collecting certifi>=2023.5.7 (from requests[socks])",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting PySocks!=1.5.7,>=1.5.6 (from requests[socks])",
     "  Downloading PySocks-1.7.1-py3-none-any.whl.metadata (13 kB)",
     "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
     "Downloading charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (257 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)",
     "Installing collected packages: urllib3, PySocks, idna, charset_normalizer, certifi, requests",
     "",
     "Successfully installed PySocks-1.7.1 certifi-2026.7.22 charset_normalizer-3.5.2 idna-3.20 requests-2.34.2 urllib3-2.8.0"
    ]
   },
   "installed": [
    {
     "name": "PySocks",
     "version": "1.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "PySocks-1.7.1-py3-none-any.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests-2.34.2-py3-none-any.whl"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "requests": "2.34.2",
     "pysocks": true
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx[socks]",
   "tool": "pip",
   "specs": [
    "httpx[socks]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-socks-/report.json httpx[socks]",
    "exit": 0,
    "seconds": 1.0,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting httpx[socks]",
     "  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)",
     "Collecting anyio (from httpx[socks])",
     "  Downloading anyio-4.15.1-py3-none-any.whl.metadata (4.7 kB)",
     "Collecting certifi (from httpx[socks])",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting httpcore==1.* (from httpx[socks])",
     "  Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)",
     "Collecting idna (from httpx[socks])",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting socksio==1.* (from httpx[socks])",
     "  Downloading socksio-1.0.0-py3-none-any.whl.metadata (6.1 kB)",
     "Collecting h11>=0.16 (from httpcore==1.*->httpx[socks])",
     "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)",
     "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)",
     "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)",
     "Downloading socksio-1.0.0-py3-none-any.whl (12 kB)",
     "Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
     "Downloading anyio-4.15.1-py3-none-any.whl (132 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Installing collected packages: socksio, idna, h11, certifi, httpcore, anyio, httpx",
     "",
     "Successfully installed anyio-4.15.1 certifi-2026.7.22 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.20 socksio-1.0.0"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-4.15.1-py3-none-any.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.16.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-1.0.9-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.28.1-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "socksio",
     "version": "1.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "socksio-1.0.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "socksio": true
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx[brotli]",
   "tool": "pip",
   "specs": [
    "httpx[brotli]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-brotli-/report.json httpx[brotli]",
    "exit": 1,
    "seconds": 1.9,
    "key_lines": [
     "  error: subprocess-exited-with-error",
     "  × Building wheel for brotli (pyproject.toml) did not run successfully.",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-br2claya/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for brotli",
     "error: failed-wheel-build-for-install",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> brotli"
    ],
    "uv_built": [],
    "output_tail": [
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Collecting h11>=0.16 (from httpcore==1.*->httpx[brotli])",
     "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)",
     "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)",
     "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)",
     "Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
     "Downloading anyio-4.15.1-py3-none-any.whl (132 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Building wheels for collected packages: brotli",
     "  Building wheel for brotli (pyproject.toml): started",
     "  Building wheel for brotli (pyproject.toml): finished with status 'error'",
     "Failed to build brotli",
     "  error: subprocess-exited-with-error",
     "  ",
     "  × Building wheel for brotli (pyproject.toml) did not run successfully.",
     "  │ exit code: 1",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-br2claya/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      running bdist_wheel",
     "      running build",
     "      running build_py",
     "      creating bin/lib.linux-x86_64-cpython-315",
     "      copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "      running build_ext",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      building '_brotli' extension",
     "      gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/lab315/pip/httpx-brotli-/venv/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "      [end of output]",
     "  ",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for brotli",
     "error: failed-wheel-build-for-install",
     "",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> brotli"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx[zstd]",
   "tool": "pip",
   "specs": [
    "httpx[zstd]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-zstd-/report.json httpx[zstd]",
    "exit": 1,
    "seconds": 1.5,
    "key_lines": [
     "  Getting requirements to build wheel: finished with status 'error'",
     "  error: subprocess-exited-with-error",
     "  × Getting requirements to build wheel did not run successfully.",
     "  ╰─> [38 lines of output]",
     "      FileNotFoundError: [Errno 2] No such file or directory: 'gcc'",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "ERROR: Failed to build 'zstandard' when getting requirements to build wheel"
    ],
    "uv_built": [],
    "output_tail": [
     "          main()",
     "          ~~~~^^",
     "        File \"/tmp/lab315/pip/httpx-zstd-/venv/lib/python3.15/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 373, in main",
     "          json_out[\"return_val\"] = hook(**hook_input[\"kwargs\"])",
     "                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^",
     "        File \"/tmp/lab315/pip/httpx-zstd-/venv/lib/python3.15/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 143, in get_requires_for_build_wheel",
     "          return hook(config_settings)",
     "        File \"/tmp/pip-build-env-yxfbrlgn/overlay/lib/python3.15/site-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel",
     "          return self._get_build_requires(config_settings, requirements=[])",
     "                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
     "        File \"/tmp/pip-build-env-yxfbrlgn/overlay/lib/python3.15/site-packages/setuptools/build_meta.py\", line 301, in _get_build_requires",
     "          self.run_setup()",
     "          ~~~~~~~~~~~~~~^^",
     "        File \"/tmp/pip-build-env-yxfbrlgn/overlay/lib/python3.15/site-packages/setuptools/build_meta.py\", line 317, in run_setup",
     "          exec(code, locals())  # noqa: S102 # exec is intentional here",
     "          ~~~~^^^^^^^^^^^^^^^^",
     "        File \"<string>\", line 139, in <module>",
     "        File \"/tmp/pip-install-w2bxul_h/zstandard_e5ba1b33dcf84034acbf7edd68cb20e0/make_cffi.py\", line 205, in <module>",
     "          preprocessed = preprocess(header)",
     "        File \"/tmp/pip-install-w2bxul_h/zstandard_e5ba1b33dcf84034acbf7edd68cb20e0/make_cffi.py\", line 139, in preprocess",
     "          process = subprocess.Popen(",
     "              args + [input_file], stdout=subprocess.PIPE, env=env",
     "          )",
     "        File \"/usr/local/lib/python3.15/subprocess.py\", line 1213, in __init__",
     "          self._execute_child(args, executable, preexec_fn, close_fds,",
     "          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
     "                              pass_fds, cwd, env,",
     "                              ^^^^^^^^^^^^^^^^^^^",
     "          ...<5 lines>...",
     "                              gid, gids, uid, umask,",
     "                              ^^^^^^^^^^^^^^^^^^^^^^",
     "                              start_new_session, process_group)",
     "                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
     "        File \"/usr/local/lib/python3.15/subprocess.py\", line 2156, in _execute_child",
     "          raise child_exception_type(errno_num, err_msg, err_filename)",
     "      FileNotFoundError: [Errno 2] No such file or directory: 'gcc'",
     "      [end of output]",
     "  ",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "ERROR: Failed to build 'zstandard' when getting requirements to build wheel"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp",
   "tool": "pip",
   "specs": [
    "aiohttp"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp/report.json aiohttp",
    "exit": 0,
    "seconds": 1.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting aiohttp",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp)",
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 130.9 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Installing collected packages: propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, aiosignal, aiohttp",
     "",
     "Successfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp[speedups]",
   "tool": "pip",
   "specs": [
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-speedups-/report.json aiohttp[speedups]",
    "exit": 1,
    "seconds": 2.8,
    "key_lines": [
     "  error: subprocess-exited-with-error",
     "  × Building wheel for Brotli (pyproject.toml) did not run successfully.",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-gf0mkbp1/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for Brotli",
     "error: failed-wheel-build-for-install",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> Brotli"
    ],
    "uv_built": [],
    "output_tail": [
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiodns-4.0.4-py3-none-any.whl (12 kB)",
     "Downloading pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (225 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Building wheels for collected packages: Brotli",
     "  Building wheel for Brotli (pyproject.toml): started",
     "  Building wheel for Brotli (pyproject.toml): finished with status 'error'",
     "Failed to build Brotli",
     "  error: subprocess-exited-with-error",
     "  ",
     "  × Building wheel for Brotli (pyproject.toml) did not run successfully.",
     "  │ exit code: 1",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-gf0mkbp1/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      running bdist_wheel",
     "      running build",
     "      running build_py",
     "      creating bin/lib.linux-x86_64-cpython-315",
     "      copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "      running build_ext",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      building '_brotli' extension",
     "      gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/lab315/pip/aiohttp-speedups-/venv/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "      [end of output]",
     "  ",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for Brotli",
     "error: failed-wheel-build-for-install",
     "",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> Brotli"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp-socks",
   "tool": "pip",
   "specs": [
    "aiohttp-socks"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-socks/report.json aiohttp-socks",
    "exit": 0,
    "seconds": 1.9,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting aiohttp-socks",
     "  Downloading aiohttp_socks-0.12.0-py3-none-any.whl.metadata (3.5 kB)",
     "Collecting aiohttp>=3.10.0 (from aiohttp-socks)",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting python-socks<4.0.0,>=2.4.3 (from python-socks[asyncio]<4.0.0,>=2.4.3->aiohttp-socks)",
     "  Downloading python_socks-3.1.1-py3-none-any.whl.metadata (8.9 kB)",
     "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Downloading aiohttp_socks-0.12.0-py3-none-any.whl (10 kB)",
     "Downloading python_socks-3.1.1-py3-none-any.whl (49 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 130.0 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Installing collected packages: python-socks, propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, aiosignal, aiohttp, aiohttp-socks",
     "",
     "Successfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiohttp-socks-0.12.0 aiosignal-1.4.0 attrs-26.1.0 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 python-socks-3.1.1 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiohttp_socks",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohttp_socks-0.12.0-py3-none-any.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "python-socks",
     "version": "3.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "python_socks-3.1.1-py3-none-any.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp_socks": "0.12.0"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "urllib3[brotli]",
   "tool": "pip",
   "specs": [
    "urllib3[brotli]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/urllib3-brotli-/report.json urllib3[brotli]",
    "exit": 1,
    "seconds": 1.7,
    "key_lines": [
     "  error: subprocess-exited-with-error",
     "  × Building wheel for brotli (pyproject.toml) did not run successfully.",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-5soi4ph2/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for brotli",
     "error: failed-wheel-build-for-install",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> brotli"
    ],
    "uv_built": [],
    "output_tail": [
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Collecting brotli>=1.2.0 (from urllib3[brotli])",
     "  Downloading brotli-1.2.0.tar.gz (7.4 MB)",
     "     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4/7.4 MB 223.4 MB/s  0:00:00",
     "  Installing build dependencies: started",
     "  Installing build dependencies: finished with status 'done'",
     "  Getting requirements to build wheel: started",
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Building wheels for collected packages: brotli",
     "  Building wheel for brotli (pyproject.toml): started",
     "  Building wheel for brotli (pyproject.toml): finished with status 'error'",
     "Failed to build brotli",
     "  error: subprocess-exited-with-error",
     "  ",
     "  × Building wheel for brotli (pyproject.toml) did not run successfully.",
     "  │ exit code: 1",
     "  ╰─> [12 lines of output]",
     "      /tmp/pip-build-env-5soi4ph2/overlay/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "        warnings.warn(msg)",
     "      running bdist_wheel",
     "      running build",
     "      running build_py",
     "      creating bin/lib.linux-x86_64-cpython-315",
     "      copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "      running build_ext",
     "      <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "      building '_brotli' extension",
     "      gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/lab315/pip/urllib3-brotli-/venv/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "      error: [Errno 2] No such file or directory: 'gcc'",
     "      [end of output]",
     "  ",
     "  note: This error originates from a subprocess, and is likely not a problem with pip.",
     "  ERROR: Failed building wheel for brotli",
     "error: failed-wheel-build-for-install",
     "",
     "× Failed to build installable wheels for some pyproject.toml based projects",
     "╰─> brotli"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "curl_cffi",
   "tool": "pip",
   "specs": [
    "curl_cffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/curl-cffi/report.json curl_cffi",
    "exit": 0,
    "seconds": 1.0,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting curl_cffi",
     "  Downloading curl_cffi-0.16.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (17 kB)",
     "Collecting cffi>=2.0.0 (from curl_cffi)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting certifi>=2024.2.2 (from curl_cffi)",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=2.0.0->curl_cffi)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading curl_cffi-0.16.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.5/13.5 MB 288.4 MB/s  0:00:00",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: pycparser, certifi, cffi, curl_cffi",
     "",
     "Successfully installed certifi-2026.7.22 cffi-2.1.1 curl_cffi-0.16.3 pycparser-3.11"
    ]
   },
   "installed": [
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "curl_cffi",
     "version": "0.16.3",
     "tags": [
      "cp310-abi3-manylinux_2_17_x86_64",
      "cp310-abi3-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "curl_cffi-0.16.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "curl_cffi": "0.16.3"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "playwright",
   "tool": "pip",
   "specs": [
    "playwright"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/playwright/report.json playwright",
    "exit": 0,
    "seconds": 1.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting playwright",
     "  Downloading playwright-1.64.0-py3-none-manylinux1_x86_64.whl.metadata (3.3 kB)",
     "Collecting pyee<15,>=13 (from playwright)",
     "  Downloading pyee-14.0.0-py3-none-any.whl.metadata (1.8 kB)",
     "Collecting greenlet<4.0.0,>=3.1.1 (from playwright)",
     "  Downloading greenlet-3.5.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.8 kB)",
     "Collecting typing-extensions (from pyee<15,>=13->playwright)",
     "  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)",
     "Downloading playwright-1.64.0-py3-none-manylinux1_x86_64.whl (48.3 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.3/48.3 MB 307.3 MB/s  0:00:00",
     "Downloading greenlet-3.5.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (675 kB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 675.9/675.9 kB 1.2 GB/s  0:00:00",
     "Downloading pyee-14.0.0-py3-none-any.whl (15 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Installing collected packages: typing-extensions, greenlet, pyee, playwright",
     "",
     "Successfully installed greenlet-3.5.6 playwright-1.64.0 pyee-14.0.0 typing-extensions-4.16.0"
    ]
   },
   "installed": [
    {
     "name": "greenlet",
     "version": "3.5.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "greenlet-3.5.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "playwright",
     "version": "1.64.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "playwright-1.64.0-py3-none-manylinux1_x86_64.whl"
    },
    {
     "name": "pyee",
     "version": "14.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pyee-14.0.0-py3-none-any.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "driver": "Version 1.64.0"
    },
    "seconds": 0.5
   },
   "environment": "no-compiler"
  },
  {
   "case": "lxml",
   "tool": "pip",
   "specs": [
    "lxml"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/lxml/report.json lxml",
    "exit": 0,
    "seconds": 0.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting lxml",
     "  Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.3 kB)",
     "Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 202.8 MB/s  0:00:00",
     "Installing collected packages: lxml",
     "Successfully installed lxml-6.1.3"
    ]
   },
   "installed": [
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "lxml": "6.1.3"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "beautifulsoup4",
   "tool": "pip",
   "specs": [
    "beautifulsoup4"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/beautifulsoup4/report.json beautifulsoup4",
    "exit": 0,
    "seconds": 0.6,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting beautifulsoup4",
     "  Downloading beautifulsoup4-4.15.0-py3-none-any.whl.metadata (3.8 kB)",
     "Collecting soupsieve>=1.6.1 (from beautifulsoup4)",
     "  Downloading soupsieve-3.0.3-py3-none-any.whl.metadata (4.4 kB)",
     "Collecting typing-extensions>=4.0.0 (from beautifulsoup4)",
     "  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)",
     "Downloading beautifulsoup4-4.15.0-py3-none-any.whl (109 kB)",
     "Downloading soupsieve-3.0.3-py3-none-any.whl (41 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Installing collected packages: typing-extensions, soupsieve, beautifulsoup4",
     "",
     "Successfully installed beautifulsoup4-4.15.0 soupsieve-3.0.3 typing-extensions-4.16.0"
    ]
   },
   "installed": [
    {
     "name": "beautifulsoup4",
     "version": "4.15.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "beautifulsoup4-4.15.0-py3-none-any.whl"
    },
    {
     "name": "soupsieve",
     "version": "3.0.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "soupsieve-3.0.3-py3-none-any.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "bs4": "4.15.0"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "parsel",
   "tool": "pip",
   "specs": [
    "parsel"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/parsel/report.json parsel",
    "exit": 0,
    "seconds": 0.8,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting parsel",
     "  Downloading parsel-1.12.1-py3-none-any.whl.metadata (4.0 kB)",
     "Collecting cssselect>=1.2.0 (from parsel)",
     "  Downloading cssselect-1.6.0-py3-none-any.whl.metadata (2.4 kB)",
     "Collecting jmespath>=1.0.0 (from parsel)",
     "  Downloading jmespath-1.1.0-py3-none-any.whl.metadata (7.6 kB)",
     "Collecting lxml>=5.1.0 (from parsel)",
     "  Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.3 kB)",
     "Collecting w3lib>=1.19.0 (from parsel)",
     "  Downloading w3lib-2.5.0-py3-none-any.whl.metadata (2.3 kB)",
     "Downloading parsel-1.12.1-py3-none-any.whl (15 kB)",
     "Downloading cssselect-1.6.0-py3-none-any.whl (22 kB)",
     "Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
     "Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 201.4 MB/s  0:00:00",
     "Downloading w3lib-2.5.0-py3-none-any.whl (37 kB)",
     "Installing collected packages: w3lib, lxml, jmespath, cssselect, parsel",
     "",
     "Successfully installed cssselect-1.6.0 jmespath-1.1.0 lxml-6.1.3 parsel-1.12.1 w3lib-2.5.0"
    ]
   },
   "installed": [
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "cssselect-1.6.0-py3-none-any.whl"
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "jmespath-1.1.0-py3-none-any.whl"
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "parsel-1.12.1-py3-none-any.whl"
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "w3lib-2.5.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "parsel": "1.12.1"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "selectolax",
   "tool": "pip",
   "specs": [
    "selectolax"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/selectolax/report.json selectolax",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting selectolax",
     "  Downloading selectolax-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.9 kB)",
     "Downloading selectolax-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 86.1 MB/s  0:00:00",
     "Installing collected packages: selectolax",
     "Successfully installed selectolax-1.0.0"
    ]
   },
   "installed": [
    {
     "name": "selectolax",
     "version": "1.0.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "selectolax-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "selectolax": "1.0.0"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "pandas",
   "tool": "pip",
   "specs": [
    "pandas"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/pandas/report.json pandas",
    "exit": 0,
    "seconds": 6.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting pandas",
     "  Downloading pandas-3.0.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB)",
     "Collecting numpy>=2.3.3 (from pandas)",
     "  Downloading numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB)",
     "Collecting python-dateutil>=2.8.2 (from pandas)",
     "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)",
     "Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas)",
     "  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)",
     "Downloading pandas-3.0.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.8 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.8/10.8 MB 71.6 MB/s  0:00:00",
     "Downloading numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.7 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.7/16.7 MB 109.0 MB/s  0:00:00",
     "Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)",
     "Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)",
     "Installing collected packages: six, numpy, python-dateutil, pandas",
     "",
     "Successfully installed numpy-2.5.4 pandas-3.0.6 python-dateutil-2.9.0.post0 six-1.17.0"
    ]
   },
   "installed": [
    {
     "name": "numpy",
     "version": "2.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_27_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pandas",
     "version": "3.0.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "pandas-3.0.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "python-dateutil",
     "version": "2.9.0.post0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "python_dateutil-2.9.0.post0-py2.py3-none-any.whl"
    },
    {
     "name": "six",
     "version": "1.17.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "six-1.17.0-py2.py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pandas": "3.0.6"
    },
    "seconds": 0.3
   },
   "environment": "no-compiler"
  },
  {
   "case": "pydantic",
   "tool": "pip",
   "specs": [
    "pydantic"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/pydantic/report.json pydantic",
    "exit": 0,
    "seconds": 1.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting pydantic",
     "  Downloading pydantic-2.14.1-py3-none-any.whl.metadata (133 kB)",
     "Collecting annotated-types>=0.6.0 (from pydantic)",
     "  Downloading annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB)",
     "Collecting pydantic-core==2.50.1 (from pydantic)",
     "  Downloading pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB)",
     "Collecting typing-extensions>=4.16.0 (from pydantic)",
     "  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)",
     "Collecting typing-inspection>=0.4.4 (from pydantic)",
     "  Downloading typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB)",
     "Downloading pydantic-2.14.1-py3-none-any.whl (488 kB)",
     "Downloading pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 179.3 MB/s  0:00:00",
     "Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB)",
     "Installing collected packages: typing-extensions, annotated-types, typing-inspection, pydantic-core, pydantic",
     "",
     "Successfully installed annotated-types-0.8.0 pydantic-2.14.1 pydantic-core-2.50.1 typing-extensions-4.16.0 typing-inspection-0.4.4"
    ]
   },
   "installed": [
    {
     "name": "annotated-types",
     "version": "0.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "annotated_types-0.8.0-py3-none-any.whl"
    },
    {
     "name": "pydantic",
     "version": "2.14.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pydantic-2.14.1-py3-none-any.whl"
    },
    {
     "name": "pydantic_core",
     "version": "2.50.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    },
    {
     "name": "typing-inspection",
     "version": "0.4.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_inspection-0.4.4-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pydantic": "2.14.1",
     "pydantic_core": "2.50.1"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "orjson",
   "tool": "pip",
   "specs": [
    "orjson"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/orjson/report.json orjson",
    "exit": 0,
    "seconds": 0.6,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting orjson",
     "  Downloading orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl.metadata (42 kB)",
     "Downloading orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl (130 kB)",
     "Installing collected packages: orjson",
     "Successfully installed orjson-3.13.0"
    ]
   },
   "installed": [
    {
     "name": "orjson",
     "version": "3.13.0",
     "tags": [
      "cp315-cp315-manylinux_2_39_x86_64"
     ],
     "origin": "binary wheel",
     "file": "orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "orjson": "3.13.0"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "tenacity",
   "tool": "pip",
   "specs": [
    "tenacity"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/tenacity/report.json tenacity",
    "exit": 0,
    "seconds": 0.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting tenacity",
     "  Downloading tenacity-9.2.1-py3-none-any.whl.metadata (1.4 kB)",
     "Downloading tenacity-9.2.1-py3-none-any.whl (32 kB)",
     "Installing collected packages: tenacity",
     "Successfully installed tenacity-9.2.1"
    ]
   },
   "installed": [
    {
     "name": "tenacity",
     "version": "9.2.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "tenacity-9.2.1-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "attempts": 3
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "scrapy",
   "tool": "uv",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/scrapy/venv/bin/python scrapy",
    "exit": 1,
    "seconds": 1.2,
    "key_lines": [
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "         /tmp/.tmpVbKeFX/builds-v0/.tmpvCWhky/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'"
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/scrapy/venv",
     "Resolved 43 packages in 263ms",
     "Downloading twisted (3.1MiB)",
     "Downloading lxml (5.0MiB)",
     "Downloading aiohttp (1.8MiB)",
     "Downloading cryptography (4.8MiB)",
     "   Building zope-interface==8.6",
     " Downloaded aiohttp",
     " Downloaded twisted",
     " Downloaded lxml",
     " Downloaded cryptography",
     "   Building brotli==1.2.0",
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "",
     "         [stdout]",
     "         running bdist_wheel",
     "         running build",
     "         running build_py",
     "         creating bin/lib.linux-x86_64-cpython-315",
     "         copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "         running build_ext",
     "         building '_brotli' extension",
     "         gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/.tmpVbKeFX/builds-v0/.tmpvCWhky/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "",
     "         [stderr]",
     "         /tmp/.tmpVbKeFX/builds-v0/.tmpvCWhky/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'",
     "",
     "hint: `brotli` (v1.2.0) was included because `scrapy` (v2.19.0) depends on `brotli`",
     "",
     "hint: Build failures usually indicate a problem with the package or the build environment"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "requests[socks]",
   "tool": "uv",
   "specs": [
    "requests[socks]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/requests-socks-/venv/bin/python requests[socks]",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/requests-socks-/venv",
     "Resolved 6 packages in 133ms",
     "Prepared 6 packages in 39ms",
     "Installed 6 packages in 3ms",
     " + certifi==2026.7.22",
     " + charset-normalizer==3.5.2",
     " + idna==3.20",
     " + pysocks==1.7.1",
     " + requests==2.34.2",
     " + urllib3==2.8.0"
    ]
   },
   "installed": [
    {
     "name": "PySocks",
     "version": "1.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "requests": "2.34.2",
     "pysocks": true
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx[socks]",
   "tool": "uv",
   "specs": [
    "httpx[socks]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-socks-/venv/bin/python httpx[socks]",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/httpx-socks-/venv",
     "Resolved 7 packages in 111ms",
     "Prepared 7 packages in 29ms",
     "Installed 7 packages in 4ms",
     " + anyio==4.15.1",
     " + certifi==2026.7.22",
     " + h11==0.16.0",
     " + httpcore==1.0.9",
     " + httpx==0.28.1",
     " + idna==3.20",
     " + socksio==1.0.0"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "socksio",
     "version": "1.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "socksio": true
    },
    "seconds": 0.3
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx[brotli]",
   "tool": "uv",
   "specs": [
    "httpx[brotli]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-brotli-/venv/bin/python httpx[brotli]",
    "exit": 1,
    "seconds": 0.8,
    "key_lines": [
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "         /tmp/.tmpdaBgdj/builds-v0/.tmpvbvC48/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'"
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/httpx-brotli-/venv",
     "Resolved 7 packages in 116ms",
     "   Building brotli==1.2.0",
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "",
     "         [stdout]",
     "         running bdist_wheel",
     "         running build",
     "         running build_py",
     "         creating bin/lib.linux-x86_64-cpython-315",
     "         copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "         running build_ext",
     "         building '_brotli' extension",
     "         gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/.tmpdaBgdj/builds-v0/.tmpvbvC48/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "",
     "         [stderr]",
     "         /tmp/.tmpdaBgdj/builds-v0/.tmpvbvC48/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'",
     "",
     "hint: `brotli` (v1.2.0) was included because `httpx[brotli]` (v0.28.1) depends on `brotli`",
     "",
     "hint: Build failures usually indicate a problem with the package or the build environment"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx[zstd]",
   "tool": "uv",
   "specs": [
    "httpx[zstd]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-zstd-/venv/bin/python httpx[zstd]",
    "exit": 1,
    "seconds": 0.7,
    "key_lines": [
     "error: Failed to build `zstandard==0.25.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.get_requires_for_build_wheel` failed (exit status: 1)",
     "         FileNotFoundError: [Errno 2] No such file or directory: 'gcc'"
    ],
    "uv_built": [],
    "output_tail": [
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.get_requires_for_build_wheel` failed (exit status: 1)",
     "",
     "         [stderr]",
     "         Traceback (most recent call last):",
     "           File \"<string>\", line 14, in <module>",
     "             requires = get_requires_for_build({})",
     "           File \"/tmp/.tmprt3pCQ/builds-v0/.tmp6YIoJo/lib/python3.15/site-packages/setuptools/build_meta.py\", line 333, in get_requires_for_build_wheel",
     "             return self._get_build_requires(config_settings, requirements=[])",
     "                    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
     "           File \"/tmp/.tmprt3pCQ/builds-v0/.tmp6YIoJo/lib/python3.15/site-packages/setuptools/build_meta.py\", line 301, in _get_build_requires",
     "             self.run_setup()",
     "             ~~~~~~~~~~~~~~^^",
     "           File \"/tmp/.tmprt3pCQ/builds-v0/.tmp6YIoJo/lib/python3.15/site-packages/setuptools/build_meta.py\", line 317, in run_setup",
     "             exec(code, locals())  # noqa: S102 # exec is intentional here",
     "             ~~~~^^^^^^^^^^^^^^^^",
     "           File \"<string>\", line 139, in <module>",
     "           File \"/tmp/.tmprt3pCQ/sdists-v10/pypi/zstandard/0.25.0/gsZBJyxyTNBkYEEQ/src/make_cffi.py\", line 205, in <module>",
     "             preprocessed = preprocess(header)",
     "           File \"/tmp/.tmprt3pCQ/sdists-v10/pypi/zstandard/0.25.0/gsZBJyxyTNBkYEEQ/src/make_cffi.py\", line 139, in preprocess",
     "             process = subprocess.Popen(",
     "                 args + [input_file], stdout=subprocess.PIPE, env=env",
     "             )",
     "           File \"/usr/local/lib/python3.15/subprocess.py\", line 1213, in __init__",
     "             self._execute_child(args, executable, preexec_fn, close_fds,",
     "             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
     "                                 pass_fds, cwd, env,",
     "                                 ^^^^^^^^^^^^^^^^^^^",
     "             ...<5 lines>...",
     "                                 gid, gids, uid, umask,",
     "                                 ^^^^^^^^^^^^^^^^^^^^^^",
     "                                 start_new_session, process_group)",
     "                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
     "           File \"/usr/local/lib/python3.15/subprocess.py\", line 2156, in _execute_child",
     "             raise child_exception_type(errno_num, err_msg, err_filename)",
     "         FileNotFoundError: [Errno 2] No such file or directory: 'gcc'",
     "",
     "hint: `zstandard` (v0.25.0) was included because `httpx[zstd]` (v0.28.1) depends on `zstandard`",
     "",
     "hint: Build failures usually indicate a problem with the package or the build environment"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp",
   "tool": "uv",
   "specs": [
    "aiohttp"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/aiohttp/venv/bin/python aiohttp",
    "exit": 0,
    "seconds": 0.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/aiohttp/venv",
     "Resolved 9 packages in 283ms",
     "Downloading aiohttp (1.8MiB)",
     " Downloaded aiohttp",
     "Prepared 9 packages in 49ms",
     "Installed 9 packages in 4ms",
     " + aiohappyeyeballs==2.7.1",
     " + aiohttp==3.14.5",
     " + aiosignal==1.4.0",
     " + attrs==26.1.0",
     " + frozenlist==1.8.0",
     " + idna==3.20",
     " + multidict==7.1.0",
     " + propcache==0.5.4",
     " + yarl==1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5"
    },
    "seconds": 0.3
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp[speedups]",
   "tool": "uv",
   "specs": [
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/aiohttp-speedups-/venv/bin/python aiohttp[speedups]",
    "exit": 1,
    "seconds": 1.1,
    "key_lines": [
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "         /tmp/.tmpBaxhI3/builds-v0/.tmp35lbog/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'"
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/aiohttp-speedups-/venv",
     "Resolved 14 packages in 355ms",
     "Downloading aiohttp (1.8MiB)",
     " Downloaded aiohttp",
     "   Building brotli==1.2.0",
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "",
     "         [stdout]",
     "         running bdist_wheel",
     "         running build",
     "         running build_py",
     "         creating bin/lib.linux-x86_64-cpython-315",
     "         copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "         running build_ext",
     "         building '_brotli' extension",
     "         gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/.tmpBaxhI3/builds-v0/.tmp35lbog/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "",
     "         [stderr]",
     "         /tmp/.tmpBaxhI3/builds-v0/.tmp35lbog/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'",
     "",
     "hint: `brotli` (v1.2.0) was included because `aiohttp[speedups]` (v3.14.5) depends on `brotli`",
     "",
     "hint: Build failures usually indicate a problem with the package or the build environment"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp-socks",
   "tool": "uv",
   "specs": [
    "aiohttp-socks"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/aiohttp-socks/venv/bin/python aiohttp-socks",
    "exit": 0,
    "seconds": 0.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/aiohttp-socks/venv",
     "Resolved 11 packages in 293ms",
     "Downloading aiohttp (1.8MiB)",
     " Downloaded aiohttp",
     "Prepared 11 packages in 46ms",
     "Installed 11 packages in 4ms",
     " + aiohappyeyeballs==2.7.1",
     " + aiohttp==3.14.5",
     " + aiohttp-socks==0.12.0",
     " + aiosignal==1.4.0",
     " + attrs==26.1.0",
     " + frozenlist==1.8.0",
     " + idna==3.20",
     " + multidict==7.1.0",
     " + propcache==0.5.4",
     " + python-socks==3.1.1",
     " + yarl==1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "aiohttp_socks",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "python-socks",
     "version": "3.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp_socks": "0.12.0"
    },
    "seconds": 0.4
   },
   "environment": "no-compiler"
  },
  {
   "case": "urllib3[brotli]",
   "tool": "uv",
   "specs": [
    "urllib3[brotli]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/urllib3-brotli-/venv/bin/python urllib3[brotli]",
    "exit": 1,
    "seconds": 0.8,
    "key_lines": [
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "         /tmp/.tmp8RPNJ8/builds-v0/.tmpRF8o5g/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'"
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/urllib3-brotli-/venv",
     "Resolved 2 packages in 98ms",
     "   Building brotli==1.2.0",
     "error: Failed to build `brotli==1.2.0`",
     "  cause: The build backend returned an error",
     "  cause: Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)",
     "",
     "         [stdout]",
     "         running bdist_wheel",
     "         running build",
     "         running build_py",
     "         creating bin/lib.linux-x86_64-cpython-315",
     "         copying python/brotli.py -> bin/lib.linux-x86_64-cpython-315",
     "         running build_ext",
     "         building '_brotli' extension",
     "         gcc -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Ic/include -I/tmp/.tmp8RPNJ8/builds-v0/.tmpRF8o5g/include -I/usr/local/include/python3.15 -c python/_brotli.c -o bin/temp.linux-x86_64-cpython-315/python/_brotli.o",
     "",
     "         [stderr]",
     "         /tmp/.tmp8RPNJ8/builds-v0/.tmpRF8o5g/lib/python3.15/site-packages/setuptools/_distutils/dist.py:318: UserWarning: Unknown distribution option: 'test_suite'",
     "           warnings.warn(msg)",
     "         <string>:82: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.",
     "         error: [Errno 2] No such file or directory: 'gcc'",
     "",
     "hint: `brotli` (v1.2.0) was included because `urllib3[brotli]` (v2.8.0) depends on `brotli`",
     "",
     "hint: Build failures usually indicate a problem with the package or the build environment"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "curl_cffi",
   "tool": "uv",
   "specs": [
    "curl_cffi"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/curl-cffi/venv/bin/python curl_cffi",
    "exit": 0,
    "seconds": 0.3,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/curl-cffi/venv",
     "Resolved 4 packages in 134ms",
     "Downloading curl-cffi (12.9MiB)",
     " Downloaded curl-cffi",
     "Prepared 4 packages in 110ms",
     "Installed 4 packages in 2ms",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + curl-cffi==0.16.3",
     " + pycparser==3.11"
    ]
   },
   "installed": [
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "curl_cffi",
     "version": "0.16.3",
     "tags": [
      "cp310-abi3-manylinux_2_17_x86_64",
      "cp310-abi3-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "curl_cffi": "0.16.3"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "playwright",
   "tool": "uv",
   "specs": [
    "playwright"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/playwright/venv/bin/python playwright",
    "exit": 0,
    "seconds": 0.6,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/playwright/venv",
     "Resolved 4 packages in 135ms",
     "Downloading playwright (46.0MiB)",
     " Downloaded playwright",
     "Prepared 4 packages in 333ms",
     "Installed 4 packages in 5ms",
     " + greenlet==3.5.6",
     " + playwright==1.64.0",
     " + pyee==14.0.0",
     " + typing-extensions==4.16.0"
    ]
   },
   "installed": [
    {
     "name": "greenlet",
     "version": "3.5.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "playwright",
     "version": "1.64.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pyee",
     "version": "14.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "driver": "Version 1.64.0"
    },
    "seconds": 0.6
   },
   "environment": "no-compiler"
  },
  {
   "case": "lxml",
   "tool": "uv",
   "specs": [
    "lxml"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/lxml/venv/bin/python lxml",
    "exit": 0,
    "seconds": 0.3,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/lxml/venv",
     "Resolved 1 package in 125ms",
     "Downloading lxml (5.0MiB)",
     " Downloaded lxml",
     "Prepared 1 package in 69ms",
     "Installed 1 package in 3ms",
     " + lxml==6.1.3"
    ]
   },
   "installed": [
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "lxml": "6.1.3"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "beautifulsoup4",
   "tool": "uv",
   "specs": [
    "beautifulsoup4"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/beautifulsoup4/venv/bin/python beautifulsoup4",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/beautifulsoup4/venv",
     "Resolved 3 packages in 93ms",
     "Prepared 3 packages in 25ms",
     "Installed 3 packages in 1ms",
     " + beautifulsoup4==4.15.0",
     " + soupsieve==3.0.3",
     " + typing-extensions==4.16.0"
    ]
   },
   "installed": [
    {
     "name": "beautifulsoup4",
     "version": "4.15.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "soupsieve",
     "version": "3.0.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "bs4": "4.15.0"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "parsel",
   "tool": "uv",
   "specs": [
    "parsel"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/parsel/venv/bin/python parsel",
    "exit": 0,
    "seconds": 0.3,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/parsel/venv",
     "Resolved 5 packages in 130ms",
     "Downloading lxml (5.0MiB)",
     " Downloaded lxml",
     "Prepared 5 packages in 67ms",
     "Installed 5 packages in 4ms",
     " + cssselect==1.6.0",
     " + jmespath==1.1.0",
     " + lxml==6.1.3",
     " + parsel==1.12.1",
     " + w3lib==2.5.0"
    ]
   },
   "installed": [
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "parsel": "1.12.1"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "selectolax",
   "tool": "uv",
   "specs": [
    "selectolax"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/selectolax/venv/bin/python selectolax",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/selectolax/venv",
     "Resolved 1 package in 111ms",
     "Downloading selectolax (1.4MiB)",
     " Downloaded selectolax",
     "Prepared 1 package in 50ms",
     "Installed 1 package in 1ms",
     " + selectolax==1.0.0"
    ]
   },
   "installed": [
    {
     "name": "selectolax",
     "version": "1.0.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "selectolax": "1.0.0"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "pandas",
   "tool": "uv",
   "specs": [
    "pandas"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/pandas/venv/bin/python pandas",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/pandas/venv",
     "Resolved 4 packages in 178ms",
     "Downloading numpy (15.9MiB)",
     "Downloading pandas (10.3MiB)",
     " Downloaded pandas",
     " Downloaded numpy",
     "Prepared 4 packages in 175ms",
     "Installed 4 packages in 22ms",
     " + numpy==2.5.4",
     " + pandas==3.0.6",
     " + python-dateutil==2.9.0.post0",
     " + six==1.17.0"
    ]
   },
   "installed": [
    {
     "name": "numpy",
     "version": "2.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_27_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "pandas",
     "version": "3.0.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "python-dateutil",
     "version": "2.9.0.post0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "six",
     "version": "1.17.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pandas": "3.0.6"
    },
    "seconds": 1.3
   },
   "environment": "no-compiler"
  },
  {
   "case": "pydantic",
   "tool": "uv",
   "specs": [
    "pydantic"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/pydantic/venv/bin/python pydantic",
    "exit": 0,
    "seconds": 0.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/pydantic/venv",
     "Resolved 5 packages in 243ms",
     "Downloading pydantic-core (2.1MiB)",
     " Downloaded pydantic-core",
     "Prepared 5 packages in 45ms",
     "Installed 5 packages in 3ms",
     " + annotated-types==0.8.0",
     " + pydantic==2.14.1",
     " + pydantic-core==2.50.1",
     " + typing-extensions==4.16.0",
     " + typing-inspection==0.4.4"
    ]
   },
   "installed": [
    {
     "name": "annotated-types",
     "version": "0.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pydantic",
     "version": "2.14.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pydantic_core",
     "version": "2.50.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing-inspection",
     "version": "0.4.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pydantic": "2.14.1",
     "pydantic_core": "2.50.1"
    },
    "seconds": 0.3
   },
   "environment": "no-compiler"
  },
  {
   "case": "orjson",
   "tool": "uv",
   "specs": [
    "orjson"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/orjson/venv/bin/python orjson",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/orjson/venv",
     "Resolved 1 package in 135ms",
     "Prepared 1 package in 22ms",
     "Installed 1 package in 0.99ms",
     " + orjson==3.13.0"
    ]
   },
   "installed": [
    {
     "name": "orjson",
     "version": "3.13.0",
     "tags": [
      "cp315-cp315-manylinux_2_39_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "orjson": "3.13.0"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "tenacity",
   "tool": "uv",
   "specs": [
    "tenacity"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/tenacity/venv/bin/python tenacity",
    "exit": 0,
    "seconds": 0.1,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/tenacity/venv",
     "Resolved 1 package in 76ms",
     "Prepared 1 package in 9ms",
     "Installed 1 package in 1ms",
     " + tenacity==9.2.1"
    ]
   },
   "installed": [
    {
     "name": "tenacity",
     "version": "9.2.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "attempts": 3
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "only-binary-all",
   "tool": "pip",
   "specs": [
    "httpx[brotli]",
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/only-binary-all/report.json --only-binary :all: httpx[brotli] aiohttp[speedups]",
    "exit": 0,
    "seconds": 2.8,
    "key_lines": [
     "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.",
     "WARNING: aiohttp 0.13.1 does not provide the extra 'speedups'"
    ],
    "uv_built": [],
    "output_tail": [
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp[speedups])",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp[speedups])",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp[speedups])",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting aiodns>=3.3.0 (from aiohttp[speedups])",
     "  Downloading aiodns-4.0.4-py3-none-any.whl.metadata (9.0 kB)",
     "INFO: pip is looking at multiple versions of aiohttp[speedups] to determine which version is compatible with other requirements. This could take a while.",
     "Collecting aiohttp[speedups]",
     "  Downloading aiohttp-3.14.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting multidict<7.0,>=4.5 (from aiohttp[speedups])",
     "  Downloading multidict-6.9.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (5.3 kB)",
     "Collecting aiohttp[speedups]",
     "  Downloading aiohttp-3.6.2-py3-none-any.whl.metadata (24 kB)",
     "Collecting chardet<4.0,>=2.0 (from aiohttp[speedups])",
     "  Downloading chardet-3.0.4-py2.py3-none-any.whl.metadata (3.2 kB)",
     "Collecting aiohttp[speedups]",
     "  Downloading aiohttp-3.6.0-py3-none-any.whl.metadata (22 kB)",
     "  Downloading aiohttp-0.13.1-py3-none-any.whl.metadata (5.0 kB)",
     "Collecting pycparser (from cffi>=1.17.0->brotlicffi==1.*->httpx[brotli])",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading httpx-0.18.2-py3-none-any.whl (76 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 145.3 MB/s  0:00:00",
     "Downloading httpcore-0.13.7-py3-none-any.whl (58 kB)",
     "Downloading anyio-3.7.1-py3-none-any.whl (80 kB)",
     "Downloading h11-0.12.0-py3-none-any.whl (54 kB)",
     "Downloading rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)",
     "Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)",
     "Downloading aiohttp-0.13.1-py3-none-any.whl (67 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: rfc3986, aiohttp, sniffio, pycparser, idna, h11, certifi, cffi, anyio, httpcore, brotlicffi, httpx",
     "",
     "Successfully installed aiohttp-0.13.1 anyio-3.7.1 brotlicffi-1.2.0.2 certifi-2026.7.22 cffi-2.1.1 h11-0.12.0 httpcore-0.13.7 httpx-0.18.2 idna-3.20 pycparser-3.11 rfc3986-1.5.0 sniffio-1.3.1",
     "WARNING: aiohttp 0.13.1 does not provide the extra 'speedups'"
    ]
   },
   "installed": [
    {
     "name": "aiohttp",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohttp-0.13.1-py3-none-any.whl"
    },
    {
     "name": "anyio",
     "version": "3.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-3.7.1-py3-none-any.whl"
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "h11",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.12.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "0.13.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-0.13.7-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.18.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.18.2-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "rfc3986",
     "version": "1.5.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "rfc3986-1.5.0-py2.py3-none-any.whl"
    },
    {
     "name": "sniffio",
     "version": "1.3.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "sniffio-1.3.1-py3-none-any.whl"
    }
   ],
   "environment": "no-compiler"
  },
  {
   "case": "no-build",
   "tool": "uv",
   "specs": [
    "httpx[brotli]",
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/no-build/venv/bin/python --no-build httpx[brotli] aiohttp[speedups]",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [
     "warning: The package `aiohttp==0.13.1` does not have an extra named `speedups`"
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/no-build/venv",
     "Resolved 12 packages in 384ms",
     "Downloading brotlicffi (1.5MiB)",
     " Downloaded brotlicffi",
     "Prepared 12 packages in 34ms",
     "Installed 12 packages in 5ms",
     " + aiohttp==0.13.1",
     " + anyio==3.7.1",
     " + brotlicffi==1.2.0.2",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + h11==0.12.0",
     " + httpcore==0.13.7",
     " + httpx==0.18.2",
     " + idna==3.20",
     " + pycparser==3.11",
     " + rfc3986==1.5.0",
     " + sniffio==1.3.1",
     "warning: The package `aiohttp==0.13.1` does not have an extra named `speedups`"
    ]
   },
   "installed": [
    {
     "name": "aiohttp",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "anyio",
     "version": "3.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "0.13.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.18.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "rfc3986",
     "version": "1.5.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "sniffio",
     "version": "1.3.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "environment": "no-compiler"
  },
  {
   "case": "only-binary-brotli",
   "tool": "pip",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/only-binary-brotli/report.json --only-binary brotli scrapy",
    "exit": 0,
    "seconds": 7.0,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)",
     "Downloading itemadapter-0.13.1-py3-none-any.whl (18 kB)",
     "Downloading itemloaders-1.5.0-py3-none-any.whl (13 kB)",
     "Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
     "Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 370.2 MB/s  0:00:00",
     "Downloading parsel-1.12.1-py3-none-any.whl (15 kB)",
     "Downloading protego-0.7.0-py3-none-any.whl (13 kB)",
     "Downloading PyDispatcher-2.0.7-py3-none-any.whl (12 kB)",
     "Downloading pyopenssl-26.4.0-py3-none-any.whl (56 kB)",
     "Downloading queuelib-1.10.0-py3-none-any.whl (16 kB)",
     "Downloading service_identity-26.1.0-py3-none-any.whl (11 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading twisted-26.4.0-py3-none-any.whl (3.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 397.6 MB/s  0:00:00",
     "Downloading automat-25.4.16-py3-none-any.whl (42 kB)",
     "Downloading constantly-23.10.4-py3-none-any.whl (13 kB)",
     "Downloading hyperlink-21.0.0-py2.py3-none-any.whl (74 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading incremental-24.11.0-py3-none-any.whl (21 kB)",
     "Downloading packaging-26.3-py3-none-any.whl (129 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Downloading w3lib-2.5.0-py3-none-any.whl (37 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Downloading tldextract-5.4.0-py3-none-any.whl (107 kB)",
     "Downloading filelock-4.1.1-py3-none-any.whl (132 kB)",
     "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
     "Downloading charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (257 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading requests_file-3.0.1-py2.py3-none-any.whl (4.5 kB)",
     "Building wheels for collected packages: zope-interface",
     "  Building wheel for zope-interface (pyproject.toml): started",
     "  Building wheel for zope-interface (pyproject.toml): finished with status 'done'",
     "  Created wheel for zope-interface: filename=zope_interface-8.6-cp315-cp315-linux_x86_64.whl size=199715 sha256=8eec752428529d340cc5a9c24c7e76b086bb4690748ccb8ac6bf4ea45ea304d9",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-b5eirbwk/wheels/ce/a0/4c/0a48d6e726dc59398e5eea2218e876df7b9be39046cd727577",
     "Successfully built zope-interface",
     "Installing collected packages: pydispatcher, zope-interface, w3lib, urllib3, typing-extensions, queuelib, pycparser, protego, packaging, lxml, jmespath, itemadapter, idna, filelock, defusedxml, cssselect, constantly, charset_normalizer, certifi, automat, attrs, requests, parsel, incremental, hyperlink, cffi, twisted, requests-file, itemloaders, cryptography, tldextract, service-identity, pyopenssl, scrapy",
     "",
     "Successfully installed attrs-26.1.0 automat-25.4.16 certifi-2026.7.22 cffi-2.1.1 charset_normalizer-3.5.2 constantly-23.10.4 cryptography-50.0.2 cssselect-1.6.0 defusedxml-0.7.1 filelock-4.1.1 hyperlink-21.0.0 idna-3.20 incremental-24.11.0 itemadapter-0.13.1 itemloaders-1.5.0 jmespath-1.1.0 lxml-6.1.3 packaging-26.3 parsel-1.12.1 protego-0.7.0 pycparser-3.11 pydispatcher-2.0.7 pyopenssl-26.4.0 queuelib-1.10.0 requests-2.34.2 requests-file-3.0.1 scrapy-2.17.0 service-identity-26.1.0 tldextract-5.4.0 twisted-26.4.0 typing-extensions-4.16.0 urllib3-2.8.0 w3lib-2.5.0 zope-interface-8.6"
    ]
   },
   "installed": [
    {
     "name": "PyDispatcher",
     "version": "2.0.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "PyDispatcher-2.0.7-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "Automat",
     "version": "25.4.16",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "automat-25.4.16-py3-none-any.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "constantly",
     "version": "23.10.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "constantly-23.10.4-py3-none-any.whl"
    },
    {
     "name": "cryptography",
     "version": "50.0.2",
     "tags": [
      "cp315-abi3-manylinux_2_34_x86_64",
      "cp315-abi3t-manylinux_2_34_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl"
    },
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "cssselect-1.6.0-py3-none-any.whl"
    },
    {
     "name": "defusedxml",
     "version": "0.7.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "defusedxml-0.7.1-py2.py3-none-any.whl"
    },
    {
     "name": "filelock",
     "version": "4.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "filelock-4.1.1-py3-none-any.whl"
    },
    {
     "name": "hyperlink",
     "version": "21.0.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "hyperlink-21.0.0-py2.py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "Incremental",
     "version": "24.11.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "incremental-24.11.0-py3-none-any.whl"
    },
    {
     "name": "itemadapter",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "itemadapter-0.13.1-py3-none-any.whl"
    },
    {
     "name": "itemloaders",
     "version": "1.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "itemloaders-1.5.0-py3-none-any.whl"
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "jmespath-1.1.0-py3-none-any.whl"
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "packaging",
     "version": "26.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "packaging-26.3-py3-none-any.whl"
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "parsel-1.12.1-py3-none-any.whl"
    },
    {
     "name": "Protego",
     "version": "0.7.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "protego-0.7.0-py3-none-any.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "pyOpenSSL",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pyopenssl-26.4.0-py3-none-any.whl"
    },
    {
     "name": "queuelib",
     "version": "1.10.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "queuelib-1.10.0-py3-none-any.whl"
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests-2.34.2-py3-none-any.whl"
    },
    {
     "name": "requests-file",
     "version": "3.0.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests_file-3.0.1-py2.py3-none-any.whl"
    },
    {
     "name": "Scrapy",
     "version": "2.17.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "scrapy-2.17.0-py3-none-any.whl"
    },
    {
     "name": "service-identity",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "service_identity-26.1.0-py3-none-any.whl"
    },
    {
     "name": "tldextract",
     "version": "5.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "tldextract-5.4.0-py3-none-any.whl"
    },
    {
     "name": "Twisted",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "twisted-26.4.0-py3-none-any.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "w3lib-2.5.0-py3-none-any.whl"
    },
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "zope_interface-8.6.tar.gz"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "scrapy": "2.17.0",
     "pages": {
      "br": "hello from the lab",
      "accept_encoding": "gzip, deflate",
      "gzip": "hello from the lab",
      "/": "hello from the lab"
     },
     "zope_interface_c_speedups": false,
     "brotli": false
    },
    "seconds": 0.5
   },
   "environment": "no-compiler"
  },
  {
   "case": "only-binary-brotli",
   "tool": "uv",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/only-binary-brotli/venv/bin/python --only-binary brotli scrapy",
    "exit": 0,
    "seconds": 1.2,
    "key_lines": [],
    "uv_built": [
     "zope-interface==8.6"
    ],
    "output_tail": [
     " Downloaded lxml",
     " Downloaded cryptography",
     " Downloaded twisted",
     "      Built zope-interface==8.6",
     "Prepared 34 packages in 805ms",
     "Installed 34 packages in 24ms",
     " + attrs==26.1.0",
     " + automat==25.4.16",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + charset-normalizer==3.5.2",
     " + constantly==23.10.4",
     " + cryptography==50.0.2",
     " + cssselect==1.6.0",
     " + defusedxml==0.7.1",
     " + filelock==4.1.1",
     " + hyperlink==21.0.0",
     " + idna==3.20",
     " + incremental==24.11.0",
     " + itemadapter==0.13.1",
     " + itemloaders==1.5.0",
     " + jmespath==1.1.0",
     " + lxml==6.1.3",
     " + packaging==26.3",
     " + parsel==1.12.1",
     " + protego==0.7.0",
     " + pycparser==3.11",
     " + pydispatcher==2.0.7",
     " + pyopenssl==26.4.0",
     " + queuelib==1.10.0",
     " + requests==2.34.2",
     " + requests-file==3.0.1",
     " + scrapy==2.17.0",
     " + service-identity==26.1.0",
     " + tldextract==5.4.0",
     " + twisted==26.4.0",
     " + typing-extensions==4.16.0",
     " + urllib3==2.8.0",
     " + w3lib==2.5.0",
     " + zope-interface==8.6"
    ]
   },
   "installed": [
    {
     "name": "PyDispatcher",
     "version": "2.0.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Automat",
     "version": "25.4.16",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "constantly",
     "version": "23.10.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cryptography",
     "version": "50.0.2",
     "tags": [
      "cp315-abi3-manylinux_2_34_x86_64",
      "cp315-abi3t-manylinux_2_34_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "defusedxml",
     "version": "0.7.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "filelock",
     "version": "4.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "hyperlink",
     "version": "21.0.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Incremental",
     "version": "24.11.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "itemadapter",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "itemloaders",
     "version": "1.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "packaging",
     "version": "26.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Protego",
     "version": "0.7.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pyOpenSSL",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "queuelib",
     "version": "1.10.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests-file",
     "version": "3.0.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Scrapy",
     "version": "2.17.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "service-identity",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "tldextract",
     "version": "5.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Twisted",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "scrapy": "2.17.0",
     "pages": {
      "/": "hello from the lab",
      "accept_encoding": "gzip, deflate",
      "br": "hello from the lab",
      "gzip": "hello from the lab"
     },
     "zope_interface_c_speedups": false,
     "brotli": false
    },
    "seconds": 1.3
   },
   "environment": "no-compiler"
  },
  {
   "case": "only-binary-brotli-pinned",
   "tool": "pip",
   "specs": [
    "scrapy==2.19.0"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/only-binary-brotli-pinned/report.json --only-binary brotli scrapy==2.19.0",
    "exit": 1,
    "seconds": 0.7,
    "key_lines": [
     "ERROR: Could not find a version that satisfies the requirement brotli>=1.2.0; implementation_name != \"pypy\" (from scrapy) (from versions: none)",
     "ERROR: No matching distribution found for brotli>=1.2.0; implementation_name != \"pypy\""
    ],
    "uv_built": [],
    "output_tail": [
     "Collecting scrapy==2.19.0",
     "  Downloading scrapy-2.19.0-py3-none-any.whl.metadata (5.3 kB)",
     "Collecting aiohttp>=3.13.3 (from scrapy==2.19.0)",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "INFO: pip is looking at multiple versions of scrapy to determine which version is compatible with other requirements. This could take a while.",
     "ERROR: Could not find a version that satisfies the requirement brotli>=1.2.0; implementation_name != \"pypy\" (from scrapy) (from versions: none)",
     "ERROR: No matching distribution found for brotli>=1.2.0; implementation_name != \"pypy\""
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "only-binary-brotli-pinned",
   "tool": "uv",
   "specs": [
    "scrapy==2.19.0"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/only-binary-brotli-pinned/venv/bin/python --only-binary brotli scrapy==2.19.0",
    "exit": 1,
    "seconds": 0.4,
    "key_lines": [
     "error: No solution found when resolving dependencies",
     "  cause: Because brotli{implementation_name != 'pypy'}==1.2.0 has no usable wheels and only brotli{implementation_name != 'pypy'}<=1.2.0 is available, we can conclude that brotli{implementation_name != 'pypy'}>=1.2.0 cannot be used."
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/only-binary-brotli-pinned/venv",
     "error: No solution found when resolving dependencies",
     "  cause: Because brotli{implementation_name != 'pypy'}==1.2.0 has no usable wheels and only brotli{implementation_name != 'pypy'}<=1.2.0 is available, we can conclude that brotli{implementation_name != 'pypy'}>=1.2.0 cannot be used.",
     "         And because scrapy>=2.19.0 depends on brotli{implementation_name != 'pypy'}>=1.2.0 and you require scrapy==2.19.0, we can conclude that your requirements are unsatisfiable.",
     "",
     "hint: Wheels are required for `brotli` because building from source is disabled for `brotli` (i.e., with `--no-build-package brotli`)"
    ]
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx+brotlicffi",
   "tool": "pip",
   "specs": [
    "httpx",
    "brotlicffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-brotlicffi/report.json httpx brotlicffi",
    "exit": 0,
    "seconds": 1.1,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting httpx",
     "  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)",
     "Collecting brotlicffi",
     "  Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (7.0 kB)",
     "Collecting anyio (from httpx)",
     "  Downloading anyio-4.15.1-py3-none-any.whl.metadata (4.7 kB)",
     "Collecting certifi (from httpx)",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting httpcore==1.* (from httpx)",
     "  Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)",
     "Collecting idna (from httpx)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting h11>=0.16 (from httpcore==1.*->httpx)",
     "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)",
     "Collecting cffi>=1.17.0 (from brotlicffi)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=1.17.0->brotlicffi)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)",
     "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 107.2 MB/s  0:00:00",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
     "Downloading anyio-4.15.1-py3-none-any.whl (132 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: pycparser, idna, h11, certifi, httpcore, cffi, anyio, httpx, brotlicffi",
     "",
     "Successfully installed anyio-4.15.1 brotlicffi-1.2.0.2 certifi-2026.7.22 cffi-2.1.1 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.20 pycparser-3.11"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-4.15.1-py3-none-any.whl"
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.16.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-1.0.9-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.28.1-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "brotli": false,
     "brotlicffi": true,
     "accept_encoding": "gzip, deflate, br",
     "content_encoding": "br"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "httpx+brotlicffi",
   "tool": "uv",
   "specs": [
    "httpx",
    "brotlicffi"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-brotlicffi/venv/bin/python httpx brotlicffi",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/httpx-brotlicffi/venv",
     "Resolved 9 packages in 137ms",
     "Downloading brotlicffi (1.5MiB)",
     " Downloaded brotlicffi",
     "Prepared 9 packages in 45ms",
     "Installed 9 packages in 4ms",
     " + anyio==4.15.1",
     " + brotlicffi==1.2.0.2",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + h11==0.16.0",
     " + httpcore==1.0.9",
     " + httpx==0.28.1",
     " + idna==3.20",
     " + pycparser==3.11"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "brotli": false,
     "brotlicffi": true,
     "accept_encoding": "gzip, deflate, br",
     "content_encoding": "br"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "urllib3+brotlicffi",
   "tool": "pip",
   "specs": [
    "urllib3",
    "brotlicffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/urllib3-brotlicffi/report.json urllib3 brotlicffi",
    "exit": 0,
    "seconds": 0.8,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting urllib3",
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Collecting brotlicffi",
     "  Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (7.0 kB)",
     "Collecting cffi>=1.17.0 (from brotlicffi)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=1.17.0->brotlicffi)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 110.7 MB/s  0:00:00",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: urllib3, pycparser, cffi, brotlicffi",
     "",
     "Successfully installed brotlicffi-1.2.0.2 cffi-2.1.1 pycparser-3.11 urllib3-2.8.0"
    ]
   },
   "installed": [
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "urllib3": "2.8.0",
     "brotli": false,
     "brotlicffi": true,
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip,deflate,br,zstd",
     "content_encoding": "br"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp+aiodns+brotlicffi",
   "tool": "pip",
   "specs": [
    "aiohttp",
    "aiodns",
    "brotlicffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-aiodns-brotlicffi/report.json aiohttp aiodns brotlicffi",
    "exit": 0,
    "seconds": 2.1,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting pycares<6,>=5.0.0 (from aiodns)",
     "  Downloading pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (4.1 kB)",
     "Collecting cffi>=2.0.0b1 (from pycares<6,>=5.0.0->aiodns)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=2.0.0b1->pycares<6,>=5.0.0->aiodns)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 127.9 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiodns-4.0.4-py3-none-any.whl (12 kB)",
     "Downloading pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (225 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 1.0 GB/s  0:00:00",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: pycparser, propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, cffi, aiosignal, pycares, brotlicffi, aiohttp, aiodns",
     "",
     "Successfully installed aiodns-4.0.4 aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 brotlicffi-1.2.0.2 cffi-2.1.1 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 pycares-5.2.0 pycparser-3.11 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiodns",
     "version": "4.0.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiodns-4.0.4-py3-none-any.whl"
    },
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pycares",
     "version": "5.2.0",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5",
     "aiodns": true,
     "brotli": true,
     "c_http_parser": true,
     "accept_encoding": "gzip, deflate, br, zstd",
     "content_encoding": "br"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "urllib3 (zstd)",
   "tool": "pip",
   "specs": [
    "urllib3"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/urllib3-zstd-/report.json urllib3",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting urllib3",
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Installing collected packages: urllib3",
     "Successfully installed urllib3-2.8.0"
    ]
   },
   "installed": [
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "urllib3": "2.8.0",
     "brotli": false,
     "brotlicffi": false,
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip,deflate,zstd",
     "content_encoding": "zstd"
    },
    "seconds": 0.1
   },
   "environment": "no-compiler"
  },
  {
   "case": "aiohttp (zstd)",
   "tool": "pip",
   "specs": [
    "aiohttp"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-zstd-/report.json aiohttp",
    "exit": 0,
    "seconds": 1.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting aiohttp",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp)",
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 129.1 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Installing collected packages: propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, aiosignal, aiohttp",
     "",
     "Successfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5",
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip, deflate, zstd",
     "content_encoding": "zstd"
    },
    "seconds": 0.2
   },
   "environment": "no-compiler"
  },
  {
   "case": "zope.interface",
   "tool": "pip",
   "specs": [
    "zope.interface"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/zope-interface/report.json zope.interface",
    "exit": 0,
    "seconds": 2.0,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting zope.interface",
     "  Downloading zope_interface-8.6.tar.gz (257 kB)",
     "  Installing build dependencies: started",
     "  Installing build dependencies: finished with status 'done'",
     "  Getting requirements to build wheel: started",
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Building wheels for collected packages: zope.interface",
     "  Building wheel for zope.interface (pyproject.toml): started",
     "  Building wheel for zope.interface (pyproject.toml): finished with status 'done'",
     "  Created wheel for zope.interface: filename=zope_interface-8.6-cp315-cp315-linux_x86_64.whl size=199715 sha256=a7d90b05db67cc5eb42f6463ba1dd3655b2e6228ab403b23be333144cdd0e67a",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-k7acbpzl/wheels/ce/a0/4c/0a48d6e726dc59398e5eea2218e876df7b9be39046cd727577",
     "Successfully built zope.interface",
     "Installing collected packages: zope.interface",
     "Successfully installed zope.interface-8.6"
    ]
   },
   "installed": [
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "zope_interface-8.6.tar.gz"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "zope.interface": "8.6",
     "c_speedups": false,
     "providedBy_ns_per_call": 271.0
    },
    "seconds": 0.4
   },
   "environment": "no-compiler"
  },
  {
   "case": "zope.interface",
   "tool": "uv",
   "specs": [
    "zope.interface"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/zope-interface/venv/bin/python zope.interface",
    "exit": 0,
    "seconds": 1.0,
    "key_lines": [],
    "uv_built": [
     "zope-interface==8.6"
    ],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/zope-interface/venv",
     "Resolved 1 package in 104ms",
     "   Building zope-interface==8.6",
     "      Built zope-interface==8.6",
     "Prepared 1 package in 784ms",
     "Installed 1 package in 1ms",
     " + zope-interface==8.6"
    ]
   },
   "installed": [
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "zope.interface": "8.6",
     "c_speedups": false,
     "providedBy_ns_per_call": 271.7
    },
    "seconds": 0.4
   },
   "environment": "no-compiler"
  },
  {
   "case": "scrapy",
   "tool": "pip",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/scrapy/report.json scrapy",
    "exit": 0,
    "seconds": 27.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
     "Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 308.3 MB/s  0:00:00",
     "Downloading parsel-1.12.1-py3-none-any.whl (15 kB)",
     "Downloading platformdirs-4.13.0-py3-none-any.whl (32 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Downloading protego-0.7.0-py3-none-any.whl (13 kB)",
     "Downloading PyDispatcher-2.0.7-py3-none-any.whl (12 kB)",
     "Downloading pyopenssl-26.4.0-py3-none-any.whl (56 kB)",
     "Downloading queuelib-1.10.0-py3-none-any.whl (16 kB)",
     "Downloading service_identity-26.1.0-py3-none-any.whl (11 kB)",
     "Downloading twisted-26.4.0-py3-none-any.whl (3.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 378.0 MB/s  0:00:00",
     "Downloading automat-25.4.16-py3-none-any.whl (42 kB)",
     "Downloading constantly-23.10.4-py3-none-any.whl (13 kB)",
     "Downloading hyperlink-21.0.0-py2.py3-none-any.whl (74 kB)",
     "Downloading incremental-24.11.0-py3-none-any.whl (21 kB)",
     "Downloading packaging-26.3-py3-none-any.whl (129 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Downloading w3lib-2.5.0-py3-none-any.whl (37 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Downloading tldextract-5.4.0-py3-none-any.whl (107 kB)",
     "Downloading filelock-4.1.1-py3-none-any.whl (132 kB)",
     "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading requests_file-3.0.1-py2.py3-none-any.whl (4.5 kB)",
     "Building wheels for collected packages: brotli, zope-interface",
     "  Building wheel for brotli (pyproject.toml): started",
     "  Building wheel for brotli (pyproject.toml): finished with status 'done'",
     "  Created wheel for brotli: filename=brotli-1.2.0-cp315-cp315-linux_x86_64.whl size=1487238 sha256=ef926882819246aa8e6dd19d3790fb88e14c5da3e97c471b9e75dd4201d9bb15",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-wvnuwysq/wheels/d0/be/19/9cc260cbbbc5d79cffd025dc85bbb9f1544d7e71ac5fb86e7a",
     "  Building wheel for zope-interface (pyproject.toml): started",
     "  Building wheel for zope-interface (pyproject.toml): finished with status 'done'",
     "  Created wheel for zope-interface: filename=zope_interface-8.6-cp315-cp315-linux_x86_64.whl size=264585 sha256=1f2329c1df714c15f9e372e88aabd8f0768962e283467ffad488825576e4022d",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-wvnuwysq/wheels/ce/a0/4c/0a48d6e726dc59398e5eea2218e876df7b9be39046cd727577",
     "Successfully built brotli zope-interface",
     "Installing collected packages: pydispatcher, brotli, zope-interface, w3lib, urllib3, typing-extensions, queuelib, pycparser, protego, propcache, platformdirs, packaging, multidict, lxml, jmespath, itemadapter, idna, frozenlist, filelock, defusedxml, cssselect, constantly, charset-normalizer, certifi, automat, attrs, aiohappyeyeballs, yarl, requests, parsel, incremental, hyperlink, cffi, aiosignal, twisted, requests-file, itemloaders, cryptography, aiohttp, tldextract, service-identity, pyopenssl, scrapy",
     "",
     "Successfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 automat-25.4.16 brotli-1.2.0 certifi-2026.7.22 cffi-2.1.1 charset-normalizer-3.5.2 constantly-23.10.4 cryptography-50.0.2 cssselect-1.6.0 defusedxml-0.7.1 filelock-4.1.1 frozenlist-1.8.0 hyperlink-21.0.0 idna-3.20 incremental-24.11.0 itemadapter-0.13.1 itemloaders-1.5.0 jmespath-1.1.0 lxml-6.1.3 multidict-7.1.0 packaging-26.3 parsel-1.12.1 platformdirs-4.13.0 propcache-0.5.4 protego-0.7.0 pycparser-3.11 pydispatcher-2.0.7 pyopenssl-26.4.0 queuelib-1.10.0 requests-2.34.2 requests-file-3.0.1 scrapy-2.19.0 service-identity-26.1.0 tldextract-5.4.0 twisted-26.4.0 typing-extensions-4.16.0 urllib3-2.8.0 w3lib-2.5.0 yarl-1.25.1 zope-interface-8.6"
    ]
   },
   "installed": [
    {
     "name": "PyDispatcher",
     "version": "2.0.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "PyDispatcher-2.0.7-py3-none-any.whl"
    },
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "Automat",
     "version": "25.4.16",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "automat-25.4.16-py3-none-any.whl"
    },
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "brotli-1.2.0.tar.gz"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "constantly",
     "version": "23.10.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "constantly-23.10.4-py3-none-any.whl"
    },
    {
     "name": "cryptography",
     "version": "50.0.2",
     "tags": [
      "cp315-abi3-manylinux_2_34_x86_64",
      "cp315-abi3t-manylinux_2_34_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl"
    },
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "cssselect-1.6.0-py3-none-any.whl"
    },
    {
     "name": "defusedxml",
     "version": "0.7.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "defusedxml-0.7.1-py2.py3-none-any.whl"
    },
    {
     "name": "filelock",
     "version": "4.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "filelock-4.1.1-py3-none-any.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "hyperlink",
     "version": "21.0.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "hyperlink-21.0.0-py2.py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "Incremental",
     "version": "24.11.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "incremental-24.11.0-py3-none-any.whl"
    },
    {
     "name": "itemadapter",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "itemadapter-0.13.1-py3-none-any.whl"
    },
    {
     "name": "itemloaders",
     "version": "1.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "itemloaders-1.5.0-py3-none-any.whl"
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "jmespath-1.1.0-py3-none-any.whl"
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "packaging",
     "version": "26.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "packaging-26.3-py3-none-any.whl"
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "parsel-1.12.1-py3-none-any.whl"
    },
    {
     "name": "platformdirs",
     "version": "4.13.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "platformdirs-4.13.0-py3-none-any.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "Protego",
     "version": "0.7.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "protego-0.7.0-py3-none-any.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "pyOpenSSL",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pyopenssl-26.4.0-py3-none-any.whl"
    },
    {
     "name": "queuelib",
     "version": "1.10.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "queuelib-1.10.0-py3-none-any.whl"
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests-2.34.2-py3-none-any.whl"
    },
    {
     "name": "requests-file",
     "version": "3.0.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests_file-3.0.1-py2.py3-none-any.whl"
    },
    {
     "name": "Scrapy",
     "version": "2.19.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "scrapy-2.19.0-py3-none-any.whl"
    },
    {
     "name": "service-identity",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "service_identity-26.1.0-py3-none-any.whl"
    },
    {
     "name": "tldextract",
     "version": "5.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "tldextract-5.4.0-py3-none-any.whl"
    },
    {
     "name": "Twisted",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "twisted-26.4.0-py3-none-any.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "w3lib-2.5.0-py3-none-any.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "zope_interface-8.6.tar.gz"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "scrapy": "2.19.0",
     "pages": {
      "br": "hello from the lab",
      "accept_encoding": "gzip, deflate, br, zstd",
      "gzip": "hello from the lab",
      "/": "hello from the lab"
     },
     "zope_interface_c_speedups": true,
     "brotli": true
    },
    "seconds": 0.6
   },
   "environment": "compiler"
  },
  {
   "case": "requests[socks]",
   "tool": "pip",
   "specs": [
    "requests[socks]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/requests-socks-/report.json requests[socks]",
    "exit": 0,
    "seconds": 0.9,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting requests[socks]",
     "  Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)",
     "Collecting charset_normalizer<4,>=2 (from requests[socks])",
     "  Downloading charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (46 kB)",
     "Collecting idna<4,>=2.5 (from requests[socks])",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting urllib3<3,>=1.26 (from requests[socks])",
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Collecting certifi>=2023.5.7 (from requests[socks])",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting PySocks!=1.5.7,>=1.5.6 (from requests[socks])",
     "  Downloading PySocks-1.7.1-py3-none-any.whl.metadata (13 kB)",
     "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
     "Downloading charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (257 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)",
     "Installing collected packages: urllib3, PySocks, idna, charset_normalizer, certifi, requests",
     "",
     "Successfully installed PySocks-1.7.1 certifi-2026.7.22 charset_normalizer-3.5.2 idna-3.20 requests-2.34.2 urllib3-2.8.0"
    ]
   },
   "installed": [
    {
     "name": "PySocks",
     "version": "1.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "PySocks-1.7.1-py3-none-any.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests-2.34.2-py3-none-any.whl"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "requests": "2.34.2",
     "pysocks": true
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "httpx[socks]",
   "tool": "pip",
   "specs": [
    "httpx[socks]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-socks-/report.json httpx[socks]",
    "exit": 0,
    "seconds": 0.9,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting httpx[socks]",
     "  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)",
     "Collecting anyio (from httpx[socks])",
     "  Downloading anyio-4.15.1-py3-none-any.whl.metadata (4.7 kB)",
     "Collecting certifi (from httpx[socks])",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting httpcore==1.* (from httpx[socks])",
     "  Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)",
     "Collecting idna (from httpx[socks])",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting socksio==1.* (from httpx[socks])",
     "  Downloading socksio-1.0.0-py3-none-any.whl.metadata (6.1 kB)",
     "Collecting h11>=0.16 (from httpcore==1.*->httpx[socks])",
     "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)",
     "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)",
     "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)",
     "Downloading socksio-1.0.0-py3-none-any.whl (12 kB)",
     "Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
     "Downloading anyio-4.15.1-py3-none-any.whl (132 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Installing collected packages: socksio, idna, h11, certifi, httpcore, anyio, httpx",
     "",
     "Successfully installed anyio-4.15.1 certifi-2026.7.22 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.20 socksio-1.0.0"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-4.15.1-py3-none-any.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.16.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-1.0.9-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.28.1-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "socksio",
     "version": "1.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "socksio-1.0.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "socksio": true
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "httpx[brotli]",
   "tool": "pip",
   "specs": [
    "httpx[brotli]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-brotli-/report.json httpx[brotli]",
    "exit": 0,
    "seconds": 20.0,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting httpx[brotli]",
     "  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)",
     "Collecting anyio (from httpx[brotli])",
     "  Downloading anyio-4.15.1-py3-none-any.whl.metadata (4.7 kB)",
     "Collecting certifi (from httpx[brotli])",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting httpcore==1.* (from httpx[brotli])",
     "  Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)",
     "Collecting idna (from httpx[brotli])",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting brotli (from httpx[brotli])",
     "  Downloading brotli-1.2.0.tar.gz (7.4 MB)",
     "     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4/7.4 MB 209.6 MB/s  0:00:00",
     "  Installing build dependencies: started",
     "  Installing build dependencies: finished with status 'done'",
     "  Getting requirements to build wheel: started",
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Collecting h11>=0.16 (from httpcore==1.*->httpx[brotli])",
     "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)",
     "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)",
     "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)",
     "Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
     "Downloading anyio-4.15.1-py3-none-any.whl (132 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Building wheels for collected packages: brotli",
     "  Building wheel for brotli (pyproject.toml): started",
     "  Building wheel for brotli (pyproject.toml): finished with status 'done'",
     "  Created wheel for brotli: filename=brotli-1.2.0-cp315-cp315-linux_x86_64.whl size=1487235 sha256=cb9120ae1315eb4f1b24874f4ed8a180f14e39d1c047acac850b2a74761dc3b1",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-4jevuvxq/wheels/d0/be/19/9cc260cbbbc5d79cffd025dc85bbb9f1544d7e71ac5fb86e7a",
     "Successfully built brotli",
     "Installing collected packages: brotli, idna, h11, certifi, httpcore, anyio, httpx",
     "",
     "Successfully installed anyio-4.15.1 brotli-1.2.0 certifi-2026.7.22 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.20"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-4.15.1-py3-none-any.whl"
    },
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "brotli-1.2.0.tar.gz"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.16.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-1.0.9-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.28.1-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "brotli": true,
     "brotlicffi": false,
     "accept_encoding": "gzip, deflate, br",
     "content_encoding": "br"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "httpx[zstd]",
   "tool": "pip",
   "specs": [
    "httpx[zstd]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-zstd-/report.json httpx[zstd]",
    "exit": 0,
    "seconds": 63.3,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting httpx[zstd]",
     "  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)",
     "Collecting anyio (from httpx[zstd])",
     "  Downloading anyio-4.15.1-py3-none-any.whl.metadata (4.7 kB)",
     "Collecting certifi (from httpx[zstd])",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting httpcore==1.* (from httpx[zstd])",
     "  Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)",
     "Collecting idna (from httpx[zstd])",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting zstandard>=0.18.0 (from httpx[zstd])",
     "  Downloading zstandard-0.25.0.tar.gz (711 kB)",
     "     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 711.5/711.5 kB 52.8 MB/s  0:00:00",
     "  Installing build dependencies: started",
     "  Installing build dependencies: finished with status 'done'",
     "  Getting requirements to build wheel: started",
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Collecting h11>=0.16 (from httpcore==1.*->httpx[zstd])",
     "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)",
     "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)",
     "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)",
     "Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
     "Downloading anyio-4.15.1-py3-none-any.whl (132 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Building wheels for collected packages: zstandard",
     "  Building wheel for zstandard (pyproject.toml): started",
     "  Building wheel for zstandard (pyproject.toml): still running...",
     "  Building wheel for zstandard (pyproject.toml): finished with status 'done'",
     "  Created wheel for zstandard: filename=zstandard-0.25.0-cp315-cp315-linux_x86_64.whl size=5403837 sha256=7626a44b59033f1d58a9ba3f9382d3c532281c36fb324d7340513c40d2a90ba2",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-wspdtbuu/wheels/99/8c/5d/9f769c2a8f16366c73538047b229fde6f73327edaf841897eb",
     "Successfully built zstandard",
     "Installing collected packages: zstandard, idna, h11, certifi, httpcore, anyio, httpx",
     "",
     "Successfully installed anyio-4.15.1 certifi-2026.7.22 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.20 zstandard-0.25.0"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-4.15.1-py3-none-any.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.16.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-1.0.9-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.28.1-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "zstandard",
     "version": "0.25.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "zstandard-0.25.0.tar.gz"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "zstandard": true,
     "brotlicffi": false,
     "accept_encoding": "gzip, deflate, zstd",
     "content_encoding": "zstd"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp",
   "tool": "pip",
   "specs": [
    "aiohttp"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp/report.json aiohttp",
    "exit": 0,
    "seconds": 1.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting aiohttp",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp)",
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 130.2 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Installing collected packages: propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, aiosignal, aiohttp",
     "",
     "Successfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp[speedups]",
   "tool": "pip",
   "specs": [
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-speedups-/report.json aiohttp[speedups]",
    "exit": 0,
    "seconds": 21.1,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting Brotli>=1.2 (from aiohttp[speedups])",
     "  Downloading brotli-1.2.0.tar.gz (7.4 MB)",
     "     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4/7.4 MB 276.8 MB/s  0:00:00",
     "  Installing build dependencies: started",
     "  Installing build dependencies: finished with status 'done'",
     "  Getting requirements to build wheel: started",
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp[speedups])",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting pycares<6,>=5.0.0 (from aiodns>=3.3.0->aiohttp[speedups])",
     "  Downloading pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (4.1 kB)",
     "Collecting cffi>=2.0.0b1 (from pycares<6,>=5.0.0->aiodns>=3.3.0->aiohttp[speedups])",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=2.0.0b1->pycares<6,>=5.0.0->aiodns>=3.3.0->aiohttp[speedups])",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 451.9 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiodns-4.0.4-py3-none-any.whl (12 kB)",
     "Downloading pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (225 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Building wheels for collected packages: Brotli",
     "  Building wheel for Brotli (pyproject.toml): started",
     "  Building wheel for Brotli (pyproject.toml): finished with status 'done'",
     "  Created wheel for Brotli: filename=brotli-1.2.0-cp315-cp315-linux_x86_64.whl size=1487235 sha256=b90c660ab3e89d479175aef8abd01092ce51ed60c1b8de0df3d194f932fa2226",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-kil7n19i/wheels/d0/be/19/9cc260cbbbc5d79cffd025dc85bbb9f1544d7e71ac5fb86e7a",
     "Successfully built Brotli",
     "Installing collected packages: Brotli, pycparser, propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, cffi, aiosignal, pycares, aiohttp, aiodns",
     "",
     "Successfully installed Brotli-1.2.0 aiodns-4.0.4 aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 cffi-2.1.1 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 pycares-5.2.0 pycparser-3.11 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiodns",
     "version": "4.0.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiodns-4.0.4-py3-none-any.whl"
    },
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "brotli-1.2.0.tar.gz"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pycares",
     "version": "5.2.0",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5",
     "aiodns": true,
     "brotli": true,
     "c_http_parser": true,
     "accept_encoding": "gzip, deflate, br, zstd",
     "content_encoding": "br"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp-socks",
   "tool": "pip",
   "specs": [
    "aiohttp-socks"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-socks/report.json aiohttp-socks",
    "exit": 0,
    "seconds": 1.8,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting aiohttp-socks",
     "  Downloading aiohttp_socks-0.12.0-py3-none-any.whl.metadata (3.5 kB)",
     "Collecting aiohttp>=3.10.0 (from aiohttp-socks)",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting python-socks<4.0.0,>=2.4.3 (from python-socks[asyncio]<4.0.0,>=2.4.3->aiohttp-socks)",
     "  Downloading python_socks-3.1.1-py3-none-any.whl.metadata (8.9 kB)",
     "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp>=3.10.0->aiohttp-socks)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Downloading aiohttp_socks-0.12.0-py3-none-any.whl (10 kB)",
     "Downloading python_socks-3.1.1-py3-none-any.whl (49 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 121.7 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Installing collected packages: python-socks, propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, aiosignal, aiohttp, aiohttp-socks",
     "",
     "Successfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiohttp-socks-0.12.0 aiosignal-1.4.0 attrs-26.1.0 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 python-socks-3.1.1 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiohttp_socks",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohttp_socks-0.12.0-py3-none-any.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "python-socks",
     "version": "3.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "python_socks-3.1.1-py3-none-any.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp_socks": "0.12.0"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "urllib3[brotli]",
   "tool": "pip",
   "specs": [
    "urllib3[brotli]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/urllib3-brotli-/report.json urllib3[brotli]",
    "exit": 0,
    "seconds": 19.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting urllib3[brotli]",
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Collecting brotli>=1.2.0 (from urllib3[brotli])",
     "  Downloading brotli-1.2.0.tar.gz (7.4 MB)",
     "     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4/7.4 MB 237.8 MB/s  0:00:00",
     "  Installing build dependencies: started",
     "  Installing build dependencies: finished with status 'done'",
     "  Getting requirements to build wheel: started",
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Building wheels for collected packages: brotli",
     "  Building wheel for brotli (pyproject.toml): started",
     "  Building wheel for brotli (pyproject.toml): finished with status 'done'",
     "  Created wheel for brotli: filename=brotli-1.2.0-cp315-cp315-linux_x86_64.whl size=1487235 sha256=7b59696cd3bbd9d35aa3bd1bdcf8643a32dc707c21152d3e43bfc53ace637952",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-x16qycl1/wheels/d0/be/19/9cc260cbbbc5d79cffd025dc85bbb9f1544d7e71ac5fb86e7a",
     "Successfully built brotli",
     "Installing collected packages: brotli, urllib3",
     "",
     "Successfully installed brotli-1.2.0 urllib3-2.8.0"
    ]
   },
   "installed": [
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "brotli-1.2.0.tar.gz"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "urllib3": "2.8.0",
     "brotli": true,
     "brotlicffi": false,
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip,deflate,br,zstd",
     "content_encoding": "br"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "curl_cffi",
   "tool": "pip",
   "specs": [
    "curl_cffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/curl-cffi/report.json curl_cffi",
    "exit": 0,
    "seconds": 1.0,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting curl_cffi",
     "  Downloading curl_cffi-0.16.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (17 kB)",
     "Collecting cffi>=2.0.0 (from curl_cffi)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting certifi>=2024.2.2 (from curl_cffi)",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=2.0.0->curl_cffi)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading curl_cffi-0.16.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.5/13.5 MB 216.8 MB/s  0:00:00",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: pycparser, certifi, cffi, curl_cffi",
     "",
     "Successfully installed certifi-2026.7.22 cffi-2.1.1 curl_cffi-0.16.3 pycparser-3.11"
    ]
   },
   "installed": [
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "curl_cffi",
     "version": "0.16.3",
     "tags": [
      "cp310-abi3-manylinux_2_17_x86_64",
      "cp310-abi3-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "curl_cffi-0.16.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "curl_cffi": "0.16.3"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "playwright",
   "tool": "pip",
   "specs": [
    "playwright"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/playwright/report.json playwright",
    "exit": 0,
    "seconds": 1.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting playwright",
     "  Downloading playwright-1.64.0-py3-none-manylinux1_x86_64.whl.metadata (3.3 kB)",
     "Collecting pyee<15,>=13 (from playwright)",
     "  Downloading pyee-14.0.0-py3-none-any.whl.metadata (1.8 kB)",
     "Collecting greenlet<4.0.0,>=3.1.1 (from playwright)",
     "  Downloading greenlet-3.5.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.8 kB)",
     "Collecting typing-extensions (from pyee<15,>=13->playwright)",
     "  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)",
     "Downloading playwright-1.64.0-py3-none-manylinux1_x86_64.whl (48.3 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.3/48.3 MB 593.8 MB/s  0:00:00",
     "Downloading greenlet-3.5.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (675 kB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 675.9/675.9 kB 1.1 GB/s  0:00:00",
     "Downloading pyee-14.0.0-py3-none-any.whl (15 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Installing collected packages: typing-extensions, greenlet, pyee, playwright",
     "",
     "Successfully installed greenlet-3.5.6 playwright-1.64.0 pyee-14.0.0 typing-extensions-4.16.0"
    ]
   },
   "installed": [
    {
     "name": "greenlet",
     "version": "3.5.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "greenlet-3.5.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "playwright",
     "version": "1.64.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "playwright-1.64.0-py3-none-manylinux1_x86_64.whl"
    },
    {
     "name": "pyee",
     "version": "14.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pyee-14.0.0-py3-none-any.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "driver": "Version 1.64.0"
    },
    "seconds": 0.5
   },
   "environment": "compiler"
  },
  {
   "case": "lxml",
   "tool": "pip",
   "specs": [
    "lxml"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/lxml/report.json lxml",
    "exit": 0,
    "seconds": 0.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting lxml",
     "  Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.3 kB)",
     "Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 184.7 MB/s  0:00:00",
     "Installing collected packages: lxml",
     "Successfully installed lxml-6.1.3"
    ]
   },
   "installed": [
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "lxml": "6.1.3"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "beautifulsoup4",
   "tool": "pip",
   "specs": [
    "beautifulsoup4"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/beautifulsoup4/report.json beautifulsoup4",
    "exit": 0,
    "seconds": 0.6,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting beautifulsoup4",
     "  Downloading beautifulsoup4-4.15.0-py3-none-any.whl.metadata (3.8 kB)",
     "Collecting soupsieve>=1.6.1 (from beautifulsoup4)",
     "  Downloading soupsieve-3.0.3-py3-none-any.whl.metadata (4.4 kB)",
     "Collecting typing-extensions>=4.0.0 (from beautifulsoup4)",
     "  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)",
     "Downloading beautifulsoup4-4.15.0-py3-none-any.whl (109 kB)",
     "Downloading soupsieve-3.0.3-py3-none-any.whl (41 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Installing collected packages: typing-extensions, soupsieve, beautifulsoup4",
     "",
     "Successfully installed beautifulsoup4-4.15.0 soupsieve-3.0.3 typing-extensions-4.16.0"
    ]
   },
   "installed": [
    {
     "name": "beautifulsoup4",
     "version": "4.15.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "beautifulsoup4-4.15.0-py3-none-any.whl"
    },
    {
     "name": "soupsieve",
     "version": "3.0.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "soupsieve-3.0.3-py3-none-any.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "bs4": "4.15.0"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "parsel",
   "tool": "pip",
   "specs": [
    "parsel"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/parsel/report.json parsel",
    "exit": 0,
    "seconds": 0.9,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting parsel",
     "  Downloading parsel-1.12.1-py3-none-any.whl.metadata (4.0 kB)",
     "Collecting cssselect>=1.2.0 (from parsel)",
     "  Downloading cssselect-1.6.0-py3-none-any.whl.metadata (2.4 kB)",
     "Collecting jmespath>=1.0.0 (from parsel)",
     "  Downloading jmespath-1.1.0-py3-none-any.whl.metadata (7.6 kB)",
     "Collecting lxml>=5.1.0 (from parsel)",
     "  Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.3 kB)",
     "Collecting w3lib>=1.19.0 (from parsel)",
     "  Downloading w3lib-2.5.0-py3-none-any.whl.metadata (2.3 kB)",
     "Downloading parsel-1.12.1-py3-none-any.whl (15 kB)",
     "Downloading cssselect-1.6.0-py3-none-any.whl (22 kB)",
     "Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
     "Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 206.7 MB/s  0:00:00",
     "Downloading w3lib-2.5.0-py3-none-any.whl (37 kB)",
     "Installing collected packages: w3lib, lxml, jmespath, cssselect, parsel",
     "",
     "Successfully installed cssselect-1.6.0 jmespath-1.1.0 lxml-6.1.3 parsel-1.12.1 w3lib-2.5.0"
    ]
   },
   "installed": [
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "cssselect-1.6.0-py3-none-any.whl"
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "jmespath-1.1.0-py3-none-any.whl"
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "parsel-1.12.1-py3-none-any.whl"
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "w3lib-2.5.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "parsel": "1.12.1"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "selectolax",
   "tool": "pip",
   "specs": [
    "selectolax"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/selectolax/report.json selectolax",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting selectolax",
     "  Downloading selectolax-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.9 kB)",
     "Downloading selectolax-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 97.3 MB/s  0:00:00",
     "Installing collected packages: selectolax",
     "Successfully installed selectolax-1.0.0"
    ]
   },
   "installed": [
    {
     "name": "selectolax",
     "version": "1.0.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "selectolax-1.0.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "selectolax": "1.0.0"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "pandas",
   "tool": "pip",
   "specs": [
    "pandas"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/pandas/report.json pandas",
    "exit": 0,
    "seconds": 6.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting pandas",
     "  Downloading pandas-3.0.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB)",
     "Collecting numpy>=2.3.3 (from pandas)",
     "  Downloading numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB)",
     "Collecting python-dateutil>=2.8.2 (from pandas)",
     "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)",
     "Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas)",
     "  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)",
     "Downloading pandas-3.0.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (10.8 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.8/10.8 MB 260.4 MB/s  0:00:00",
     "Downloading numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.7 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.7/16.7 MB 374.4 MB/s  0:00:00",
     "Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)",
     "Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)",
     "Installing collected packages: six, numpy, python-dateutil, pandas",
     "",
     "Successfully installed numpy-2.5.4 pandas-3.0.6 python-dateutil-2.9.0.post0 six-1.17.0"
    ]
   },
   "installed": [
    {
     "name": "numpy",
     "version": "2.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_27_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "numpy-2.5.4-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pandas",
     "version": "3.0.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "pandas-3.0.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "python-dateutil",
     "version": "2.9.0.post0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "python_dateutil-2.9.0.post0-py2.py3-none-any.whl"
    },
    {
     "name": "six",
     "version": "1.17.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "six-1.17.0-py2.py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pandas": "3.0.6"
    },
    "seconds": 0.3
   },
   "environment": "compiler"
  },
  {
   "case": "pydantic",
   "tool": "pip",
   "specs": [
    "pydantic"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/pydantic/report.json pydantic",
    "exit": 0,
    "seconds": 1.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting pydantic",
     "  Downloading pydantic-2.14.1-py3-none-any.whl.metadata (133 kB)",
     "Collecting annotated-types>=0.6.0 (from pydantic)",
     "  Downloading annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB)",
     "Collecting pydantic-core==2.50.1 (from pydantic)",
     "  Downloading pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB)",
     "Collecting typing-extensions>=4.16.0 (from pydantic)",
     "  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)",
     "Collecting typing-inspection>=0.4.4 (from pydantic)",
     "  Downloading typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB)",
     "Downloading pydantic-2.14.1-py3-none-any.whl (488 kB)",
     "Downloading pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 185.6 MB/s  0:00:00",
     "Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB)",
     "Installing collected packages: typing-extensions, annotated-types, typing-inspection, pydantic-core, pydantic",
     "",
     "Successfully installed annotated-types-0.8.0 pydantic-2.14.1 pydantic-core-2.50.1 typing-extensions-4.16.0 typing-inspection-0.4.4"
    ]
   },
   "installed": [
    {
     "name": "annotated-types",
     "version": "0.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "annotated_types-0.8.0-py3-none-any.whl"
    },
    {
     "name": "pydantic",
     "version": "2.14.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pydantic-2.14.1-py3-none-any.whl"
    },
    {
     "name": "pydantic_core",
     "version": "2.50.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    },
    {
     "name": "typing-inspection",
     "version": "0.4.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_inspection-0.4.4-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pydantic": "2.14.1",
     "pydantic_core": "2.50.1"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "orjson",
   "tool": "pip",
   "specs": [
    "orjson"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/orjson/report.json orjson",
    "exit": 0,
    "seconds": 0.6,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting orjson",
     "  Downloading orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl.metadata (42 kB)",
     "Downloading orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl (130 kB)",
     "Installing collected packages: orjson",
     "Successfully installed orjson-3.13.0"
    ]
   },
   "installed": [
    {
     "name": "orjson",
     "version": "3.13.0",
     "tags": [
      "cp315-cp315-manylinux_2_39_x86_64"
     ],
     "origin": "binary wheel",
     "file": "orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "orjson": "3.13.0"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "tenacity",
   "tool": "pip",
   "specs": [
    "tenacity"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/tenacity/report.json tenacity",
    "exit": 0,
    "seconds": 0.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting tenacity",
     "  Downloading tenacity-9.2.1-py3-none-any.whl.metadata (1.4 kB)",
     "Downloading tenacity-9.2.1-py3-none-any.whl (32 kB)",
     "Installing collected packages: tenacity",
     "Successfully installed tenacity-9.2.1"
    ]
   },
   "installed": [
    {
     "name": "tenacity",
     "version": "9.2.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "tenacity-9.2.1-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "attempts": 3
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "scrapy",
   "tool": "uv",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/scrapy/venv/bin/python scrapy",
    "exit": 0,
    "seconds": 19.2,
    "key_lines": [],
    "uv_built": [
     "brotli==1.2.0",
     "zope-interface==8.6"
    ],
    "output_tail": [
     " + attrs==26.1.0",
     " + automat==25.4.16",
     " + brotli==1.2.0",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + charset-normalizer==3.5.2",
     " + constantly==23.10.4",
     " + cryptography==50.0.2",
     " + cssselect==1.6.0",
     " + defusedxml==0.7.1",
     " + filelock==4.1.1",
     " + frozenlist==1.8.0",
     " + hyperlink==21.0.0",
     " + idna==3.20",
     " + incremental==24.11.0",
     " + itemadapter==0.13.1",
     " + itemloaders==1.5.0",
     " + jmespath==1.1.0",
     " + lxml==6.1.3",
     " + multidict==7.1.0",
     " + packaging==26.3",
     " + parsel==1.12.1",
     " + platformdirs==4.13.0",
     " + propcache==0.5.4",
     " + protego==0.7.0",
     " + pycparser==3.11",
     " + pydispatcher==2.0.7",
     " + pyopenssl==26.4.0",
     " + queuelib==1.10.0",
     " + requests==2.34.2",
     " + requests-file==3.0.1",
     " + scrapy==2.19.0",
     " + service-identity==26.1.0",
     " + tldextract==5.4.0",
     " + twisted==26.4.0",
     " + typing-extensions==4.16.0",
     " + urllib3==2.8.0",
     " + w3lib==2.5.0",
     " + yarl==1.25.1",
     " + zope-interface==8.6"
    ]
   },
   "installed": [
    {
     "name": "PyDispatcher",
     "version": "2.0.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Automat",
     "version": "25.4.16",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "constantly",
     "version": "23.10.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cryptography",
     "version": "50.0.2",
     "tags": [
      "cp315-abi3-manylinux_2_34_x86_64",
      "cp315-abi3t-manylinux_2_34_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "defusedxml",
     "version": "0.7.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "filelock",
     "version": "4.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "hyperlink",
     "version": "21.0.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Incremental",
     "version": "24.11.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "itemadapter",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "itemloaders",
     "version": "1.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "packaging",
     "version": "26.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "platformdirs",
     "version": "4.13.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "Protego",
     "version": "0.7.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pyOpenSSL",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "queuelib",
     "version": "1.10.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests-file",
     "version": "3.0.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Scrapy",
     "version": "2.19.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "service-identity",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "tldextract",
     "version": "5.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Twisted",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "scrapy": "2.19.0",
     "pages": {
      "/": "hello from the lab",
      "accept_encoding": "gzip, deflate, br, zstd",
      "br": "hello from the lab",
      "gzip": "hello from the lab"
     },
     "zope_interface_c_speedups": true,
     "brotli": true
    },
    "seconds": 1.5
   },
   "environment": "compiler"
  },
  {
   "case": "requests[socks]",
   "tool": "uv",
   "specs": [
    "requests[socks]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/requests-socks-/venv/bin/python requests[socks]",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/requests-socks-/venv",
     "Resolved 6 packages in 131ms",
     "Prepared 6 packages in 32ms",
     "Installed 6 packages in 3ms",
     " + certifi==2026.7.22",
     " + charset-normalizer==3.5.2",
     " + idna==3.20",
     " + pysocks==1.7.1",
     " + requests==2.34.2",
     " + urllib3==2.8.0"
    ]
   },
   "installed": [
    {
     "name": "PySocks",
     "version": "1.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "requests": "2.34.2",
     "pysocks": true
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "httpx[socks]",
   "tool": "uv",
   "specs": [
    "httpx[socks]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-socks-/venv/bin/python httpx[socks]",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/httpx-socks-/venv",
     "Resolved 7 packages in 113ms",
     "Prepared 7 packages in 29ms",
     "Installed 7 packages in 3ms",
     " + anyio==4.15.1",
     " + certifi==2026.7.22",
     " + h11==0.16.0",
     " + httpcore==1.0.9",
     " + httpx==0.28.1",
     " + idna==3.20",
     " + socksio==1.0.0"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "socksio",
     "version": "1.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "socksio": true
    },
    "seconds": 0.3
   },
   "environment": "compiler"
  },
  {
   "case": "httpx[brotli]",
   "tool": "uv",
   "specs": [
    "httpx[brotli]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-brotli-/venv/bin/python httpx[brotli]",
    "exit": 0,
    "seconds": 18.9,
    "key_lines": [],
    "uv_built": [
     "brotli==1.2.0"
    ],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/httpx-brotli-/venv",
     "Resolved 7 packages in 111ms",
     "   Building brotli==1.2.0",
     "      Built brotli==1.2.0",
     "Prepared 7 packages in 18.70s",
     "Installed 7 packages in 3ms",
     " + anyio==4.15.1",
     " + brotli==1.2.0",
     " + certifi==2026.7.22",
     " + h11==0.16.0",
     " + httpcore==1.0.9",
     " + httpx==0.28.1",
     " + idna==3.20"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "brotli": true,
     "brotlicffi": false,
     "accept_encoding": "gzip, deflate, br",
     "content_encoding": "br"
    },
    "seconds": 0.3
   },
   "environment": "compiler"
  },
  {
   "case": "httpx[zstd]",
   "tool": "uv",
   "specs": [
    "httpx[zstd]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-zstd-/venv/bin/python httpx[zstd]",
    "exit": 0,
    "seconds": 61.4,
    "key_lines": [],
    "uv_built": [
     "zstandard==0.25.0"
    ],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/httpx-zstd-/venv",
     "Resolved 7 packages in 120ms",
     "   Building zstandard==0.25.0",
     "      Built zstandard==0.25.0",
     "Prepared 7 packages in 1m 01s",
     "Installed 7 packages in 3ms",
     " + anyio==4.15.1",
     " + certifi==2026.7.22",
     " + h11==0.16.0",
     " + httpcore==1.0.9",
     " + httpx==0.28.1",
     " + idna==3.20",
     " + zstandard==0.25.0"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "zstandard",
     "version": "0.25.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "zstandard": true,
     "brotlicffi": false,
     "accept_encoding": "gzip, deflate, zstd",
     "content_encoding": "zstd"
    },
    "seconds": 0.3
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp",
   "tool": "uv",
   "specs": [
    "aiohttp"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/aiohttp/venv/bin/python aiohttp",
    "exit": 0,
    "seconds": 0.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/aiohttp/venv",
     "Resolved 9 packages in 264ms",
     "Downloading aiohttp (1.8MiB)",
     " Downloaded aiohttp",
     "Prepared 9 packages in 53ms",
     "Installed 9 packages in 4ms",
     " + aiohappyeyeballs==2.7.1",
     " + aiohttp==3.14.5",
     " + aiosignal==1.4.0",
     " + attrs==26.1.0",
     " + frozenlist==1.8.0",
     " + idna==3.20",
     " + multidict==7.1.0",
     " + propcache==0.5.4",
     " + yarl==1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5"
    },
    "seconds": 0.3
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp[speedups]",
   "tool": "uv",
   "specs": [
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/aiohttp-speedups-/venv/bin/python aiohttp[speedups]",
    "exit": 0,
    "seconds": 18.8,
    "key_lines": [],
    "uv_built": [
     "brotli==1.2.0"
    ],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/aiohttp-speedups-/venv",
     "Resolved 14 packages in 249ms",
     "Downloading aiohttp (1.8MiB)",
     " Downloaded aiohttp",
     "   Building brotli==1.2.0",
     "      Built brotli==1.2.0",
     "Prepared 14 packages in 18.40s",
     "Installed 14 packages in 5ms",
     " + aiodns==4.0.4",
     " + aiohappyeyeballs==2.7.1",
     " + aiohttp==3.14.5",
     " + aiosignal==1.4.0",
     " + attrs==26.1.0",
     " + brotli==1.2.0",
     " + cffi==2.1.1",
     " + frozenlist==1.8.0",
     " + idna==3.20",
     " + multidict==7.1.0",
     " + propcache==0.5.4",
     " + pycares==5.2.0",
     " + pycparser==3.11",
     " + yarl==1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiodns",
     "version": "4.0.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "pycares",
     "version": "5.2.0",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5",
     "aiodns": true,
     "brotli": true,
     "c_http_parser": true,
     "accept_encoding": "gzip, deflate, br, zstd",
     "content_encoding": "br"
    },
    "seconds": 0.4
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp-socks",
   "tool": "uv",
   "specs": [
    "aiohttp-socks"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/aiohttp-socks/venv/bin/python aiohttp-socks",
    "exit": 0,
    "seconds": 0.3,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/aiohttp-socks/venv",
     "Resolved 11 packages in 218ms",
     "Downloading aiohttp (1.8MiB)",
     " Downloaded aiohttp",
     "Prepared 11 packages in 47ms",
     "Installed 11 packages in 5ms",
     " + aiohappyeyeballs==2.7.1",
     " + aiohttp==3.14.5",
     " + aiohttp-socks==0.12.0",
     " + aiosignal==1.4.0",
     " + attrs==26.1.0",
     " + frozenlist==1.8.0",
     " + idna==3.20",
     " + multidict==7.1.0",
     " + propcache==0.5.4",
     " + python-socks==3.1.1",
     " + yarl==1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "aiohttp_socks",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "python-socks",
     "version": "3.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp_socks": "0.12.0"
    },
    "seconds": 0.3
   },
   "environment": "compiler"
  },
  {
   "case": "urllib3[brotli]",
   "tool": "uv",
   "specs": [
    "urllib3[brotli]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/urllib3-brotli-/venv/bin/python urllib3[brotli]",
    "exit": 0,
    "seconds": 18.5,
    "key_lines": [],
    "uv_built": [
     "brotli==1.2.0"
    ],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/urllib3-brotli-/venv",
     "Resolved 2 packages in 104ms",
     "   Building brotli==1.2.0",
     "      Built brotli==1.2.0",
     "Prepared 2 packages in 18.29s",
     "Installed 2 packages in 1ms",
     " + brotli==1.2.0",
     " + urllib3==2.8.0"
    ]
   },
   "installed": [
    {
     "name": "brotli",
     "version": "1.2.0",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "urllib3": "2.8.0",
     "brotli": true,
     "brotlicffi": false,
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip,deflate,br,zstd",
     "content_encoding": "br"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "curl_cffi",
   "tool": "uv",
   "specs": [
    "curl_cffi"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/curl-cffi/venv/bin/python curl_cffi",
    "exit": 0,
    "seconds": 0.3,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/curl-cffi/venv",
     "Resolved 4 packages in 145ms",
     "Downloading curl-cffi (12.9MiB)",
     " Downloaded curl-cffi",
     "Prepared 4 packages in 111ms",
     "Installed 4 packages in 2ms",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + curl-cffi==0.16.3",
     " + pycparser==3.11"
    ]
   },
   "installed": [
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "curl_cffi",
     "version": "0.16.3",
     "tags": [
      "cp310-abi3-manylinux_2_17_x86_64",
      "cp310-abi3-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "curl_cffi": "0.16.3"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "playwright",
   "tool": "uv",
   "specs": [
    "playwright"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/playwright/venv/bin/python playwright",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/playwright/venv",
     "Resolved 4 packages in 123ms",
     "Downloading playwright (46.0MiB)",
     " Downloaded playwright",
     "Prepared 4 packages in 296ms",
     "Installed 4 packages in 6ms",
     " + greenlet==3.5.6",
     " + playwright==1.64.0",
     " + pyee==14.0.0",
     " + typing-extensions==4.16.0"
    ]
   },
   "installed": [
    {
     "name": "greenlet",
     "version": "3.5.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "playwright",
     "version": "1.64.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pyee",
     "version": "14.0.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "driver": "Version 1.64.0"
    },
    "seconds": 0.6
   },
   "environment": "compiler"
  },
  {
   "case": "lxml",
   "tool": "uv",
   "specs": [
    "lxml"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/lxml/venv/bin/python lxml",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/lxml/venv",
     "Resolved 1 package in 108ms",
     "Downloading lxml (5.0MiB)",
     " Downloaded lxml",
     "Prepared 1 package in 68ms",
     "Installed 1 package in 3ms",
     " + lxml==6.1.3"
    ]
   },
   "installed": [
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "lxml": "6.1.3"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "beautifulsoup4",
   "tool": "uv",
   "specs": [
    "beautifulsoup4"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/beautifulsoup4/venv/bin/python beautifulsoup4",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/beautifulsoup4/venv",
     "Resolved 3 packages in 93ms",
     "Prepared 3 packages in 25ms",
     "Installed 3 packages in 1ms",
     " + beautifulsoup4==4.15.0",
     " + soupsieve==3.0.3",
     " + typing-extensions==4.16.0"
    ]
   },
   "installed": [
    {
     "name": "beautifulsoup4",
     "version": "4.15.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "soupsieve",
     "version": "3.0.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "bs4": "4.15.0"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "parsel",
   "tool": "uv",
   "specs": [
    "parsel"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/parsel/venv/bin/python parsel",
    "exit": 0,
    "seconds": 0.3,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/parsel/venv",
     "Resolved 5 packages in 149ms",
     "Downloading lxml (5.0MiB)",
     " Downloaded lxml",
     "Prepared 5 packages in 69ms",
     "Installed 5 packages in 4ms",
     " + cssselect==1.6.0",
     " + jmespath==1.1.0",
     " + lxml==6.1.3",
     " + parsel==1.12.1",
     " + w3lib==2.5.0"
    ]
   },
   "installed": [
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "parsel": "1.12.1"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "selectolax",
   "tool": "uv",
   "specs": [
    "selectolax"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/selectolax/venv/bin/python selectolax",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/selectolax/venv",
     "Resolved 1 package in 103ms",
     "Downloading selectolax (1.4MiB)",
     " Downloaded selectolax",
     "Prepared 1 package in 39ms",
     "Installed 1 package in 1ms",
     " + selectolax==1.0.0"
    ]
   },
   "installed": [
    {
     "name": "selectolax",
     "version": "1.0.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "selectolax": "1.0.0"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "pandas",
   "tool": "uv",
   "specs": [
    "pandas"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/pandas/venv/bin/python pandas",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/pandas/venv",
     "Resolved 4 packages in 183ms",
     "Downloading numpy (15.9MiB)",
     "Downloading pandas (10.3MiB)",
     " Downloaded pandas",
     " Downloaded numpy",
     "Prepared 4 packages in 193ms",
     "Installed 4 packages in 22ms",
     " + numpy==2.5.4",
     " + pandas==3.0.6",
     " + python-dateutil==2.9.0.post0",
     " + six==1.17.0"
    ]
   },
   "installed": [
    {
     "name": "numpy",
     "version": "2.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_27_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "pandas",
     "version": "3.0.6",
     "tags": [
      "cp315-cp315-manylinux_2_24_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "python-dateutil",
     "version": "2.9.0.post0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "six",
     "version": "1.17.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pandas": "3.0.6"
    },
    "seconds": 1.3
   },
   "environment": "compiler"
  },
  {
   "case": "pydantic",
   "tool": "uv",
   "specs": [
    "pydantic"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/pydantic/venv/bin/python pydantic",
    "exit": 0,
    "seconds": 0.4,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/pydantic/venv",
     "Resolved 5 packages in 247ms",
     "Downloading pydantic-core (2.1MiB)",
     " Downloaded pydantic-core",
     "Prepared 5 packages in 48ms",
     "Installed 5 packages in 2ms",
     " + annotated-types==0.8.0",
     " + pydantic==2.14.1",
     " + pydantic-core==2.50.1",
     " + typing-extensions==4.16.0",
     " + typing-inspection==0.4.4"
    ]
   },
   "installed": [
    {
     "name": "annotated-types",
     "version": "0.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pydantic",
     "version": "2.14.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pydantic_core",
     "version": "2.50.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing-inspection",
     "version": "0.4.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "pydantic": "2.14.1",
     "pydantic_core": "2.50.1"
    },
    "seconds": 0.3
   },
   "environment": "compiler"
  },
  {
   "case": "orjson",
   "tool": "uv",
   "specs": [
    "orjson"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/orjson/venv/bin/python orjson",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/orjson/venv",
     "Resolved 1 package in 131ms",
     "Prepared 1 package in 22ms",
     "Installed 1 package in 0.96ms",
     " + orjson==3.13.0"
    ]
   },
   "installed": [
    {
     "name": "orjson",
     "version": "3.13.0",
     "tags": [
      "cp315-cp315-manylinux_2_39_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "orjson": "3.13.0"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "tenacity",
   "tool": "uv",
   "specs": [
    "tenacity"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/tenacity/venv/bin/python tenacity",
    "exit": 0,
    "seconds": 0.1,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/tenacity/venv",
     "Resolved 1 package in 74ms",
     "Prepared 1 package in 9ms",
     "Installed 1 package in 1ms",
     " + tenacity==9.2.1"
    ]
   },
   "installed": [
    {
     "name": "tenacity",
     "version": "9.2.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "attempts": 3
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "only-binary-all",
   "tool": "pip",
   "specs": [
    "httpx[brotli]",
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/only-binary-all/report.json --only-binary :all: httpx[brotli] aiohttp[speedups]",
    "exit": 0,
    "seconds": 2.6,
    "key_lines": [
     "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.",
     "WARNING: aiohttp 0.13.1 does not provide the extra 'speedups'"
    ],
    "uv_built": [],
    "output_tail": [
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp[speedups])",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp[speedups])",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp[speedups])",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting aiodns>=3.3.0 (from aiohttp[speedups])",
     "  Downloading aiodns-4.0.4-py3-none-any.whl.metadata (9.0 kB)",
     "INFO: pip is looking at multiple versions of aiohttp[speedups] to determine which version is compatible with other requirements. This could take a while.",
     "Collecting aiohttp[speedups]",
     "  Downloading aiohttp-3.14.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting multidict<7.0,>=4.5 (from aiohttp[speedups])",
     "  Downloading multidict-6.9.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (5.3 kB)",
     "Collecting aiohttp[speedups]",
     "  Downloading aiohttp-3.6.2-py3-none-any.whl.metadata (24 kB)",
     "Collecting chardet<4.0,>=2.0 (from aiohttp[speedups])",
     "  Downloading chardet-3.0.4-py2.py3-none-any.whl.metadata (3.2 kB)",
     "Collecting aiohttp[speedups]",
     "  Downloading aiohttp-3.6.0-py3-none-any.whl.metadata (22 kB)",
     "  Downloading aiohttp-0.13.1-py3-none-any.whl.metadata (5.0 kB)",
     "Collecting pycparser (from cffi>=1.17.0->brotlicffi==1.*->httpx[brotli])",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading httpx-0.18.2-py3-none-any.whl (76 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 139.9 MB/s  0:00:00",
     "Downloading httpcore-0.13.7-py3-none-any.whl (58 kB)",
     "Downloading anyio-3.7.1-py3-none-any.whl (80 kB)",
     "Downloading h11-0.12.0-py3-none-any.whl (54 kB)",
     "Downloading rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)",
     "Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)",
     "Downloading aiohttp-0.13.1-py3-none-any.whl (67 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: rfc3986, aiohttp, sniffio, pycparser, idna, h11, certifi, cffi, anyio, httpcore, brotlicffi, httpx",
     "",
     "Successfully installed aiohttp-0.13.1 anyio-3.7.1 brotlicffi-1.2.0.2 certifi-2026.7.22 cffi-2.1.1 h11-0.12.0 httpcore-0.13.7 httpx-0.18.2 idna-3.20 pycparser-3.11 rfc3986-1.5.0 sniffio-1.3.1",
     "WARNING: aiohttp 0.13.1 does not provide the extra 'speedups'"
    ]
   },
   "installed": [
    {
     "name": "aiohttp",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohttp-0.13.1-py3-none-any.whl"
    },
    {
     "name": "anyio",
     "version": "3.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-3.7.1-py3-none-any.whl"
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "h11",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.12.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "0.13.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-0.13.7-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.18.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.18.2-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "rfc3986",
     "version": "1.5.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "rfc3986-1.5.0-py2.py3-none-any.whl"
    },
    {
     "name": "sniffio",
     "version": "1.3.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "sniffio-1.3.1-py3-none-any.whl"
    }
   ],
   "environment": "compiler"
  },
  {
   "case": "no-build",
   "tool": "uv",
   "specs": [
    "httpx[brotli]",
    "aiohttp[speedups]"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/no-build/venv/bin/python --no-build httpx[brotli] aiohttp[speedups]",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [
     "warning: The package `aiohttp==0.13.1` does not have an extra named `speedups`"
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/no-build/venv",
     "Resolved 12 packages in 373ms",
     "Downloading brotlicffi (1.5MiB)",
     " Downloaded brotlicffi",
     "Prepared 12 packages in 32ms",
     "Installed 12 packages in 5ms",
     " + aiohttp==0.13.1",
     " + anyio==3.7.1",
     " + brotlicffi==1.2.0.2",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + h11==0.12.0",
     " + httpcore==0.13.7",
     " + httpx==0.18.2",
     " + idna==3.20",
     " + pycparser==3.11",
     " + rfc3986==1.5.0",
     " + sniffio==1.3.1",
     "warning: The package `aiohttp==0.13.1` does not have an extra named `speedups`"
    ]
   },
   "installed": [
    {
     "name": "aiohttp",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "anyio",
     "version": "3.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.12.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "0.13.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.18.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "rfc3986",
     "version": "1.5.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "sniffio",
     "version": "1.3.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "environment": "compiler"
  },
  {
   "case": "only-binary-brotli",
   "tool": "pip",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/only-binary-brotli/report.json --only-binary brotli scrapy",
    "exit": 0,
    "seconds": 7.6,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)",
     "Downloading itemadapter-0.13.1-py3-none-any.whl (18 kB)",
     "Downloading itemloaders-1.5.0-py3-none-any.whl (13 kB)",
     "Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
     "Downloading lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2/5.2 MB 332.1 MB/s  0:00:00",
     "Downloading parsel-1.12.1-py3-none-any.whl (15 kB)",
     "Downloading protego-0.7.0-py3-none-any.whl (13 kB)",
     "Downloading PyDispatcher-2.0.7-py3-none-any.whl (12 kB)",
     "Downloading pyopenssl-26.4.0-py3-none-any.whl (56 kB)",
     "Downloading queuelib-1.10.0-py3-none-any.whl (16 kB)",
     "Downloading service_identity-26.1.0-py3-none-any.whl (11 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading twisted-26.4.0-py3-none-any.whl (3.2 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 1.0 GB/s  0:00:00",
     "Downloading automat-25.4.16-py3-none-any.whl (42 kB)",
     "Downloading constantly-23.10.4-py3-none-any.whl (13 kB)",
     "Downloading hyperlink-21.0.0-py2.py3-none-any.whl (74 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading incremental-24.11.0-py3-none-any.whl (21 kB)",
     "Downloading packaging-26.3-py3-none-any.whl (129 kB)",
     "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
     "Downloading w3lib-2.5.0-py3-none-any.whl (37 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Downloading tldextract-5.4.0-py3-none-any.whl (107 kB)",
     "Downloading filelock-4.1.1-py3-none-any.whl (132 kB)",
     "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
     "Downloading charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (257 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading requests_file-3.0.1-py2.py3-none-any.whl (4.5 kB)",
     "Building wheels for collected packages: zope-interface",
     "  Building wheel for zope-interface (pyproject.toml): started",
     "  Building wheel for zope-interface (pyproject.toml): finished with status 'done'",
     "  Created wheel for zope-interface: filename=zope_interface-8.6-cp315-cp315-linux_x86_64.whl size=264588 sha256=7ba89806f77d8f0299253c73cd124fd697baa65fbc12efc32bce239d075b4b05",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-iio6vsby/wheels/ce/a0/4c/0a48d6e726dc59398e5eea2218e876df7b9be39046cd727577",
     "Successfully built zope-interface",
     "Installing collected packages: pydispatcher, zope-interface, w3lib, urllib3, typing-extensions, queuelib, pycparser, protego, packaging, lxml, jmespath, itemadapter, idna, filelock, defusedxml, cssselect, constantly, charset_normalizer, certifi, automat, attrs, requests, parsel, incremental, hyperlink, cffi, twisted, requests-file, itemloaders, cryptography, tldextract, service-identity, pyopenssl, scrapy",
     "",
     "Successfully installed attrs-26.1.0 automat-25.4.16 certifi-2026.7.22 cffi-2.1.1 charset_normalizer-3.5.2 constantly-23.10.4 cryptography-50.0.2 cssselect-1.6.0 defusedxml-0.7.1 filelock-4.1.1 hyperlink-21.0.0 idna-3.20 incremental-24.11.0 itemadapter-0.13.1 itemloaders-1.5.0 jmespath-1.1.0 lxml-6.1.3 packaging-26.3 parsel-1.12.1 protego-0.7.0 pycparser-3.11 pydispatcher-2.0.7 pyopenssl-26.4.0 queuelib-1.10.0 requests-2.34.2 requests-file-3.0.1 scrapy-2.17.0 service-identity-26.1.0 tldextract-5.4.0 twisted-26.4.0 typing-extensions-4.16.0 urllib3-2.8.0 w3lib-2.5.0 zope-interface-8.6"
    ]
   },
   "installed": [
    {
     "name": "PyDispatcher",
     "version": "2.0.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "PyDispatcher-2.0.7-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "Automat",
     "version": "25.4.16",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "automat-25.4.16-py3-none-any.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "constantly",
     "version": "23.10.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "constantly-23.10.4-py3-none-any.whl"
    },
    {
     "name": "cryptography",
     "version": "50.0.2",
     "tags": [
      "cp315-abi3-manylinux_2_34_x86_64",
      "cp315-abi3t-manylinux_2_34_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl"
    },
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "cssselect-1.6.0-py3-none-any.whl"
    },
    {
     "name": "defusedxml",
     "version": "0.7.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "defusedxml-0.7.1-py2.py3-none-any.whl"
    },
    {
     "name": "filelock",
     "version": "4.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "filelock-4.1.1-py3-none-any.whl"
    },
    {
     "name": "hyperlink",
     "version": "21.0.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "hyperlink-21.0.0-py2.py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "Incremental",
     "version": "24.11.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "incremental-24.11.0-py3-none-any.whl"
    },
    {
     "name": "itemadapter",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "itemadapter-0.13.1-py3-none-any.whl"
    },
    {
     "name": "itemloaders",
     "version": "1.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "itemloaders-1.5.0-py3-none-any.whl"
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "jmespath-1.1.0-py3-none-any.whl"
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "packaging",
     "version": "26.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "packaging-26.3-py3-none-any.whl"
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "parsel-1.12.1-py3-none-any.whl"
    },
    {
     "name": "Protego",
     "version": "0.7.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "protego-0.7.0-py3-none-any.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "pyOpenSSL",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pyopenssl-26.4.0-py3-none-any.whl"
    },
    {
     "name": "queuelib",
     "version": "1.10.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "queuelib-1.10.0-py3-none-any.whl"
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests-2.34.2-py3-none-any.whl"
    },
    {
     "name": "requests-file",
     "version": "3.0.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "requests_file-3.0.1-py2.py3-none-any.whl"
    },
    {
     "name": "Scrapy",
     "version": "2.17.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "scrapy-2.17.0-py3-none-any.whl"
    },
    {
     "name": "service-identity",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "service_identity-26.1.0-py3-none-any.whl"
    },
    {
     "name": "tldextract",
     "version": "5.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "tldextract-5.4.0-py3-none-any.whl"
    },
    {
     "name": "Twisted",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "twisted-26.4.0-py3-none-any.whl"
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "typing_extensions-4.16.0-py3-none-any.whl"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "w3lib-2.5.0-py3-none-any.whl"
    },
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "zope_interface-8.6.tar.gz"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "scrapy": "2.17.0",
     "pages": {
      "br": "hello from the lab",
      "accept_encoding": "gzip, deflate",
      "/": "hello from the lab",
      "gzip": "hello from the lab"
     },
     "zope_interface_c_speedups": true,
     "brotli": false
    },
    "seconds": 0.6
   },
   "environment": "compiler"
  },
  {
   "case": "only-binary-brotli",
   "tool": "uv",
   "specs": [
    "scrapy"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/only-binary-brotli/venv/bin/python --only-binary brotli scrapy",
    "exit": 0,
    "seconds": 1.9,
    "key_lines": [],
    "uv_built": [
     "zope-interface==8.6"
    ],
    "output_tail": [
     " Downloaded twisted",
     " Downloaded cryptography",
     " Downloaded lxml",
     "      Built zope-interface==8.6",
     "Prepared 34 packages in 1.34s",
     "Installed 34 packages in 25ms",
     " + attrs==26.1.0",
     " + automat==25.4.16",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + charset-normalizer==3.5.2",
     " + constantly==23.10.4",
     " + cryptography==50.0.2",
     " + cssselect==1.6.0",
     " + defusedxml==0.7.1",
     " + filelock==4.1.1",
     " + hyperlink==21.0.0",
     " + idna==3.20",
     " + incremental==24.11.0",
     " + itemadapter==0.13.1",
     " + itemloaders==1.5.0",
     " + jmespath==1.1.0",
     " + lxml==6.1.3",
     " + packaging==26.3",
     " + parsel==1.12.1",
     " + protego==0.7.0",
     " + pycparser==3.11",
     " + pydispatcher==2.0.7",
     " + pyopenssl==26.4.0",
     " + queuelib==1.10.0",
     " + requests==2.34.2",
     " + requests-file==3.0.1",
     " + scrapy==2.17.0",
     " + service-identity==26.1.0",
     " + tldextract==5.4.0",
     " + twisted==26.4.0",
     " + typing-extensions==4.16.0",
     " + urllib3==2.8.0",
     " + w3lib==2.5.0",
     " + zope-interface==8.6"
    ]
   },
   "installed": [
    {
     "name": "PyDispatcher",
     "version": "2.0.7",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Automat",
     "version": "25.4.16",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "charset-normalizer",
     "version": "3.5.2",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "constantly",
     "version": "23.10.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cryptography",
     "version": "50.0.2",
     "tags": [
      "cp315-abi3-manylinux_2_34_x86_64",
      "cp315-abi3t-manylinux_2_34_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "cssselect",
     "version": "1.6.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "defusedxml",
     "version": "0.7.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "filelock",
     "version": "4.1.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "hyperlink",
     "version": "21.0.0",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Incremental",
     "version": "24.11.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "itemadapter",
     "version": "0.13.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "itemloaders",
     "version": "1.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "jmespath",
     "version": "1.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "lxml",
     "version": "6.1.3",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "packaging",
     "version": "26.3",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "parsel",
     "version": "1.12.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Protego",
     "version": "0.7.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pyOpenSSL",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "queuelib",
     "version": "1.10.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests",
     "version": "2.34.2",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "requests-file",
     "version": "3.0.1",
     "tags": [
      "py2-none-any",
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Scrapy",
     "version": "2.17.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "service-identity",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "tldextract",
     "version": "5.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "Twisted",
     "version": "26.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "typing_extensions",
     "version": "4.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "w3lib",
     "version": "2.5.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "scrapy": "2.17.0",
     "pages": {
      "/": "hello from the lab",
      "accept_encoding": "gzip, deflate",
      "br": "hello from the lab",
      "gzip": "hello from the lab"
     },
     "zope_interface_c_speedups": true,
     "brotli": false
    },
    "seconds": 1.3
   },
   "environment": "compiler"
  },
  {
   "case": "only-binary-brotli-pinned",
   "tool": "pip",
   "specs": [
    "scrapy==2.19.0"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/only-binary-brotli-pinned/report.json --only-binary brotli scrapy==2.19.0",
    "exit": 1,
    "seconds": 0.7,
    "key_lines": [
     "ERROR: Could not find a version that satisfies the requirement brotli>=1.2.0; implementation_name != \"pypy\" (from scrapy) (from versions: none)",
     "ERROR: No matching distribution found for brotli>=1.2.0; implementation_name != \"pypy\""
    ],
    "uv_built": [],
    "output_tail": [
     "Collecting scrapy==2.19.0",
     "  Downloading scrapy-2.19.0-py3-none-any.whl.metadata (5.3 kB)",
     "Collecting aiohttp>=3.13.3 (from scrapy==2.19.0)",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "INFO: pip is looking at multiple versions of scrapy to determine which version is compatible with other requirements. This could take a while.",
     "ERROR: Could not find a version that satisfies the requirement brotli>=1.2.0; implementation_name != \"pypy\" (from scrapy) (from versions: none)",
     "ERROR: No matching distribution found for brotli>=1.2.0; implementation_name != \"pypy\""
    ]
   },
   "environment": "compiler"
  },
  {
   "case": "only-binary-brotli-pinned",
   "tool": "uv",
   "specs": [
    "scrapy==2.19.0"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/only-binary-brotli-pinned/venv/bin/python --only-binary brotli scrapy==2.19.0",
    "exit": 1,
    "seconds": 0.3,
    "key_lines": [
     "error: No solution found when resolving dependencies",
     "  cause: Because brotli{implementation_name != 'pypy'}==1.2.0 has no usable wheels and only brotli{implementation_name != 'pypy'}<=1.2.0 is available, we can conclude that brotli{implementation_name != 'pypy'}>=1.2.0 cannot be used."
    ],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/only-binary-brotli-pinned/venv",
     "error: No solution found when resolving dependencies",
     "  cause: Because brotli{implementation_name != 'pypy'}==1.2.0 has no usable wheels and only brotli{implementation_name != 'pypy'}<=1.2.0 is available, we can conclude that brotli{implementation_name != 'pypy'}>=1.2.0 cannot be used.",
     "         And because scrapy>=2.19.0 depends on brotli{implementation_name != 'pypy'}>=1.2.0 and you require scrapy==2.19.0, we can conclude that your requirements are unsatisfiable.",
     "",
     "hint: Wheels are required for `brotli` because building from source is disabled for `brotli` (i.e., with `--no-build-package brotli`)"
    ]
   },
   "environment": "compiler"
  },
  {
   "case": "httpx+brotlicffi",
   "tool": "pip",
   "specs": [
    "httpx",
    "brotlicffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/httpx-brotlicffi/report.json httpx brotlicffi",
    "exit": 0,
    "seconds": 1.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting httpx",
     "  Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)",
     "Collecting brotlicffi",
     "  Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (7.0 kB)",
     "Collecting anyio (from httpx)",
     "  Downloading anyio-4.15.1-py3-none-any.whl.metadata (4.7 kB)",
     "Collecting certifi (from httpx)",
     "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
     "Collecting httpcore==1.* (from httpx)",
     "  Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)",
     "Collecting idna (from httpx)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting h11>=0.16 (from httpcore==1.*->httpx)",
     "  Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)",
     "Collecting cffi>=1.17.0 (from brotlicffi)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=1.17.0->brotlicffi)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading httpx-0.28.1-py3-none-any.whl (73 kB)",
     "Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 109.5 MB/s  0:00:00",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
     "Downloading anyio-4.15.1-py3-none-any.whl (132 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: pycparser, idna, h11, certifi, httpcore, cffi, anyio, httpx, brotlicffi",
     "",
     "Successfully installed anyio-4.15.1 brotlicffi-1.2.0.2 certifi-2026.7.22 cffi-2.1.1 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.20 pycparser-3.11"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "anyio-4.15.1-py3-none-any.whl"
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "certifi-2026.7.22-py3-none-any.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "h11-0.16.0-py3-none-any.whl"
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpcore-1.0.9-py3-none-any.whl"
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "httpx-0.28.1-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "brotli": false,
     "brotlicffi": true,
     "accept_encoding": "gzip, deflate, br",
     "content_encoding": "br"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "httpx+brotlicffi",
   "tool": "uv",
   "specs": [
    "httpx",
    "brotlicffi"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/httpx-brotlicffi/venv/bin/python httpx brotlicffi",
    "exit": 0,
    "seconds": 0.2,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/httpx-brotlicffi/venv",
     "Resolved 9 packages in 119ms",
     "Downloading brotlicffi (1.5MiB)",
     " Downloaded brotlicffi",
     "Prepared 9 packages in 45ms",
     "Installed 9 packages in 5ms",
     " + anyio==4.15.1",
     " + brotlicffi==1.2.0.2",
     " + certifi==2026.7.22",
     " + cffi==2.1.1",
     " + h11==0.16.0",
     " + httpcore==1.0.9",
     " + httpx==0.28.1",
     " + idna==3.20",
     " + pycparser==3.11"
    ]
   },
   "installed": [
    {
     "name": "anyio",
     "version": "4.15.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "certifi",
     "version": "2026.7.22",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": null
    },
    {
     "name": "h11",
     "version": "0.16.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpcore",
     "version": "1.0.9",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "httpx",
     "version": "0.28.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "httpx": "0.28.1",
     "brotli": false,
     "brotlicffi": true,
     "accept_encoding": "gzip, deflate, br",
     "content_encoding": "br"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "urllib3+brotlicffi",
   "tool": "pip",
   "specs": [
    "urllib3",
    "brotlicffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/urllib3-brotlicffi/report.json urllib3 brotlicffi",
    "exit": 0,
    "seconds": 0.8,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting urllib3",
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Collecting brotlicffi",
     "  Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (7.0 kB)",
     "Collecting cffi>=1.17.0 (from brotlicffi)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=1.17.0->brotlicffi)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 101.2 MB/s  0:00:00",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: urllib3, pycparser, cffi, brotlicffi",
     "",
     "Successfully installed brotlicffi-1.2.0.2 cffi-2.1.1 pycparser-3.11 urllib3-2.8.0"
    ]
   },
   "installed": [
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "urllib3": "2.8.0",
     "brotli": false,
     "brotlicffi": true,
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip,deflate,br,zstd",
     "content_encoding": "br"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp+aiodns+brotlicffi",
   "tool": "pip",
   "specs": [
    "aiohttp",
    "aiodns",
    "brotlicffi"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-aiodns-brotlicffi/report.json aiohttp aiodns brotlicffi",
    "exit": 0,
    "seconds": 2.1,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Collecting pycares<6,>=5.0.0 (from aiodns)",
     "  Downloading pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (4.1 kB)",
     "Collecting cffi>=2.0.0b1 (from pycares<6,>=5.0.0->aiodns)",
     "  Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
     "Collecting pycparser (from cffi>=2.0.0b1->pycares<6,>=5.0.0->aiodns)",
     "  Downloading pycparser-3.11-py3-none-any.whl.metadata (8.2 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 129.5 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiodns-4.0.4-py3-none-any.whl (12 kB)",
     "Downloading pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (225 kB)",
     "Downloading brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.5 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 423.0 MB/s  0:00:00",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Downloading pycparser-3.11-py3-none-any.whl (51 kB)",
     "Installing collected packages: pycparser, propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, cffi, aiosignal, pycares, brotlicffi, aiohttp, aiodns",
     "",
     "Successfully installed aiodns-4.0.4 aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 brotlicffi-1.2.0.2 cffi-2.1.1 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 pycares-5.2.0 pycparser-3.11 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiodns",
     "version": "4.0.4",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiodns-4.0.4-py3-none-any.whl"
    },
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "brotlicffi",
     "version": "1.2.0.2",
     "tags": [
      "cp39-abi3-manylinux_2_17_x86_64",
      "cp39-abi3-manylinux2014_x86_64",
      "cp39-abi3-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "brotlicffi-1.2.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "cffi",
     "version": "2.1.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64"
     ],
     "origin": "binary wheel",
     "file": "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pycares",
     "version": "5.2.0",
     "tags": [
      "cp315-cp315-manylinux_2_26_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "pycares-5.2.0-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "pycparser",
     "version": "3.11",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "pycparser-3.11-py3-none-any.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5",
     "aiodns": true,
     "brotli": true,
     "c_http_parser": true,
     "accept_encoding": "gzip, deflate, br, zstd",
     "content_encoding": "br"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "urllib3 (zstd)",
   "tool": "pip",
   "specs": [
    "urllib3"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/urllib3-zstd-/report.json urllib3",
    "exit": 0,
    "seconds": 0.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting urllib3",
     "  Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)",
     "Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)",
     "Installing collected packages: urllib3",
     "Successfully installed urllib3-2.8.0"
    ]
   },
   "installed": [
    {
     "name": "urllib3",
     "version": "2.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "urllib3-2.8.0-py3-none-any.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "urllib3": "2.8.0",
     "brotli": false,
     "brotlicffi": false,
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip,deflate,zstd",
     "content_encoding": "zstd"
    },
    "seconds": 0.1
   },
   "environment": "compiler"
  },
  {
   "case": "aiohttp (zstd)",
   "tool": "pip",
   "specs": [
    "aiohttp"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/aiohttp-zstd-/report.json aiohttp",
    "exit": 0,
    "seconds": 1.7,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting aiohttp",
     "  Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
     "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp)",
     "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)",
     "Collecting aiosignal>=1.4.0 (from aiohttp)",
     "  Downloading aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)",
     "Collecting attrs>=17.3.0 (from aiohttp)",
     "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
     "Collecting frozenlist>=1.1.1 (from aiohttp)",
     "  Downloading frozenlist-1.8.0-py3-none-any.whl.metadata (20 kB)",
     "Collecting multidict<8.0,>=4.5 (from aiohttp)",
     "  Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.2 kB)",
     "Collecting propcache>=0.2.0 (from aiohttp)",
     "  Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)",
     "Collecting yarl<2.0,>=1.25.1 (from aiohttp)",
     "  Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)",
     "Collecting idna>=2.0 (from yarl<2.0,>=1.25.1->aiohttp)",
     "  Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)",
     "Downloading aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)",
     "   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 127.0 MB/s  0:00:00",
     "Downloading multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (477 kB)",
     "Downloading yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)",
     "Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
     "Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
     "Downloading attrs-26.1.0-py3-none-any.whl (67 kB)",
     "Downloading frozenlist-1.8.0-py3-none-any.whl (13 kB)",
     "Downloading idna-3.20-py3-none-any.whl (69 kB)",
     "Downloading propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (232 kB)",
     "Installing collected packages: propcache, multidict, idna, frozenlist, attrs, aiohappyeyeballs, yarl, aiosignal, aiohttp",
     "",
     "Successfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 frozenlist-1.8.0 idna-3.20 multidict-7.1.0 propcache-0.5.4 yarl-1.25.1"
    ]
   },
   "installed": [
    {
     "name": "aiohappyeyeballs",
     "version": "2.7.1",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiohappyeyeballs-2.7.1-py3-none-any.whl"
    },
    {
     "name": "aiohttp",
     "version": "3.14.5",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "aiosignal",
     "version": "1.4.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "aiosignal-1.4.0-py3-none-any.whl"
    },
    {
     "name": "attrs",
     "version": "26.1.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "attrs-26.1.0-py3-none-any.whl"
    },
    {
     "name": "frozenlist",
     "version": "1.8.0",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "frozenlist-1.8.0-py3-none-any.whl"
    },
    {
     "name": "idna",
     "version": "3.20",
     "tags": [
      "py3-none-any"
     ],
     "origin": "pure-Python wheel",
     "file": "idna-3.20-py3-none-any.whl"
    },
    {
     "name": "multidict",
     "version": "7.1.0",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "propcache",
     "version": "0.5.4",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "propcache-0.5.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    },
    {
     "name": "yarl",
     "version": "1.25.1",
     "tags": [
      "cp315-cp315-manylinux_2_17_x86_64",
      "cp315-cp315-manylinux2014_x86_64",
      "cp315-cp315-manylinux_2_28_x86_64"
     ],
     "origin": "binary wheel",
     "file": "yarl-1.25.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "aiohttp": "3.14.5",
     "zstandard": false,
     "backports.zstd": false,
     "accept_encoding": "gzip, deflate, zstd",
     "content_encoding": "zstd"
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "zope.interface",
   "tool": "pip",
   "specs": [
    "zope.interface"
   ],
   "install": {
    "command": "pip install --no-cache-dir --disable-pip-version-check --report /tmp/lab315/pip/zope-interface/report.json zope.interface",
    "exit": 0,
    "seconds": 2.5,
    "key_lines": [],
    "uv_built": [],
    "output_tail": [
     "Collecting zope.interface",
     "  Downloading zope_interface-8.6.tar.gz (257 kB)",
     "  Installing build dependencies: started",
     "  Installing build dependencies: finished with status 'done'",
     "  Getting requirements to build wheel: started",
     "  Getting requirements to build wheel: finished with status 'done'",
     "  Preparing metadata (pyproject.toml): started",
     "  Preparing metadata (pyproject.toml): finished with status 'done'",
     "Building wheels for collected packages: zope.interface",
     "  Building wheel for zope.interface (pyproject.toml): started",
     "  Building wheel for zope.interface (pyproject.toml): finished with status 'done'",
     "  Created wheel for zope.interface: filename=zope_interface-8.6-cp315-cp315-linux_x86_64.whl size=264587 sha256=31a69eb96af6805642f1162e3dc68c4ab79e87c65b712d0f5ac9dd43e2598930",
     "  Stored in directory: /tmp/pip-ephem-wheel-cache-c39mxy2c/wheels/ce/a0/4c/0a48d6e726dc59398e5eea2218e876df7b9be39046cd727577",
     "Successfully built zope.interface",
     "Installing collected packages: zope.interface",
     "Successfully installed zope.interface-8.6"
    ]
   },
   "installed": [
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": "zope_interface-8.6.tar.gz"
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "zope.interface": "8.6",
     "c_speedups": true,
     "providedBy_ns_per_call": 100.9
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  },
  {
   "case": "zope.interface",
   "tool": "uv",
   "specs": [
    "zope.interface"
   ],
   "install": {
    "command": "uv pip install --no-cache --python /tmp/lab315/uv/zope-interface/venv/bin/python zope.interface",
    "exit": 0,
    "seconds": 1.5,
    "key_lines": [],
    "uv_built": [
     "zope-interface==8.6"
    ],
    "output_tail": [
     "Using Python 3.15.0 environment at: /tmp/lab315/uv/zope-interface/venv",
     "Resolved 1 package in 99ms",
     "   Building zope-interface==8.6",
     "      Built zope-interface==8.6",
     "Prepared 1 package in 1.31s",
     "Installed 1 package in 1ms",
     " + zope-interface==8.6"
    ]
   },
   "installed": [
    {
     "name": "zope.interface",
     "version": "8.6",
     "tags": [
      "cp315-cp315-linux_x86_64"
     ],
     "origin": "built from source here",
     "file": null
    }
   ],
   "smoke": {
    "ok": true,
    "detail": {
     "zope.interface": "8.6",
     "c_speedups": true,
     "providedBy_ns_per_call": 99.3
    },
    "seconds": 0.2
   },
   "environment": "compiler"
  }
 ]
}
