# 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 # # For the definition of this spec, see: # https://chromium.googlesource.com/infra/luci/luci-go/+/main/vpython/api/vpython/spec.proto python_version: "2.7" # 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: "cp27", abi: "cp27mu", platform: "manylinux1_x86_64"}, {python: "cp27", abi: "cp27mu", platform: "linux_arm64"}, {python: "cp27", abi: "cp27mu", platform: "linux_armv6l"}, {python: "cp27", abi: "cp27m", platform: "macosx_10_10_intel"}, {python: "cp27", abi: "cp27m", platform: "macosx_11_0_arm64"}, {python: "cp27", abi: "cp27m", platform: "win32"}, {python: "cp27", abi: "cp27m", platform: "win_amd64"} ] # 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/subprocess32/${vpython_platform}" version: "version:3.5.0rc1" # Only download for linux since we shouldn't be running CrOS tests on mac/win. match_tag: < abi: "cp27mu" platform: "manylinux1_i686" > match_tag: < abi: "cp27mu" platform: "manylinux1_x86_64" > > # Used by: # build/chromeos/test_runner.py # third_party/catapult # # This version must be compatible with the version range specified by # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py wheel: < name: "infra/python/wheels/psutil/${vpython_platform}" version: "version:5.8.0.chromium.3" > # Used by: # build/lacros/test_runner.py wheel: < name: "infra/python/wheels/parameterized-py2_py3" version: "version:0.7.1" > # Used by: # third_party/catapult # # This version must be compatible with the version range specified by # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py # # This version must also be compatible with the "numpy" version, as "cv2" # depends on "numpy". In this case, OpenCV@2.4.13.2 has been built against # numpy@1.11.3. wheel: < name: "infra/python/wheels/opencv_python/${vpython_platform}" version: "version:2.4.13.2" match_tag: < platform: "win32" > match_tag: < platform: "win_amd64" > match_tag: < abi: "cp27mu" platform: "manylinux1_i686" > match_tag: < abi: "cp27mu" platform: "manylinux1_x86_64" > match_tag: < platform: "macosx_10_6_intel" > > # Used by: # third_party/catapult # # This version must be compatible with the version range specified by # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py wheel: < name: "infra/python/wheels/numpy/${vpython_platform}" version: "version:1.11.3" > # Used by: # third_party/catapult wheel: < name: "infra/python/wheels/pypiwin32/${vpython_platform}" version: "version:219" match_tag: < platform: "win32" > match_tag: < platform: "win_amd64" > > # Used by: # chrome/test/data/android/upload_download_utils_test.py wheel: < name: "infra/python/wheels/pyfakefs-py2_py3" version: "version:3.7.2" > # Used by: # tools/perf/fetch_benchmark_deps.py wheel: < name: "infra/python/wheels/google_compute_engine-py2_py3" version: "version:2.6.2" > wheel: < name: "infra/python/wheels/boto-py2_py3" version: "version:2.48.0" > # Used by: # testing/buildbot/generate_buildbot_json_coveragetest.py wheel: < name: "infra/python/wheels/coverage/${vpython_platform}" version: "version:4.3.4" > # Used by: # build/android/pylib/local/emulator/avd.py wheel: < name: "infra/python/wheels/protobuf-py2_py3" version: "version:3.6.1" > wheel: < name: "infra/python/wheels/six-py2_py3" version: "version:1.15.0" > wheel: < name: "infra/python/wheels/pyftpdlib-py2_py3" version: "version:0.7.0" > wheel: < name: "infra/python/wheels/simplejson/${vpython_platform}" version: "version:3.13.2" > # Used by: # tools/perf/core/results_dashboard.py wheel: < name: "infra/python/wheels/httplib2-py2_py3" version: "version:0.10.3" > # Used by: # tools/perf/flakiness_cli wheel: < name: "infra/python/wheels/pandas/${vpython_platform}" version: "version:0.23.4" match_tag: < platform: "win32" > match_tag: < platform: "win_amd64" > match_tag: < abi: "cp27mu" platform: "manylinux1_i686" > match_tag: < abi: "cp27mu" platform: "manylinux1_x86_64" > match_tag: < platform: "macosx_10_6_intel" > > wheel: < name: "infra/python/wheels/pytz-py2_py3" version: "version:2018.4" > wheel: < name: "infra/python/wheels/python-dateutil-py2_py3" version: "version:2.7.3" > # Used by: # content/test/gpu/gpu_tests/color_profile_manager_mac.py # Note: there's a version of this wheel for even older OS versions, # but we don't need it for the GPU tests, and it looks like there are # bugs in the not_match_tag implementation. wheel: < name: "infra/python/wheels/pyobjc/${vpython_platform}" version: "version:4.1" match_tag: < platform: "macosx_10_10_intel" > > # Used by: # third_party/catapult wheel: < name: "infra/python/wheels/six-py2_py3" version: "version:1.15.0" > wheel: < name: "infra/python/wheels/pbr-py2_py3" version: "version:3.0.0" > wheel: < name: "infra/python/wheels/funcsigs-py2_py3" version: "version:1.0.2" > wheel: < name: "infra/python/wheels/mock-py2_py3" version: "version:2.0.0" > # Used by: # chrome/test/chromedriver/test/run_webdriver_tests.py wheel < name: "infra/python/wheels/pytest-py2_py3" version: "version:4.1.1" > wheel < name: "infra/python/wheels/attrs-py2_py3" version: "version:18.2.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/scandir/${vpython_platform}" version: "version:1.9.0" > wheel < name: "infra/python/wheels/pluggy-py2_py3" version: "version:0.8.1" > wheel < name: "infra/python/wheels/py-py2_py3" version: "version:1.5.3" > wheel < name: "infra/python/wheels/funcsigs-py2_py3" version: "version:1.0.2" > # Used by: # tools/infra wheel: < name: "infra/python/wheels/requests-py2_py3" version: "version:2.13.0" > wheel: < name: "infra/python/wheels/colorama-py2_py3" version: "version:0.4.1" > wheel: < name: "infra/python/wheels/mock-py2_py3" version: "version:2.0.0" > wheel: < name: "infra/python/wheels/atomicwrites-py2_py3" version: "version:1.3.0" > wheel: < name: "infra/python/wheels/pathlib2-py2_py3" version: "version:2.3.3" > # Used by Web Platform Tests (WPT) codebase in # //third_party/blink/web_tests/external/wpt/tools/ wheel: < name: "infra/python/wheels/html5lib-py2_py3" version: "version:1.0.1" > wheel: < name: "infra/python/wheels/mozdebug-py2_py3" version: "version:0.1.1" > wheel: < name: "infra/python/wheels/mozinfo-py2_py3" version: "version:1.1.0" > wheel: < name: "infra/python/wheels/mozlog-py2_py3" version: "version:7.1.0" > wheel: < name: "infra/python/wheels/mozprocess-py2_py3" version: "version:0.26" > 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/pillow/${vpython_platform}" version: "version:6.0.0" match_tag: < platform: "win32" > match_tag: < platform: "win_amd64" > match_tag: < abi: "cp27mu" platform: "manylinux1_i686" > match_tag: < abi: "cp27mu" platform: "manylinux1_x86_64" > match_tag: < platform: "macosx_10_6_intel" > > # Used by: # //third_party/blink/tools/blinkpy/web_tests/port/server_process.py wheel: < name: "infra/python/wheels/pywin32/${vpython_platform}" version: "version:227" match_tag: < platform: "win32" > match_tag: < platform: "win_amd64" > > # 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" > >