1 # This is a vpython "spec" file.
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).
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/
14 # All python scripts in the repo share this same spec, to avoid dependency
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
22 # Read more about `vpython` and how to modify this file here:
23 # https://chromium.googlesource.com/infra/infra/+/master/doc/users/vpython.md
25 # For the definition of this spec, see:
26 # https://chromium.googlesource.com/infra/luci/luci-go/+/master/vpython/api/vpython/spec.proto
31 # build/chromeos/test_runner.py
33 name: "infra/python/wheels/jsonlines-py2_py3"
34 version: "version:1.2.0"
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.
42 platform: "manylinux1_i686"
46 platform: "manylinux1_x86_64"
51 # build/chromeos/test_runner.py
52 # third_party/catapult
54 # This version must be compatible with the version range specified by
55 # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
57 name: "infra/python/wheels/psutil/${vpython_platform}"
58 version: "version:5.2.2"
62 # third_party/catapult
64 # This version must be compatible with the version range specified by
65 # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
67 # This version must also be compatible with the "numpy" version, as "cv2"
68 # depends on "numpy". In this case, OpenCV@2.4.13.2 has been built against
71 name: "infra/python/wheels/opencv_python/${vpython_platform}"
72 version: "version:2.4.13.2"
81 platform: "manylinux1_i686"
85 platform: "manylinux1_x86_64"
88 platform: "macosx_10_6_intel"
93 # third_party/catapult
95 # This version must be compatible with the version range specified by
96 # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
98 name: "infra/python/wheels/numpy/${vpython_platform}"
99 version: "version:1.11.3"
103 # third_party/catapult
105 name: "infra/python/wheels/pypiwin32/${vpython_platform}"
106 version: "version:219"
111 platform: "win_amd64"
116 # chrome/test/data/android/upload_download_utils_test.py
118 name: "infra/python/wheels/pyfakefs-py2_py3"
119 version: "version:3.7.2"
123 # tools/perf/fetch_benchmark_deps.py
125 name: "infra/python/wheels/google_compute_engine-py2_py3"
126 version: "version:2.6.2"
129 name: "infra/python/wheels/boto-py2_py3"
130 version: "version:2.48.0"
134 # testing/buildbot/generate_buildbot_json_coveragetest.py
136 name: "infra/python/wheels/coverage/${vpython_platform}"
137 version: "version:4.3.4"
141 # build/android/pylib/local/emulator/avd.py
142 # components/policy/test_support/policy_testserver.py
144 name: "infra/python/wheels/protobuf-py2_py3"
145 version: "version:3.6.1"
148 name: "infra/python/wheels/six-py2_py3"
149 version: "version:1.10.0"
152 name: "infra/python/wheels/pyftpdlib-py2_py3"
153 version: "version:0.7.0"
156 name: "infra/python/wheels/simplejson/${vpython_platform}"
157 version: "version:3.13.2"
161 # tools/perf/core/results_dashboard.py
163 name: "infra/python/wheels/httplib2-py2_py3"
164 version: "version:0.10.3"
168 # tools/perf/flakiness_cli
170 name: "infra/python/wheels/pandas/${vpython_platform}"
171 version: "version:0.23.4"
176 platform: "win_amd64"
180 platform: "manylinux1_i686"
184 platform: "manylinux1_x86_64"
187 platform: "macosx_10_6_intel"
191 name: "infra/python/wheels/pytz-py2_py3"
192 version: "version:2018.4"
195 name: "infra/python/wheels/python-dateutil-py2_py3"
196 version: "version:2.7.3"
200 # content/test/gpu/gpu_tests/color_profile_manager_mac.py
201 # Note: there's a version of this wheel for even older OS versions,
202 # but we don't need it for the GPU tests, and it looks like there are
203 # bugs in the not_match_tag implementation.
205 name: "infra/python/wheels/pyobjc/${vpython_platform}"
206 version: "version:4.1"
207 match_tag: < platform: "macosx_10_10_intel" >
211 # third_party/catapult
213 name: "infra/python/wheels/six-py2_py3"
214 version: "version:1.10.0"
217 name: "infra/python/wheels/pbr-py2_py3"
218 version: "version:3.0.0"
221 name: "infra/python/wheels/funcsigs-py2_py3"
222 version: "version:1.0.2"
225 name: "infra/python/wheels/mock-py2_py3"
226 version: "version:2.0.0"
230 # chrome/test/chromedriver/test/run_webdriver_tests.py
233 name: "infra/python/wheels/pytest-py2_py3"
234 version: "version:3.6.2"
238 name: "infra/python/wheels/attrs-py2_py3"
239 version: "version:17.4.0"
243 name: "infra/python/wheels/six-py2_py3"
244 version: "version:1.10.0"
248 name: "infra/python/wheels/more-itertools-py2_py3"
249 version: "version:4.1.0"
253 name: "infra/python/wheels/scandir/${vpython_platform}"
254 version: "version:1.7"
258 name: "infra/python/wheels/pluggy-py2_py3"
259 version: "version:0.7.1"
263 name: "infra/python/wheels/py-py2_py3"
264 version: "version:1.5.3"
268 name: "infra/python/wheels/funcsigs-py2_py3"
269 version: "version:1.0.2"
272 name: "infra/python/wheels/psutil/${vpython_platform}"
273 version: "version:5.2.2"
279 name: "infra/python/wheels/requests-py2_py3"
280 version: "version:2.13.0"
283 name: "infra/python/wheels/colorama-py2_py3"
284 version: "version:0.4.1"
287 name: "infra/python/wheels/mock-py2_py3"
288 version: "version:2.0.0"
292 name: "infra/python/wheels/atomicwrites-py2_py3"
293 version: "version:1.3.0"
297 name: "infra/python/wheels/pathlib2-py2_py3"
298 version: "version:2.3.3"
301 # Used by Web Platform Tests (WPT) codebase in
302 # //third_party/blink/web_tests/external/wpt/tools/
304 name: "infra/python/wheels/html5lib-py2_py3"
305 version: "version:1.0.1"
308 name: "infra/python/wheels/mozdebug-py2_py3"
309 version: "version:0.1.1"
312 name: "infra/python/wheels/mozinfo-py2_py3"
313 version: "version:1.1.0"
316 name: "infra/python/wheels/mozlog-py2_py3"
317 version: "version:5.0"
320 name: "infra/python/wheels/mozprocess-py2_py3"
321 version: "version:0.26"
324 name: "infra/python/wheels/urllib3-py2_py3"
325 version: "version:1.22"
328 name: "infra/python/wheels/blessings-py2_py3"
329 version: "version:1.7"
332 name: "infra/python/wheels/mozfile-py2_py3"
333 version: "version:2.0.0"
336 name: "infra/python/wheels/mozterm-py2_py3"
337 version: "version:1.0.0"
340 name: "infra/python/wheels/webencodings-py2_py3"
341 version: "version:0.5.1"
344 name: "infra/python/wheels/certifi-py2_py3"
345 version: "version:2018.11.29"
348 name: "infra/python/wheels/chardet-py2_py3"
349 version: "version:3.0.4"
352 name: "infra/python/wheels/idna-py2_py3"
353 version: "version:2.8"
356 name: "infra/python/wheels/pillow/${vpython_platform}"
357 version: "version:6.0.0"
362 platform: "win_amd64"
366 platform: "manylinux1_i686"
370 platform: "manylinux1_x86_64"
373 platform: "macosx_10_6_intel"
378 # //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
380 name: "infra/python/wheels/pywin32/${vpython_platform}"
381 version: "version:227"
386 platform: "win_amd64"