blob: 32c1e56db0d8b7281993717eb558d99779bfed7a [file] [log] [blame]
Robert Iannucci11a975f2017-08-31 17:31:411# 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:
John Palmer0e0f72bf2021-06-07 09:10:2012# https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/
Robert Iannucci11a975f2017-08-31 17:31:4113#
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:
John Palmer0e0f72bf2021-06-07 09:10:2023# https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md
Ben Pastene006cf3e2020-02-10 23:56:5124#
25# For the definition of this spec, see:
John Palmer0e0f72bf2021-06-07 09:10:2026# https://chromium.googlesource.com/infra/luci/luci-go/+/main/vpython/api/vpython/spec.proto
Robert Iannucci11a975f2017-08-31 17:31:4127
28python_version: "2.7"
29
Brian Rynerf82bfc22021-09-16 15:30:4430# The default set of platforms vpython checks does not yet include mac-arm64.
31# Setting `verify_pep425_tag` to the list of platforms we explicitly must support
32# allows us to ensure that vpython specs stay mac-arm64-friendly
33verify_pep425_tag: [
34 {python: "cp27", abi: "cp27mu", platform: "manylinux1_x86_64"},
35 {python: "cp27", abi: "cp27mu", platform: "linux_arm64"},
36 {python: "cp27", abi: "cp27mu", platform: "linux_armv6l"},
37
38 {python: "cp27", abi: "cp27m", platform: "macosx_10_10_intel"},
39 {python: "cp27", abi: "cp27m", platform: "macosx_11_0_arm64"},
40
41 {python: "cp27", abi: "cp27m", platform: "win32"},
42 {python: "cp27", abi: "cp27m", platform: "win_amd64"}
43]
44
Robert Iannucci11a975f2017-08-31 17:31:4145# Used by:
Ben Pasteneba744c00f2019-04-26 23:59:1946# build/chromeos/test_runner.py
47wheel: <
48 name: "infra/python/wheels/jsonlines-py2_py3"
49 version: "version:1.2.0"
50>
Ben Pastene006cf3e2020-02-10 23:56:5151wheel: <
52 name: "infra/python/wheels/subprocess32/${vpython_platform}"
53 version: "version:3.5.0rc1"
54 # Only download for linux since we shouldn't be running CrOS tests on mac/win.
55 match_tag: <
56 abi: "cp27mu"
57 platform: "manylinux1_i686"
58 >
59 match_tag: <
60 abi: "cp27mu"
61 platform: "manylinux1_x86_64"
62 >
63>
Ben Pasteneba744c00f2019-04-26 23:59:1964
65# Used by:
66# build/chromeos/test_runner.py
Robert Iannucci11a975f2017-08-31 17:31:4167# third_party/catapult
Dan Jacques8bc58822017-10-17 02:00:1368#
69# This version must be compatible with the version range specified by
70# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
Robert Iannucci11a975f2017-08-31 17:31:4171wheel: <
Nodir Turakulove2d81c32017-11-10 07:47:2772 name: "infra/python/wheels/psutil/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:3173 version: "version:5.8.0.chromium.3"
Robert Iannucci11a975f2017-08-31 17:31:4174>
Dan Jacques8bc58822017-10-17 02:00:1375
76# Used by:
Yuke Liao0ccddac2020-07-18 02:05:0677# build/lacros/test_runner.py
78wheel: <
79 name: "infra/python/wheels/parameterized-py2_py3"
80 version: "version:0.7.1"
81>
82
83# Used by:
Dan Jacques8bc58822017-10-17 02:00:1384# third_party/catapult
85#
86# This version must be compatible with the version range specified by
87# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
88#
89# This version must also be compatible with the "numpy" version, as "cv2"
90# depends on "numpy". In this case, [email protected] has been built against
91# [email protected].
Dan Jacques271694702017-09-08 21:38:4892wheel: <
Nodir Turakulove2d81c32017-11-10 07:47:2793 name: "infra/python/wheels/opencv_python/${vpython_platform}"
Dan Jacques8bc58822017-10-17 02:00:1394 version: "version:2.4.13.2"
Dan Jacques271694702017-09-08 21:38:4895 match_tag: <
96 platform: "win32"
97 >
98 match_tag: <
99 platform: "win_amd64"
100 >
101 match_tag: <
102 abi: "cp27mu"
103 platform: "manylinux1_i686"
104 >
105 match_tag: <
106 abi: "cp27mu"
107 platform: "manylinux1_x86_64"
108 >
109 match_tag: <
110 platform: "macosx_10_6_intel"
111 >
112>
Dan Jacques8bc58822017-10-17 02:00:13113
114# Used by:
115# third_party/catapult
116#
117# This version must be compatible with the version range specified by
118# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
Dan Jacques271694702017-09-08 21:38:48119wheel: <
Nodir Turakulove2d81c32017-11-10 07:47:27120 name: "infra/python/wheels/numpy/${vpython_platform}"
Dan Jacques8bc58822017-10-17 02:00:13121 version: "version:1.11.3"
Dan Jacques271694702017-09-08 21:38:48122>
Nodir Turakulove2d81c32017-11-10 07:47:27123
124# Used by:
125# third_party/catapult
126wheel: <
127 name: "infra/python/wheels/pypiwin32/${vpython_platform}"
128 version: "version:219"
129 match_tag: <
130 platform: "win32"
131 >
132 match_tag: <
133 platform: "win_amd64"
134 >
135>
Benjamin Pasteneb948e0752017-11-14 17:47:10136
137# Used by:
Arthur Wang95d62d42020-06-03 04:53:25138# chrome/test/data/android/upload_download_utils_test.py
139wheel: <
140 name: "infra/python/wheels/pyfakefs-py2_py3"
141 version: "version:3.7.2"
142>
143
144# Used by:
Benjamin Pasteneb948e0752017-11-14 17:47:10145# tools/perf/fetch_benchmark_deps.py
146wheel: <
147 name: "infra/python/wheels/google_compute_engine-py2_py3"
148 version: "version:2.6.2"
149>
150wheel: <
151 name: "infra/python/wheels/boto-py2_py3"
152 version: "version:2.48.0"
153>
Benjamin Pastenef88f17c2017-12-07 17:50:32154
155# Used by:
156# testing/buildbot/generate_buildbot_json_coveragetest.py
157wheel: <
158 name: "infra/python/wheels/coverage/${vpython_platform}"
159 version: "version:4.3.4"
160>
Robert Iannuccie06dc3092018-01-17 20:41:33161
162# Used by:
John Budorick0c4f3b42019-11-15 21:08:18163# build/android/pylib/local/emulator/avd.py
Robert Iannuccie06dc3092018-01-17 20:41:33164wheel: <
165 name: "infra/python/wheels/protobuf-py2_py3"
John Budorick0c4f3b42019-11-15 21:08:18166 version: "version:3.6.1"
Robert Iannuccie06dc3092018-01-17 20:41:33167>
168wheel: <
169 name: "infra/python/wheels/six-py2_py3"
Kyle Jue6df1442020-08-01 03:34:38170 version: "version:1.15.0"
Robert Iannuccie06dc3092018-01-17 20:41:33171>
172wheel: <
Robert Iannucciecafcf22018-01-18 22:44:16173 name: "infra/python/wheels/pyftpdlib-py2_py3"
174 version: "version:0.7.0"
175>
176wheel: <
177 name: "infra/python/wheels/simplejson/${vpython_platform}"
178 version: "version:3.13.2"
Robert Iannuccie06dc3092018-01-17 20:41:33179>
Ashley Enstad500b8242018-02-09 19:40:57180
181# Used by:
182# tools/perf/core/results_dashboard.py
183wheel: <
184 name: "infra/python/wheels/httplib2-py2_py3"
185 version: "version:0.10.3"
186>
bsheedy1f5390a2018-02-28 18:37:07187
188# Used by:
Juan Antonio Navarro Perezf1d4bbb62018-11-02 01:17:08189# tools/perf/flakiness_cli
190wheel: <
191 name: "infra/python/wheels/pandas/${vpython_platform}"
192 version: "version:0.23.4"
193 match_tag: <
194 platform: "win32"
195 >
196 match_tag: <
197 platform: "win_amd64"
198 >
199 match_tag: <
200 abi: "cp27mu"
201 platform: "manylinux1_i686"
202 >
203 match_tag: <
204 abi: "cp27mu"
205 platform: "manylinux1_x86_64"
206 >
207 match_tag: <
208 platform: "macosx_10_6_intel"
209 >
210>
211wheel: <
212 name: "infra/python/wheels/pytz-py2_py3"
213 version: "version:2018.4"
214>
215wheel: <
216 name: "infra/python/wheels/python-dateutil-py2_py3"
217 version: "version:2.7.3"
218>
219
220# Used by:
Kenneth Russellc4782ec12018-03-08 06:34:17221# content/test/gpu/gpu_tests/color_profile_manager_mac.py
222# Note: there's a version of this wheel for even older OS versions,
223# but we don't need it for the GPU tests, and it looks like there are
224# bugs in the not_match_tag implementation.
225wheel: <
226 name: "infra/python/wheels/pyobjc/${vpython_platform}"
227 version: "version:4.1"
228 match_tag: < platform: "macosx_10_10_intel" >
229>
John Budoricka5725a112018-09-21 20:24:01230
231# Used by:
232# third_party/catapult
233wheel: <
234 name: "infra/python/wheels/six-py2_py3"
Kyle Jue6df1442020-08-01 03:34:38235 version: "version:1.15.0"
John Budoricka5725a112018-09-21 20:24:01236>
237wheel: <
238 name: "infra/python/wheels/pbr-py2_py3"
239 version: "version:3.0.0"
240>
241wheel: <
242 name: "infra/python/wheels/funcsigs-py2_py3"
243 version: "version:1.0.2"
244>
245wheel: <
246 name: "infra/python/wheels/mock-py2_py3"
247 version: "version:2.0.0"
248>
kyle Juf8cdeac2019-02-07 00:10:01249
250# Used by:
251# chrome/test/chromedriver/test/run_webdriver_tests.py
252
253wheel <
254 name: "infra/python/wheels/pytest-py2_py3"
Robert Mab8334d1c2020-12-15 18:05:08255 version: "version:4.1.1"
kyle Juf8cdeac2019-02-07 00:10:01256>
257
258wheel <
259 name: "infra/python/wheels/attrs-py2_py3"
Robert Mab8334d1c2020-12-15 18:05:08260 version: "version:18.2.0"
kyle Juf8cdeac2019-02-07 00:10:01261>
262
263wheel <
264 name: "infra/python/wheels/six-py2_py3"
Kyle Jue6df1442020-08-01 03:34:38265 version: "version:1.15.0"
kyle Juf8cdeac2019-02-07 00:10:01266>
267
268wheel <
269 name: "infra/python/wheels/more-itertools-py2_py3"
270 version: "version:4.1.0"
271>
272
273wheel <
274 name: "infra/python/wheels/scandir/${vpython_platform}"
Robert Mab8334d1c2020-12-15 18:05:08275 version: "version:1.9.0"
kyle Juf8cdeac2019-02-07 00:10:01276>
277
278wheel <
279 name: "infra/python/wheels/pluggy-py2_py3"
Robert Mab8334d1c2020-12-15 18:05:08280 version: "version:0.8.1"
kyle Juf8cdeac2019-02-07 00:10:01281>
282
283wheel <
284 name: "infra/python/wheels/py-py2_py3"
285 version: "version:1.5.3"
286>
287
288wheel <
289 name: "infra/python/wheels/funcsigs-py2_py3"
290 version: "version:1.0.2"
291>
kyle Juf8cdeac2019-02-07 00:10:01292
Stephen Martinisb38b64c2019-04-10 19:30:12293# Used by:
294# tools/infra
295wheel: <
296 name: "infra/python/wheels/requests-py2_py3"
297 version: "version:2.13.0"
298>
kyle Juf8cdeac2019-02-07 00:10:01299wheel: <
300 name: "infra/python/wheels/colorama-py2_py3"
301 version: "version:0.4.1"
302>
Stephen Martinisb38b64c2019-04-10 19:30:12303wheel: <
304 name: "infra/python/wheels/mock-py2_py3"
305 version: "version:2.0.0"
306>
kyle Ju9afd8172019-02-20 19:15:45307
308wheel: <
309 name: "infra/python/wheels/atomicwrites-py2_py3"
310 version: "version:1.3.0"
311>
312
313wheel: <
314 name: "infra/python/wheels/pathlib2-py2_py3"
315 version: "version:2.3.3"
316>
Luke Zielinski218ddea32019-07-15 16:52:24317
318# Used by Web Platform Tests (WPT) codebase in
319# //third_party/blink/web_tests/external/wpt/tools/
320wheel: <
321 name: "infra/python/wheels/html5lib-py2_py3"
322 version: "version:1.0.1"
323>
324wheel: <
325 name: "infra/python/wheels/mozdebug-py2_py3"
326 version: "version:0.1.1"
327>
328wheel: <
329 name: "infra/python/wheels/mozinfo-py2_py3"
330 version: "version:1.1.0"
331>
332wheel: <
333 name: "infra/python/wheels/mozlog-py2_py3"
Stephen McGruerce445552021-01-07 21:29:29334 version: "version:7.1.0"
Luke Zielinski218ddea32019-07-15 16:52:24335>
336wheel: <
337 name: "infra/python/wheels/mozprocess-py2_py3"
338 version: "version:0.26"
339>
340wheel: <
341 name: "infra/python/wheels/urllib3-py2_py3"
Robert Mab8334d1c2020-12-15 18:05:08342 version: "version:1.24.3"
Luke Zielinski218ddea32019-07-15 16:52:24343>
344wheel: <
345 name: "infra/python/wheels/blessings-py2_py3"
346 version: "version:1.7"
347>
348wheel: <
349 name: "infra/python/wheels/mozfile-py2_py3"
350 version: "version:2.0.0"
351>
352wheel: <
353 name: "infra/python/wheels/mozterm-py2_py3"
354 version: "version:1.0.0"
355>
356wheel: <
357 name: "infra/python/wheels/webencodings-py2_py3"
358 version: "version:0.5.1"
359>
360wheel: <
361 name: "infra/python/wheels/certifi-py2_py3"
Robert Mab8334d1c2020-12-15 18:05:08362 version: "version:2020.11.8"
Luke Zielinski218ddea32019-07-15 16:52:24363>
364wheel: <
365 name: "infra/python/wheels/chardet-py2_py3"
366 version: "version:3.0.4"
367>
368wheel: <
369 name: "infra/python/wheels/idna-py2_py3"
370 version: "version:2.8"
371>
372wheel: <
373 name: "infra/python/wheels/pillow/${vpython_platform}"
374 version: "version:6.0.0"
375 match_tag: <
376 platform: "win32"
377 >
378 match_tag: <
379 platform: "win_amd64"
380 >
381 match_tag: <
382 abi: "cp27mu"
383 platform: "manylinux1_i686"
384 >
385 match_tag: <
386 abi: "cp27mu"
387 platform: "manylinux1_x86_64"
388 >
389 match_tag: <
390 platform: "macosx_10_6_intel"
391 >
392>
ehmaldonado0fbaadc2019-10-25 21:14:30393
394# Used by:
395# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
396wheel: <
397 name: "infra/python/wheels/pywin32/${vpython_platform}"
Chan Li64806d02020-04-23 20:39:49398 version: "version:227"
ehmaldonado0fbaadc2019-10-25 21:14:30399 match_tag: <
400 platform: "win32"
401 >
402 match_tag: <
403 platform: "win_amd64"
404 >
405>
Brian Sheedy616110d2021-02-19 00:52:50406
407# Used by:
408# //content/test/gpu
409wheel: <
410 name: "infra/python/wheels/pathos/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31411 version: "version:0.2.7.chromium.5"
Brian Sheedy616110d2021-02-19 00:52:50412 not_match_tag <
413 abi: "cp27mu"
414 platform: "manylinux1_i686"
415 >
416 not_match_tag <
417 abi: "cp27mu"
418 platform: "linux_mips64"
419 >
420 not_match_tag <
421 abi: "cp27mu"
422 platform: "linux_armv6l"
423 >
424 not_match_tag <
425 abi: "cp27mu"
426 platform: "linux_armv7l"
427 >
428>