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/+/master/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/+/master/doc/users/vpython.md 24# 25# For the definition of this spec, see: 26# https://chromium.googlesource.com/infra/luci/luci-go/+/master/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, OpenCV@2.4.13.2 has been built against 76# numpy@1.11.3. 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 149# components/policy/test_support/policy_testserver.py 150wheel: < 151 name: "infra/python/wheels/protobuf-py2_py3" 152 version: "version:3.6.1" 153> 154wheel: < 155 name: "infra/python/wheels/six-py2_py3" 156 version: "version:1.15.0" 157> 158wheel: < 159 name: "infra/python/wheels/pyftpdlib-py2_py3" 160 version: "version:0.7.0" 161> 162wheel: < 163 name: "infra/python/wheels/simplejson/${vpython_platform}" 164 version: "version:3.13.2" 165> 166 167# Used by: 168# tools/perf/core/results_dashboard.py 169wheel: < 170 name: "infra/python/wheels/httplib2-py2_py3" 171 version: "version:0.10.3" 172> 173 174# Used by: 175# tools/perf/flakiness_cli 176wheel: < 177 name: "infra/python/wheels/pandas/${vpython_platform}" 178 version: "version:0.23.4" 179 match_tag: < 180 platform: "win32" 181 > 182 match_tag: < 183 platform: "win_amd64" 184 > 185 match_tag: < 186 abi: "cp27mu" 187 platform: "manylinux1_i686" 188 > 189 match_tag: < 190 abi: "cp27mu" 191 platform: "manylinux1_x86_64" 192 > 193 match_tag: < 194 platform: "macosx_10_6_intel" 195 > 196> 197wheel: < 198 name: "infra/python/wheels/pytz-py2_py3" 199 version: "version:2018.4" 200> 201wheel: < 202 name: "infra/python/wheels/python-dateutil-py2_py3" 203 version: "version:2.7.3" 204> 205 206# Used by: 207# content/test/gpu/gpu_tests/color_profile_manager_mac.py 208# Note: there's a version of this wheel for even older OS versions, 209# but we don't need it for the GPU tests, and it looks like there are 210# bugs in the not_match_tag implementation. 211wheel: < 212 name: "infra/python/wheels/pyobjc/${vpython_platform}" 213 version: "version:4.1" 214 match_tag: < platform: "macosx_10_10_intel" > 215> 216 217# Used by: 218# third_party/catapult 219wheel: < 220 name: "infra/python/wheels/six-py2_py3" 221 version: "version:1.15.0" 222> 223wheel: < 224 name: "infra/python/wheels/pbr-py2_py3" 225 version: "version:3.0.0" 226> 227wheel: < 228 name: "infra/python/wheels/funcsigs-py2_py3" 229 version: "version:1.0.2" 230> 231wheel: < 232 name: "infra/python/wheels/mock-py2_py3" 233 version: "version:2.0.0" 234> 235 236# Used by: 237# chrome/test/chromedriver/test/run_webdriver_tests.py 238 239wheel < 240 name: "infra/python/wheels/pytest-py2_py3" 241 version: "version:3.6.2" 242> 243 244wheel < 245 name: "infra/python/wheels/attrs-py2_py3" 246 version: "version:17.4.0" 247> 248 249wheel < 250 name: "infra/python/wheels/six-py2_py3" 251 version: "version:1.15.0" 252> 253 254wheel < 255 name: "infra/python/wheels/more-itertools-py2_py3" 256 version: "version:4.1.0" 257> 258 259wheel < 260 name: "infra/python/wheels/scandir/${vpython_platform}" 261 version: "version:1.7" 262> 263 264wheel < 265 name: "infra/python/wheels/pluggy-py2_py3" 266 version: "version:0.7.1" 267> 268 269wheel < 270 name: "infra/python/wheels/py-py2_py3" 271 version: "version:1.5.3" 272> 273 274wheel < 275 name: "infra/python/wheels/funcsigs-py2_py3" 276 version: "version:1.0.2" 277> 278wheel: < 279 name: "infra/python/wheels/psutil/${vpython_platform}" 280 version: "version:5.2.2" 281> 282 283# Used by: 284# tools/infra 285wheel: < 286 name: "infra/python/wheels/requests-py2_py3" 287 version: "version:2.13.0" 288> 289wheel: < 290 name: "infra/python/wheels/colorama-py2_py3" 291 version: "version:0.4.1" 292> 293wheel: < 294 name: "infra/python/wheels/mock-py2_py3" 295 version: "version:2.0.0" 296> 297 298wheel: < 299 name: "infra/python/wheels/atomicwrites-py2_py3" 300 version: "version:1.3.0" 301> 302 303wheel: < 304 name: "infra/python/wheels/pathlib2-py2_py3" 305 version: "version:2.3.3" 306> 307 308# Used by Web Platform Tests (WPT) codebase in 309# //third_party/blink/web_tests/external/wpt/tools/ 310wheel: < 311 name: "infra/python/wheels/html5lib-py2_py3" 312 version: "version:1.0.1" 313> 314wheel: < 315 name: "infra/python/wheels/mozdebug-py2_py3" 316 version: "version:0.1.1" 317> 318wheel: < 319 name: "infra/python/wheels/mozinfo-py2_py3" 320 version: "version:1.1.0" 321> 322wheel: < 323 name: "infra/python/wheels/mozlog-py2_py3" 324 version: "version:5.0" 325> 326wheel: < 327 name: "infra/python/wheels/mozprocess-py2_py3" 328 version: "version:0.26" 329> 330wheel: < 331 name: "infra/python/wheels/urllib3-py2_py3" 332 version: "version:1.22" 333> 334wheel: < 335 name: "infra/python/wheels/blessings-py2_py3" 336 version: "version:1.7" 337> 338wheel: < 339 name: "infra/python/wheels/mozfile-py2_py3" 340 version: "version:2.0.0" 341> 342wheel: < 343 name: "infra/python/wheels/mozterm-py2_py3" 344 version: "version:1.0.0" 345> 346wheel: < 347 name: "infra/python/wheels/webencodings-py2_py3" 348 version: "version:0.5.1" 349> 350wheel: < 351 name: "infra/python/wheels/certifi-py2_py3" 352 version: "version:2018.11.29" 353> 354wheel: < 355 name: "infra/python/wheels/chardet-py2_py3" 356 version: "version:3.0.4" 357> 358wheel: < 359 name: "infra/python/wheels/idna-py2_py3" 360 version: "version:2.8" 361> 362wheel: < 363 name: "infra/python/wheels/pillow/${vpython_platform}" 364 version: "version:6.0.0" 365 match_tag: < 366 platform: "win32" 367 > 368 match_tag: < 369 platform: "win_amd64" 370 > 371 match_tag: < 372 abi: "cp27mu" 373 platform: "manylinux1_i686" 374 > 375 match_tag: < 376 abi: "cp27mu" 377 platform: "manylinux1_x86_64" 378 > 379 match_tag: < 380 platform: "macosx_10_6_intel" 381 > 382> 383 384# Used by: 385# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py 386wheel: < 387 name: "infra/python/wheels/pywin32/${vpython_platform}" 388 version: "version:227" 389 match_tag: < 390 platform: "win32" 391 > 392 match_tag: < 393 platform: "win_amd64" 394 > 395> 396