| # This is a vpython "spec" file. | 
 | # | 
 | # It describes patterns for python wheel dependencies of the python scripts in | 
 | # the chromium repo, particularly for dependencies that have compiled components | 
 | # (since pure-python dependencies can be easily vendored into third_party). | 
 | # | 
 | # When vpython is invoked, it finds this file and builds a python VirtualEnv, | 
 | # containing all of the dependencies described in this file, fetching them from | 
 | # CIPD (the "Chrome Infrastructure Package Deployer" service). Unlike `pip`, | 
 | # this never requires the end-user machine to have a working python extension | 
 | # compilation environment. All of these packages are built using: | 
 | #   https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/ | 
 | # | 
 | # All python scripts in the repo share this same spec, to avoid dependency | 
 | # fragmentation. | 
 | # | 
 | # If you have depot_tools installed in your $PATH, you can invoke python scripts | 
 | # in this repo by running them as you normally would run them, except | 
 | # substituting `vpython` instead of `python` on the command line, e.g.: | 
 | #   vpython path/to/script.py some --arguments | 
 | # | 
 | # Read more about `vpython` and how to modify this file here: | 
 | #   https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md | 
 |  | 
 | python_version: "3.11" | 
 |  | 
 | # The default set of platforms vpython checks does not yet include mac-arm64. | 
 | # Setting `verify_pep425_tag` to the list of platforms we explicitly must support | 
 | # allows us to ensure that vpython specs stay mac-arm64-friendly | 
 | verify_pep425_tag: [ | 
 |     {python: "cp311", abi: "cp311", platform: "manylinux1_x86_64"}, | 
 |     {python: "cp311", abi: "cp311", platform: "linux_arm64"}, | 
 |  | 
 |     {python: "cp311", abi: "cp311", platform: "macosx_10_10_intel"}, | 
 |     {python: "cp311", abi: "cp311", platform: "macosx_11_0_arm64"}, | 
 |  | 
 |     {python: "cp311", abi: "cp311", platform: "win32"}, | 
 |     {python: "cp311", abi: "cp311", platform: "win_amd64"} | 
 | ] | 
 |  | 
 | # Used by: | 
 | #   //build/android/pylib/local/emulator/avd.py | 
 | #   //tools/perf/crossbench | 
 | wheel: < | 
 |   name: "infra/python/wheels/protobuf-py3" | 
 |   version: "version:6.32.0" | 
 | > | 
 |  | 
 | # TODO(https://crbug.com/898348): Add in necessary wheels as Python3 versions | 
 | # become available. | 
 | wheel: < | 
 |   name: "infra/python/wheels/six-py2_py3" | 
 |   version: "version:1.17.0" | 
 | > | 
 |  | 
 | # These wheels are necessary to run pytype, i.e. enforce Python 3 type hinting. | 
 | # We currently use 2021.11.2 instead of the 2022.5.5 available in CIPD because | 
 | # 2022.5.5 seems to have issues when analyzing code that imports the asyncio | 
 | # module. 2021.11.2 only has Linux wheels available, so restrict to that | 
 | # platform. | 
 | wheel: < | 
 |   name: "infra/python/wheels/pytype/${vpython_platform}" | 
 |   version: "version:2024.1.24" | 
 |   match_tag: < | 
 |     platform: "manylinux1_x86_64" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/importlab-py3" | 
 |   version: "version:0.8" | 
 |   match_tag: < | 
 |     platform: "manylinux1_x86_64" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/networkx-py3" | 
 |   version: "version:2.5" | 
 |   match_tag: < | 
 |     platform: "manylinux1_x86_64" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/decorator-py3" | 
 |   version: "version:5.0.9" | 
 |   match_tag: < | 
 |     platform: "manylinux1_x86_64" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/libcst/${vpython_platform}" | 
 |   version: "version:1.1.0" | 
 |   # No 32-bit Windows wheel available for a dependency (google-cloud-pubsub). | 
 |   not_match_tag: < | 
 |     platform: "win32" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/typing-inspect-py3" | 
 |   version: "version:0.7.1" | 
 |   match_tag: < | 
 |     platform: "manylinux1_x86_64" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/typing-extensions-py3" | 
 |   version: "version:4.13.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/tabulate-py3" | 
 |   version: "version:0.8.10" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/ninja/${vpython_platform}" | 
 |   version: "version:1.10.2.4.chromium.1" | 
 |   match_tag: < | 
 |     platform: "manylinux1_x86_64" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/mypy-extensions-py3" | 
 |   version: "version:0.4.3" | 
 | > | 
 |  | 
 | # Common utilities. | 
 | # Use the same versions specified by //third_party/catapult/.vpython3 so that | 
 | # Chromium tests using Telemetry function properly. | 
 | wheel: < | 
 |   name: "infra/python/wheels/numpy/${vpython_platform}" | 
 |   version: "version:1.23.5.chromium.4" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pexpect/${vpython_platform}" | 
 |   version: "version:4.8.0.chromium.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/psutil/${vpython_platform}" | 
 |   version: "version:5.8.0.chromium.3" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/requests-py3" | 
 |   version: "version:2.31.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pillow/${vpython_platform}" | 
 |   version: "version:10.4.0" | 
 |   # There is currently no Linux arm/arm64 version in CIPD. | 
 |   not_match_tag: < | 
 |     platform: "linux_arm64" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/opencv_python/${vpython_platform}" | 
 |   version: "version:4.8.1.78.chromium.1" | 
 |   # There is currently no Linux arm/arm64 version in CIPD. | 
 |   not_match_tag: < | 
 |     platform: "linux_arm64" | 
 |   > | 
 | > | 
 | # `pyyaml` is shared between `//third_party/wpt_tools/wpt/wpt` and `pytype`. | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyyaml/${vpython_platform}" | 
 |   version: "version:5.4.1.chromium.1" | 
 | > | 
 |  | 
 | # Used by various python unit tests. | 
 | wheel: < | 
 |   name: "infra/python/wheels/mock-py2_py3" | 
 |   version: "version:2.0.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/parameterized-py2_py3" | 
 |   version: "version:0.7.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pbr-py2_py3" | 
 |   version: "version:3.0.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyfakefs-py3" | 
 |   version: "version:5.5.0" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //build/chromeos/test_runner.py | 
 | wheel: < | 
 |   name: "infra/python/wheels/jsonlines-py2_py3" | 
 |   version: "version:1.2.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/python-dateutil-py2_py3" | 
 |   version: "version:2.8.1" | 
 | > | 
 |  | 
 | # Used by WPT importer | 
 | wheel: < | 
 |   name: "infra/python/wheels/charset_normalizer-py3" | 
 |   version: "version:2.0.4" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyasn1-py2_py3" | 
 |   version: "version:0.4.5" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyasn1_modules-py2_py3" | 
 |   version: "version:0.2.4" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/rsa-py2_py3" | 
 |   version: "version:3.4.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/cachetools-py3" | 
 |   version: "version:5.3.3" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/uritemplate-py3" | 
 |   version: "version:4.1.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-auth-py3" | 
 |   version: "version:2.16.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/googleapis-common-protos-py2_py3" | 
 |   version: "version:1.69.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-api-core-py3" | 
 |   version: "version:2.24.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-auth-httplib2-py2_py3" | 
 |   version: "version:0.1.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-api-python-client-py3" | 
 |   version: "version:2.111.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-cloud-core-py3" | 
 |   version: "version:2.3.3" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/grpcio-status-py3" | 
 |   version: "version:1.57.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/oauth2client-py2_py3" | 
 |   version: "version:3.0.0" | 
 | > | 
 |  | 
 | # Used by: | 
 | # //third_party/blink/tools/wpt_upload.py | 
 | # //third_party/chromite/bin/cros chrome-sdk | 
 | wheel: < | 
 |   name: "infra/python/wheels/crcmod/${vpython_platform}" | 
 |   version: "version:1.7.chromium.4" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/grpcio/${vpython_platform}" | 
 |   version: "version:1.57.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/grpc-google-iam-v1-py3" | 
 |   version: "version:0.12.3" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/proto-plus-py3" | 
 |   version: "version:1.26.1" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-cloud-kms-py3" | 
 |   version: "version:2.11.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-cloud-pubsub-py3" | 
 |   version: "version:2.9.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/typing-inspect-py3" | 
 |   version: "version:0.7.1" | 
 | > | 
 |  | 
 | # Used by Web Platform Tests (WPT) codebase in | 
 | #   //third_party/wpt_tools | 
 | wheel: < | 
 |   name: "infra/python/wheels/html5lib-py2_py3" | 
 |   version: "version:1.0.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/mozdebug-py3" | 
 |   version: "version:0.3.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/mozinfo-py2_py3" | 
 |   version: "version:1.2.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/blessed-py2_py3" | 
 |   version: "version:1.20.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/wcwidth-py2_py3" | 
 |   version: "version:0.2.5" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/jinxed-py2_py3" | 
 |   version: "version:1.2.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/ansicon-py2_py3" | 
 |   version: "version:1.89.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/mozlog-py2_py3" | 
 |   version: "version:8.0.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/mozprocess-py3" | 
 |   version: "version:1.3.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/urllib3-py3" | 
 |   version: "version:2.4.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/blessings-py2_py3" | 
 |   version: "version:1.7" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/mozfile-py2_py3" | 
 |   version: "version:2.0.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/mozterm-py2_py3" | 
 |   version: "version:1.0.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/webencodings-py2_py3" | 
 |   version: "version:0.5.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/certifi-py3" | 
 |   version: "version:2025.4.26" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/chardet-py2_py3" | 
 |   version: "version:3.0.4" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/idna-py2_py3" | 
 |   version: "version:2.8" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/distro-py2_py3" | 
 |   version: "version:1.4.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/aioquic/${vpython_platform}" | 
 |   version: "version:1.2.0.chromium.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pylsqpack/${vpython_platform}" | 
 |   version: "version:0.3.12" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/cryptography/${vpython_platform}" | 
 |   version: "version:43.0.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/cffi/${vpython_platform}" | 
 |   version: "version:1.15.1.chromium.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pycparser-py2_py3" | 
 |   version: "version:2.19" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/ecdsa-py2_py3" | 
 |   version: "version:0.17.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/brotli/${vpython_platform}" | 
 |   version: "version:1.0.9" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //chrome/test/chromedriver/test/run_webdriver_tests.py | 
 | wheel: < | 
 |   name: "infra/python/wheels/iniconfig-py3" | 
 |   version: "version:1.1.1" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/packaging-py3" | 
 |   version: "version:21.3" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyparsing-py2_py3" | 
 |   version: "version:2.4.7" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/toml-py3" | 
 |   version: "version:0.10.2" | 
 | > | 
 |  | 
 | # Used by: pytest-py3:7.3.1 | 
 | wheel: < | 
 |   name: "infra/python/wheels/exceptiongroup-py3" | 
 |   version: "version:1.1.2" | 
 | > | 
 |  | 
 | # Used by: pytest-py3:7.3.1 | 
 | wheel: < | 
 |   name: "infra/python/wheels/tomli-py3" | 
 |   version: "version:2.0.1" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/pytest-py3" | 
 |   version: "version:7.3.1" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/pytest-asyncio-py3" | 
 |   version: "version:0.19.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/attrs-py3" | 
 |   version: "version:24.2.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/more-itertools-py2_py3" | 
 |   version: "version:4.1.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/pluggy-py3" | 
 |   version: "version:0.13.1" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/py-py2_py3" | 
 |   version: "version:1.11.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/funcsigs-py2_py3" | 
 |   version: "version:1.0.2" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/atomicwrites-py2_py3" | 
 |   version: "version:1.3.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/colorama-py2_py3" | 
 |   version: "version:0.4.1" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //testing/buildbot/generate_buildbot_json_coveragetest.py | 
 | wheel: < | 
 |   name: "infra/python/wheels/coverage/${vpython_platform}" | 
 |   version: "version:7.3.1" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/websocket_client-py2_py3" | 
 |   version: "version:1.8.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/websockets-py3" | 
 |   version: "version:11.0.3" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/beautifulsoup4-py3" | 
 |   version: "version:4.9.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/soupsieve-py3" | 
 |   version: "version:1.9.5" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //tools/infra/find_bad_builds.py | 
 | #   //tools/perf/crossbench | 
 | wheel: < | 
 |   name: "infra/python/wheels/pytz-py2_py3" | 
 |   version: "version:2024.1" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //third_party/blink/tools/blinkpy/web_tests/port/server_process.py | 
 | wheel: < | 
 |   name: "infra/python/wheels/pywin32/${vpython_platform}" | 
 |   version: "version:306" | 
 |   match_tag: < | 
 |     platform: "win32" | 
 |   > | 
 |   match_tag: < | 
 |     platform: "win_amd64" | 
 |   > | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //content/test/gpu/gpu_tests/color_profile_manager_mac.py | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyobjc/${vpython_platform}" | 
 |   version: "version:10.0" | 
 |   match_tag: < | 
 |     platform: "macosx_10_10_intel" | 
 |   > | 
 |   match_tag: < | 
 |     platform: "macosx_11_0_arm64" | 
 |   > | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //tools/perf/core/results_dashboard.py | 
 | wheel: < | 
 |   name: "infra/python/wheels/httplib2-py3" | 
 |   version: "version:0.19.1" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //tools/perf/flakiness_cli | 
 | #   //tools/perf/crossbench | 
 | wheel: < | 
 |   name: "infra/python/wheels/pandas/${vpython_platform}" | 
 |   version: "version:1.5.3.chromium.1" | 
 |   not_match_tag: < | 
 |     platform: "linux_arm64" | 
 |   > | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //tools/perf/crossbench | 
 | wheel: < | 
 |   name: "infra/python/wheels/hjson-py2_py3" | 
 |   version: "version:3.1.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/frozendict-py3" | 
 |   version: "version:2.0.6" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/ordered-set-py3" | 
 |   version: "version:4.1.0" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/perfetto-py3" | 
 |   version: "version:0.14.0" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   chrome/test/mini_installer/test_chrome_with_chromedriver.py | 
 | #   testing/script/run_variations_smoke_tests.py | 
 | #   //tools/perf/crossbench | 
 | # Keep this to the same revision as third_party/webdriver/pylib, which is pulled | 
 | # in via DEPS. | 
 | wheel: < | 
 |   name: "infra/python/wheels/selenium-py3" | 
 |   version: "version:4.33.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/service-identity-py3" | 
 |   version: "version:24.1.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/trio-py3" | 
 |   version: "version:0.30.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/trio-websocket-py3" | 
 |   version: "version:0.12.2" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/outcome-py3" | 
 |   version: "version:1.2.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/sniffio-py3" | 
 |   version: "version:1.3.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/async-generator-py3" | 
 |   version: "version:1.10" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/wsproto-py3" | 
 |   version: "version:1.1.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/h11-py3" | 
 |   version: "version:0.13.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/sortedcontainers-py3" | 
 |   version: "version:2.4.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyopenssl-py3" | 
 |   version: "version:24.2.1" | 
 | > | 
 |  | 
 | # Used by //tools/md_browser to render Markdown. | 
 | wheel: < | 
 |   name: "infra/python/wheels/markdown-py3" | 
 |   version: "version:3.3.4" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/importlib-metadata-py3" | 
 |   version: "version:1.6.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/zipp-py3" | 
 |   version: "version:3.1.0" | 
 | > | 
 |  | 
 | # Used by //components/optimization_guide/internal/testing/run_model_validation_test.py | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-cloud-secret-manager-py2_py3" | 
 |   version: "version:2.10.0" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //tools/perf/crossbench | 
 | wheel: < | 
 |   name: "infra/python/wheels/immutabledict-py3" | 
 |   version: "version:4.1.0" | 
 | > | 
 |  | 
 | # Used by: | 
 | #   //testing/unexpected_passes_common | 
 | wheel: < | 
 |   name: "infra/python/wheels/db-dtypes-py2_py3" | 
 |   version: "version:1.2.0" | 
 |   # No 32-bit Windows wheel available for a dependency (pyarrow) | 
 |   not_match_tag: < | 
 |     platform: "win32" | 
 |   > | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-cloud-bigquery-py3" | 
 |   version: "version:3.23.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-cloud-bigquery-storage-py3" | 
 |   version: "version:2.29.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-crc32c/${vpython_platform}" | 
 |   version: "version:1.5.0.chromium.1" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/google-resumable-media-py3" | 
 |   version: "version:2.3.0" | 
 | > | 
 | wheel: < | 
 |   name: "infra/python/wheels/pyarrow/${vpython_platform}" | 
 |   # Likely cannot be upgraded past 15.0.2 until Mac 11 is no longer tested due | 
 |   # to https://github.com/apache/arrow/issues/41696. The bug indicates that | 
 |   # 16.0.0 should work, but that still seems to segfault on Chromium's Mac 11 | 
 |   # machines. | 
 |   version: "version:15.0.2" | 
 |   # No 32-bit Windows wheel available. | 
 |   not_match_tag: < | 
 |     platform: "win32" | 
 |   > | 
 | > | 
 |  | 
 | # Needed by pytype | 
 | wheel: < | 
 |   name: "infra/python/wheels/jinja2-py3" | 
 |   version: "version:3.1.2" | 
 | > | 
 |  | 
 | # Needed by pytype | 
 | wheel: < | 
 |   name: "infra/python/wheels/pysocks-py3" | 
 |   version: "version:1.7.1" | 
 | > | 
 |  | 
 | # Needed by pytype | 
 | wheel: < | 
 |   name: "infra/python/wheels/pycnite-py3" | 
 |   version: "version:2023.10.11" | 
 | > | 
 |  | 
 | # Needed by pytype | 
 | wheel: < | 
 |   name: "infra/python/wheels/pydot-py2_py3" | 
 |   version: "version:1.4.2" | 
 | > | 
 |  | 
 | # Needed by jinja2 | 
 | wheel: < | 
 |   name: "infra/python/wheels/markupsafe/${vpython_platform}" | 
 |   version: "version:2.0.1" | 
 | > | 
 |  | 
 | wheel: < | 
 |   name: "infra/python/wheels/apipkg-py2_py3" | 
 |   version: "version:1.5" | 
 | > |