| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702 |
- # 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
- # //tools/perf/crossbench
- wheel: <
- name: "infra/python/wheels/protobuf-py3"
- version: "version:4.25.1"
- >
- # 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.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.3.0"
- >
- wheel: <
- name: "infra/python/wheels/tabulate-py3"
- version: "version:0.8.10"
- >
- 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"
- >
- # 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.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-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.61.0"
- >
- wheel: <
- name: "infra/python/wheels/google-api-core-py3"
- version: "version:2.14.0"
- >
- 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.3"
- >
- 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.22.3"
- >
- 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.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-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-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
- # //tools/perf/crossbench
- 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: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: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
- # //tools/perf/crossbench
- 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"
- >
- wheel: <
- name: "infra/python/wheels/perfetto-py3"
- version: "version:0.11.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"
- >
- # 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.25.0"
- >
- 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/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"
- >
|