1# This is a vpython "spec" file. 2# 3# It describes patterns for python wheel dependencies of the python scripts in 4# the chromium repo, particularly for dependencies that have compiled components 5# (since pure-python dependencies can be easily vendored into third_party). 6# 7# When vpython is invoked, it finds this file and builds a python VirtualEnv, 8# containing all of the dependencies described in this file, fetching them from 9# CIPD (the "Chrome Infrastructure Package Deployer" service). Unlike `pip`, 10# this never requires the end-user machine to have a working python extension 11# compilation environment. All of these packages are built using: 12# https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/ 13# 14# All python scripts in the repo share this same spec, to avoid dependency 15# fragmentation. 16# 17# If you have depot_tools installed in your $PATH, you can invoke python scripts 18# in this repo by running them as you normally would run them, except 19# substituting `vpython` instead of `python` on the command line, e.g.: 20# vpython path/to/script.py some --arguments 21# 22# Read more about `vpython` and how to modify this file here: 23# https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md 24# 25# For the definition of this spec, see: 26# https://chromium.googlesource.com/infra/luci/luci-go/+/main/vpython/api/vpython/spec.proto 27 28python_version: "2.7" 29 30# Used by: 31# build/chromeos/test_runner.py 32wheel: < 33 name: "infra/python/wheels/jsonlines-py2_py3" 34 version: "version:1.2.0" 35> 36wheel: < 37 name: "infra/python/wheels/subprocess32/${vpython_platform}" 38 version: "version:3.5.0rc1" 39 # Only download for linux since we shouldn't be running CrOS tests on mac/win. 40 match_tag: < 41 abi: "cp27mu" 42 platform: "manylinux1_i686" 43 > 44 match_tag: < 45 abi: "cp27mu" 46 platform: "manylinux1_x86_64" 47 > 48> 49 50# Used by: 51# build/chromeos/test_runner.py 52# third_party/catapult 53# 54# This version must be compatible with the version range specified by 55# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py 56wheel: < 57 name: "infra/python/wheels/psutil/${vpython_platform}" 58 version: "version:5.2.2" 59> 60 61# Used by: 62# build/lacros/test_runner.py 63wheel: < 64 name: "infra/python/wheels/parameterized-py2_py3" 65 version: "version:0.7.1" 66> 67 68# Used by: 69# third_party/catapult 70# 71# This version must be compatible with the version range specified by 72# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py 73# 74# This version must also be compatible with the "numpy" version, as "cv2" 75# depends on "numpy". In this case, [email protected] has been built against 76# [email protected]. 77wheel: < 78 name: "infra/python/wheels/opencv_python/${vpython_platform}" 79 version: "version:2.4.13.2" 80 match_tag: < 81 platform: "win32" 82 > 83 match_tag: < 84 platform: "win_amd64" 85 > 86 match_tag: < 87 abi: "cp27mu" 88 platform: "manylinux1_i686" 89 > 90 match_tag: < 91 abi: "cp27mu" 92 platform: "manylinux1_x86_64" 93 > 94 match_tag: < 95 platform: "macosx_10_6_intel" 96 > 97> 98 99# Used by: 100# third_party/catapult 101# 102# This version must be compatible with the version range specified by 103# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py 104wheel: < 105 name: "infra/python/wheels/numpy/${vpython_platform}" 106 version: "version:1.11.3" 107> 108 109# Used by: 110# third_party/catapult 111wheel: < 112 name: "infra/python/wheels/pypiwin32/${vpython_platform}" 113 version: "version:219" 114 match_tag: < 115 platform: "win32" 116 > 117 match_tag: < 118 platform: "win_amd64" 119 > 120> 121 122# Used by: 123# chrome/test/data/android/upload_download_utils_test.py 124wheel: < 125 name: "infra/python/wheels/pyfakefs-py2_py3" 126 version: "version:3.7.2" 127> 128 129# Used by: 130# tools/perf/fetch_benchmark_deps.py 131wheel: < 132 name: "infra/python/wheels/google_compute_engine-py2_py3" 133 version: "version:2.6.2" 134> 135wheel: < 136 name: "infra/python/wheels/boto-py2_py3" 137 version: "version:2.48.0" 138> 139 140# Used by: 141# testing/buildbot/generate_buildbot_json_coveragetest.py 142wheel: < 143 name: "infra/python/wheels/coverage/${vpython_platform}" 144 version: "version:4.3.4" 145> 146 147# Used by: 148# build/android/pylib/local/emulator/avd.py 149wheel: < 150 name: "infra/python/wheels/protobuf-py2_py3" 151 version: "version:3.6.1" 152> 153wheel: < 154 name: "infra/python/wheels/six-py2_py3" 155 version: "version:1.15.0" 156> 157wheel: < 158 name: "infra/python/wheels/pyftpdlib-py2_py3" 159 version: "version:0.7.0" 160> 161wheel: < 162 name: "infra/python/wheels/simplejson/${vpython_platform}" 163 version: "version:3.13.2" 164> 165 166# Used by: 167# tools/perf/core/results_dashboard.py 168wheel: < 169 name: "infra/python/wheels/httplib2-py2_py3" 170 version: "version:0.10.3" 171> 172 173# Used by: 174# tools/perf/flakiness_cli 175wheel: < 176 name: "infra/python/wheels/pandas/${vpython_platform}" 177 version: "version:0.23.4" 178 match_tag: < 179 platform: "win32" 180 > 181 match_tag: < 182 platform: "win_amd64" 183 > 184 match_tag: < 185 abi: "cp27mu" 186 platform: "manylinux1_i686" 187 > 188 match_tag: < 189 abi: "cp27mu" 190 platform: "manylinux1_x86_64" 191 > 192 match_tag: < 193 platform: "macosx_10_6_intel" 194 > 195> 196wheel: < 197 name: "infra/python/wheels/pytz-py2_py3" 198 version: "version:2018.4" 199> 200wheel: < 201 name: "infra/python/wheels/python-dateutil-py2_py3" 202 version: "version:2.7.3" 203> 204 205# Used by: 206# content/test/gpu/gpu_tests/color_profile_manager_mac.py 207# Note: there's a version of this wheel for even older OS versions, 208# but we don't need it for the GPU tests, and it looks like there are 209# bugs in the not_match_tag implementation. 210wheel: < 211 name: "infra/python/wheels/pyobjc/${vpython_platform}" 212 version: "version:4.1" 213 match_tag: < platform: "macosx_10_10_intel" > 214> 215 216# Used by: 217# third_party/catapult 218wheel: < 219 name: "infra/python/wheels/six-py2_py3" 220 version: "version:1.15.0" 221> 222wheel: < 223 name: "infra/python/wheels/pbr-py2_py3" 224 version: "version:3.0.0" 225> 226wheel: < 227 name: "infra/python/wheels/funcsigs-py2_py3" 228 version: "version:1.0.2" 229> 230wheel: < 231 name: "infra/python/wheels/mock-py2_py3" 232 version: "version:2.0.0" 233> 234 235# Used by: 236# chrome/test/chromedriver/test/run_webdriver_tests.py 237 238wheel < 239 name: "infra/python/wheels/pytest-py2_py3" 240 version: "version:3.6.2" 241> 242 243wheel < 244 name: "infra/python/wheels/attrs-py2_py3" 245 version: "version:17.4.0" 246> 247 248wheel < 249 name: "infra/python/wheels/six-py2_py3" 250 version: "version:1.15.0" 251> 252 253wheel < 254 name: "infra/python/wheels/more-itertools-py2_py3" 255 version: "version:4.1.0" 256> 257 258wheel < 259 name: "infra/python/wheels/scandir/${vpython_platform}" 260 version: "version:1.7" 261> 262 263wheel < 264 name: "infra/python/wheels/pluggy-py2_py3" 265 version: "version:0.7.1" 266> 267 268wheel < 269 name: "infra/python/wheels/py-py2_py3" 270 version: "version:1.5.3" 271> 272 273wheel < 274 name: "infra/python/wheels/funcsigs-py2_py3" 275 version: "version:1.0.2" 276> 277wheel: < 278 name: "infra/python/wheels/psutil/${vpython_platform}" 279 version: "version:5.2.2" 280> 281 282# Used by: 283# tools/infra 284wheel: < 285 name: "infra/python/wheels/requests-py2_py3" 286 version: "version:2.13.0" 287> 288wheel: < 289 name: "infra/python/wheels/colorama-py2_py3" 290 version: "version:0.4.1" 291> 292wheel: < 293 name: "infra/python/wheels/mock-py2_py3" 294 version: "version:2.0.0" 295> 296 297wheel: < 298 name: "infra/python/wheels/atomicwrites-py2_py3" 299 version: "version:1.3.0" 300> 301 302wheel: < 303 name: "infra/python/wheels/pathlib2-py2_py3" 304 version: "version:2.3.3" 305> 306 307# Used by Web Platform Tests (WPT) codebase in 308# //third_party/blink/web_tests/external/wpt/tools/ 309wheel: < 310 name: "infra/python/wheels/html5lib-py2_py3" 311 version: "version:1.0.1" 312> 313wheel: < 314 name: "infra/python/wheels/mozdebug-py2_py3" 315 version: "version:0.1.1" 316> 317wheel: < 318 name: "infra/python/wheels/mozinfo-py2_py3" 319 version: "version:1.1.0" 320> 321wheel: < 322 name: "infra/python/wheels/mozlog-py2_py3" 323 version: "version:5.0" 324> 325wheel: < 326 name: "infra/python/wheels/mozprocess-py2_py3" 327 version: "version:0.26" 328> 329wheel: < 330 name: "infra/python/wheels/urllib3-py2_py3" 331 version: "version:1.22" 332> 333wheel: < 334 name: "infra/python/wheels/blessings-py2_py3" 335 version: "version:1.7" 336> 337wheel: < 338 name: "infra/python/wheels/mozfile-py2_py3" 339 version: "version:2.0.0" 340> 341wheel: < 342 name: "infra/python/wheels/mozterm-py2_py3" 343 version: "version:1.0.0" 344> 345wheel: < 346 name: "infra/python/wheels/webencodings-py2_py3" 347 version: "version:0.5.1" 348> 349wheel: < 350 name: "infra/python/wheels/certifi-py2_py3" 351 version: "version:2018.11.29" 352> 353wheel: < 354 name: "infra/python/wheels/chardet-py2_py3" 355 version: "version:3.0.4" 356> 357wheel: < 358 name: "infra/python/wheels/idna-py2_py3" 359 version: "version:2.8" 360> 361wheel: < 362 name: "infra/python/wheels/pillow/${vpython_platform}" 363 version: "version:6.0.0" 364 match_tag: < 365 platform: "win32" 366 > 367 match_tag: < 368 platform: "win_amd64" 369 > 370 match_tag: < 371 abi: "cp27mu" 372 platform: "manylinux1_i686" 373 > 374 match_tag: < 375 abi: "cp27mu" 376 platform: "manylinux1_x86_64" 377 > 378 match_tag: < 379 platform: "macosx_10_6_intel" 380 > 381> 382 383# Used by: 384# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py 385wheel: < 386 name: "infra/python/wheels/pywin32/${vpython_platform}" 387 version: "version:227" 388 match_tag: < 389 platform: "win32" 390 > 391 match_tag: < 392 platform: "win_amd64" 393 > 394> 395