blob: c249e9c4384dd89acdf741e8d3b499ef31f8d9f4 [file] [log] [blame]
Jamie Madillb99bbba2020-09-13 10:34:54 -04001# 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>