• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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