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

# 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: "cp38", abi: "cp38", platform: "manylinux1_x86_64"},
    {python: "cp38", abi: "cp38", platform: "linux_arm64"},

    {python: "cp38", abi: "cp38", platform: "macosx_10_10_intel"},
    {python: "cp38", abi: "cp38", platform: "macosx_11_0_arm64"},

    {python: "cp38", abi: "cp38", platform: "win32"},
    {python: "cp38", abi: "cp38", platform: "win_amd64"}
]

# 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/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"
>
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_arm64"
  >
>
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_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-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
# //third_party/chromite/bin/cros chrome-sdk
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/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.0"
>
wheel: <
  name: "infra/python/wheels/urllib3-py2_py3"
  version: "version:1.26.6"
>
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.20.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: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"
>
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-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"
>

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

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

# 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.1.0"
>
wheel: <
  name: "infra/python/wheels/trio-py3"
  version: "version:0.20.0"
>
wheel: <
  name: "infra/python/wheels/trio-websocket-py3"
  version: "version:0.9.2"
>
wheel: <
  name: "infra/python/wheels/outcome-py3"
  version: "version:1.1.0"
>
wheel: <
  name: "infra/python/wheels/sniffio-py3"
  version: "version:1.2.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-py2_py3"
  version: "version:20.0.0"
>

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