# 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"

# Used by:
#   build/android/pylib/local/emulator/avd.py
wheel: <
  name: "infra/python/wheels/protobuf-py3"
  version: "version:3.20.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.15.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.9.13"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
wheel: <
  name: "infra/python/wheels/importlab-py3"
  version: "version:0.8.1"
  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"
>
wheel: <
  name: "infra/python/wheels/pyyaml/${vpython_platform}"
  version: "version:5.4.1.chromium.1"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
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.14.0"
>
wheel: <
  name: "infra/python/wheels/tabulate-py3"
  version: "version:0.9.0"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
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_aarch64"
  >
>
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_aarch64"
  >
>

# 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-py2_py3"
  version: "version:3.7.2"
>

# 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.9.0"
>

# 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-py2_py3"
  version: "version:2.0.1"
>
wheel: <
  name: "infra/python/wheels/uritemplate-py2_py3"
  version: "version:3.0.0"
>
wheel: <
  name: "infra/python/wheels/google-auth-py2_py3"
  version: "version:1.25.0"
>
wheel: <
  name: "infra/python/wheels/googleapis-common-protos-py2_py3"
  version: "version:1.52.0"
>
wheel: <
  name: "infra/python/wheels/google-api-core-py3"
  version: "version:1.31.5"
>
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.2.0"
>
wheel: <
  name: "infra/python/wheels/oauth2client-py2_py3"
  version: "version:3.0.0"
>

# Used by:
# //third_party/blink/tools/wpt_upload.py
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.69.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.20.3"
>

wheel: <
  name: "infra/python/wheels/google-cloud-kms-py3"
  version: "version:2.11.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/mozlog-py2_py3"
  version: "version:7.1.0"
>
wheel: <
  name: "infra/python/wheels/mozprocess-py3"
  version: "version:1.3.0"
>
wheel: <
  name: "infra/python/wheels/urllib3-py2_py3"
  version: "version:1.24.3"
>
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-py2_py3"
  version: "version:2020.11.8"
>
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"
>

# 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-py2_py3"
  version: "version:16.8"
>

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"
>

wheel <
  name: "infra/python/wheels/pytest-py3"
  version: "version:6.2.2"
>

wheel <
  name: "infra/python/wheels/pytest-asyncio-py3"
  version: "version:0.14.0"
>

wheel <
  name: "infra/python/wheels/attrs-py2_py3"
  version: "version:21.4.0"
>

wheel <
  name: "infra/python/wheels/six-py2_py3"
  version: "version:1.15.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.10.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"
>

# Used by:
#   //content/test/gpu
wheel: <
  name: "infra/python/wheels/pathos/${vpython_platform}"
  version: "version:0.3.0.chromium.2"
  not_match_tag <
    abi: "cp27mu"
    platform: "manylinux1_i686"
  >
  not_match_tag <
    abi: "cp27mu"
    platform: "linux_mips64"
  >
  not_match_tag <
    abi: "cp27mu"
    platform: "linux_armv6l"
  >
  not_match_tag <
    abi: "cp27mu"
    platform: "linux_armv7l"
  >
>

wheel: <
  name: "infra/python/wheels/websockets-py3"
  version: "version:10.1"
>

# Used by:
#   //tools/infra/find_bad_builds.py
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:308"
  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
wheel: <
  name: "infra/python/wheels/pandas/${vpython_platform}"
  version: "version:2.2.3.chromium.1"
  not_match_tag: <
    platform: "linux_aarch64"
  >
>

# Used by:
#   testing/script/run_variations_smoke_tests.py
wheel: <
  name: "infra/python/wheels/selenium-py3"
  version: "version:3.14.0"
>

# Used by meson
wheel: <
  name: "infra/python/wheels/markupsafe/${vpython_platform}"
  version: "version:2.0.1"
>

wheel: <
  name: "infra/python/wheels/mako-py3"
  version: "version:1.2.3"
>

wheel: <
  name: "infra/python/wheels/immutabledict-py3"
  version: "version:4.1.0"
>

wheel: <
  name: "infra/python/wheels/jinja2-py3"
  version: "version:3.1.2"
>

wheel: <
  name: "infra/python/wheels/msgspec/${vpython_platform}"
  version: "version:0.18.6"
>

wheel: <
  name: "infra/python/wheels/pycnite-py3"
  version: "version:2024.07.31"
>

wheel: <
  name: "infra/python/wheels/pydot-py2_py3"
  version: "version:1.4.2"
>

wheel: <
  name: "infra/python/wheels/pyopenssl-py3"
  version: "version:24.2.1"
>

wheel: <
  name: "infra/python/wheels/service-identity-py3"
  version: "version:24.1.0"
>

wheel: <
  name: "infra/python/wheels/typing-inspect-py3"
  version: "version:0.7.1"
>

wheel: <
  name: "infra/python/wheels/pyyaml/${vpython_platform}"
  version: "version:5.4.1.chromium.1"
>

wheel: <
  name: "infra/python/wheels/tzdata-py2_py3"
  version: "version:2023.4"
>
