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

# 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:2021.11.2"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
wheel: <
  name: "infra/python/wheels/importlab-py3"
  version: "version:0.6.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-py3"
  version: "version:0.3.19"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
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.0.1"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
wheel: <
  name: "infra/python/wheels/tabulate-py3"
  version: "version:0.8.9"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
wheel: <
  name: "infra/python/wheels/typed-ast/${vpython_platform}"
  version: "version:1.5.3"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
wheel: <
  name: "infra/python/wheels/ninja/${vpython_platform}"
  version: "version:1.10.0.post2"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>
wheel: <
  name: "infra/python/wheels/mypy-extensions-py3"
  version: "version:0.4.3"
  match_tag: <
    platform: "manylinux1_x86_64"
  >
>

# 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.2x.supported.1"
>
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:8.3.1"
  # 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.5.3.56.chromium.4"
  # 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.7.3"
>

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

wheel: <
  name: "infra/python/wheels/grpcio/${vpython_platform}"
  version: "version:1.44.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:0.9.15"
>
wheel: <
  name: "infra/python/wheels/pylsqpack/${vpython_platform}"
  version: "version:0.3.12"
>
wheel: <
  name: "infra/python/wheels/cryptography/${vpython_platform}"
  version: "version:3.3.1.chromium.1"
>
wheel: <
  name: "infra/python/wheels/cffi/${vpython_platform}"
  version: "version:1.14.5.chromium.7"
>
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.1"
>

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:5.5.chromium.3"
>

# Used by:
#   //content/test/gpu
wheel: <
  name: "infra/python/wheels/pathos/${vpython_platform}"
  version: "version:0.2.7.chromium.5"
  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:2018.4"
>

# Used by:
#   //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
wheel: <
  name: "infra/python/wheels/pywin32/${vpython_platform}"
  version: "version:300"
  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:7.3.chromium.1"
  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:1.3.2.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"
>
