blob: 8f6f68bb275b52c7fbefa13c662b4d86464328b8 [file] [log] [blame]
Brian Sheedy234580e52019-09-10 17:42:511# 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/
Brian Sheedy234580e52019-09-10 17:42:5113#
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
Brian Sheedy234580e52019-09-10 17:42:5124
25python_version: "3.8"
Brian Rynerf82bfc22021-09-16 15:30:4426
27# The default set of platforms vpython checks does not yet include mac-arm64.
28# Setting `verify_pep425_tag` to the list of platforms we explicitly must support
29# allows us to ensure that vpython specs stay mac-arm64-friendly
30verify_pep425_tag: [
31 {python: "cp38", abi: "cp38", platform: "manylinux1_x86_64"},
32 {python: "cp38", abi: "cp38", platform: "linux_arm64"},
33
34 {python: "cp38", abi: "cp38", platform: "macosx_10_10_intel"},
35 {python: "cp38", abi: "cp38", platform: "macosx_11_0_arm64"},
36
37 {python: "cp38", abi: "cp38", platform: "win32"},
38 {python: "cp38", abi: "cp38", platform: "win_amd64"}
39]
40
Weizhong Xiae87d2572021-03-21 16:53:5141# Used by:
42# build/android/pylib/local/emulator/avd.py
Weizhong Xiae87d2572021-03-21 16:53:5143wheel: <
Weizhong Xia9cf06dd82022-05-17 16:10:0944 name: "infra/python/wheels/protobuf-py3"
45 version: "version:3.19.3"
Weizhong Xiae87d2572021-03-21 16:53:5146>
Brian Sheedy234580e52019-09-10 17:42:5147
48# TODO(https://crbug.com/898348): Add in necessary wheels as Python3 versions
49# become available.
Daniel Cheng826af0e2020-06-04 21:14:3250wheel: <
51 name: "infra/python/wheels/six-py2_py3"
John Budorick2f6445a2020-12-18 20:32:3352 version: "version:1.15.0"
Daniel Cheng826af0e2020-06-04 21:14:3253>
Ben Pasteneefdcb842021-01-29 01:38:2154
Brian Sheedy460fc3e2022-05-16 21:38:2455# These wheels are necessary to run pytype, i.e. enforce Python 3 type hinting.
56# We currently use 2021.11.2 instead of the 2022.5.5 available in CIPD because
57# 2022.5.5 seems to have issues when analyzing code that imports the asyncio
58# module. 2021.11.2 only has Linux wheels available, so restrict to that
59# platform.
60wheel: <
61 name: "infra/python/wheels/pytype/${vpython_platform}"
62 version: "version:2021.11.2"
63 match_tag: <
64 platform: "manylinux1_x86_64"
65 >
66>
67wheel: <
68 name: "infra/python/wheels/importlab-py3"
69 version: "version:0.6.1"
70 match_tag: <
71 platform: "manylinux1_x86_64"
72 >
73>
74wheel: <
75 name: "infra/python/wheels/networkx-py3"
76 version: "version:2.5"
77 match_tag: <
78 platform: "manylinux1_x86_64"
79 >
80>
81wheel: <
82 name: "infra/python/wheels/decorator-py3"
83 version: "version:5.0.9"
84 match_tag: <
85 platform: "manylinux1_x86_64"
86 >
87>
88wheel: <
89 name: "infra/python/wheels/libcst-py3"
90 version: "version:0.3.19"
91 match_tag: <
92 platform: "manylinux1_x86_64"
93 >
94>
95wheel: <
96 name: "infra/python/wheels/pyyaml/${vpython_platform}"
97 version: "version:5.4.1.chromium.1"
98 match_tag: <
99 platform: "manylinux1_x86_64"
100 >
101>
102wheel: <
103 name: "infra/python/wheels/typing-inspect-py3"
104 version: "version:0.7.1"
105 match_tag: <
106 platform: "manylinux1_x86_64"
107 >
108>
109wheel: <
110 name: "infra/python/wheels/typing-extensions-py3"
111 version: "version:4.0.1"
112 match_tag: <
113 platform: "manylinux1_x86_64"
114 >
115>
116wheel: <
117 name: "infra/python/wheels/tabulate-py3"
118 version: "version:0.8.9"
119 match_tag: <
120 platform: "manylinux1_x86_64"
121 >
122>
123wheel: <
124 name: "infra/python/wheels/typed-ast/${vpython_platform}"
125 version: "version:1.5.3"
126 match_tag: <
127 platform: "manylinux1_x86_64"
128 >
129>
130wheel: <
131 name: "infra/python/wheels/ninja/${vpython_platform}"
132 version: "version:1.10.0.post2"
133 match_tag: <
134 platform: "manylinux1_x86_64"
135 >
136>
137wheel: <
138 name: "infra/python/wheels/mypy-extensions-py3"
139 version: "version:0.4.3"
140 match_tag: <
141 platform: "manylinux1_x86_64"
142 >
143>
144
Ben Pasteneefdcb842021-01-29 01:38:21145# Common utilities.
Brian Sheedy50000e22021-09-24 00:59:27146# Use the same versions specified by //third_party/catapult/.vpython3 so that
147# Chromium tests using Telemetry function properly.
Brian Sheedy9d952022021-05-15 00:38:02148wheel: <
149 name: "infra/python/wheels/numpy/${vpython_platform}"
Chenlin Fan8cdf4e62022-02-16 02:53:34150 version: "version:1.2x.supported.1"
Brian Sheedy9d952022021-05-15 00:38:02151>
Ben Pasteneefdcb842021-01-29 01:38:21152wheel: <
Chong Gu3ecb1b62022-04-06 19:30:52153 name: "infra/python/wheels/pexpect/${vpython_platform}"
154 version: "version:4.8.0.chromium.1"
155>
156wheel: <
Weizhong Xiae87d2572021-03-21 16:53:51157 name: "infra/python/wheels/psutil/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31158 version: "version:5.8.0.chromium.3"
Ben Pasteneefdcb842021-01-29 01:38:21159>
160wheel: <
161 name: "infra/python/wheels/requests-py2_py3"
Weizhong Xia5be26202021-10-25 19:05:55162 version: "version:2.26.0"
Ben Pasteneefdcb842021-01-29 01:38:21163>
Brian Sheedyabc5d462022-03-04 20:45:40164wheel: <
165 name: "infra/python/wheels/pillow/${vpython_platform}"
166 version: "version:8.3.1"
167 # There is currently no Linux arm/arm64 version in CIPD.
168 not_match_tag <
169 platform: "linux_aarch64"
170 >
171>
Brian Sheedy9503edd2022-05-17 21:54:39172wheel: <
173 name: "infra/python/wheels/opencv_python/${vpython_platform}"
174 version: "version:4.5.3.56.chromium.4"
175 # There is currently no Linux arm/arm64 version in CIPD.
176 not_match_tag <
177 platform: "linux_aarch64"
178 >
179>
Ben Pasteneefdcb842021-01-29 01:38:21180
181# Used by various python unit tests.
182wheel: <
183 name: "infra/python/wheels/mock-py2_py3"
184 version: "version:2.0.0"
185>
186wheel: <
187 name: "infra/python/wheels/parameterized-py2_py3"
188 version: "version:0.7.1"
189>
190wheel: <
191 name: "infra/python/wheels/pbr-py2_py3"
192 version: "version:3.0.0"
193>
194
Brian Sheedy9d952022021-05-15 00:38:02195wheel: <
196 name: "infra/python/wheels/pyfakefs-py2_py3"
197 version: "version:3.7.2"
198>
199
Ben Pasteneefdcb842021-01-29 01:38:21200# Used by:
201# build/chromeos/test_runner.py
202wheel: <
203 name: "infra/python/wheels/jsonlines-py2_py3"
204 version: "version:1.2.0"
205>
206wheel: <
207 name: "infra/python/wheels/python-dateutil-py2_py3"
208 version: "version:2.7.3"
209>
Luke Zielinski57397c7c2021-03-04 22:53:51210
Weizhong Xia5be26202021-10-25 19:05:55211# Used by WPT importer
212wheel: <
213 name: "infra/python/wheels/charset_normalizer-py3"
214 version: "version:2.0.4"
215>
216wheel: <
217 name: "infra/python/wheels/pyasn1-py2_py3"
218 version: "version:0.4.5"
219>
220wheel: <
221 name: "infra/python/wheels/pyasn1_modules-py2_py3"
222 version: "version:0.2.4"
223>
224wheel: <
225 name: "infra/python/wheels/rsa-py2_py3"
226 version: "version:3.4.2"
227>
228wheel: <
229 name: "infra/python/wheels/cachetools-py2_py3"
230 version: "version:2.0.1"
231>
232wheel: <
233 name: "infra/python/wheels/uritemplate-py2_py3"
234 version: "version:3.0.0"
235>
236wheel: <
237 name: "infra/python/wheels/google-auth-py2_py3"
238 version: "version:1.25.0"
239>
240wheel: <
241 name: "infra/python/wheels/googleapis-common-protos-py2_py3"
242 version: "version:1.52.0"
243>
244wheel: <
Weizhong Xia9cf06dd82022-05-17 16:10:09245 name: "infra/python/wheels/google-api-core-py3"
246 version: "version:1.31.5"
Weizhong Xia5be26202021-10-25 19:05:55247>
248wheel: <
249 name: "infra/python/wheels/google-auth-httplib2-py2_py3"
250 version: "version:0.1.0"
251>
252wheel: <
253 name: "infra/python/wheels/google-api-python-client-py3"
254 version: "version:2.2.0"
255>
Weizhong Xia73783402021-10-26 18:39:44256wheel: <
257 name: "infra/python/wheels/oauth2client-py2_py3"
258 version: "version:3.0.0"
259>
Weizhong Xia5be26202021-10-25 19:05:55260
Weizhong Xia9cf06dd82022-05-17 16:10:09261# Used by:
262# //third_party/blink/tools/wpt_upload.py
263wheel: <
264 name: "infra/python/wheels/crcmod/${vpython_platform}"
265 version: "version:1.7.chromium.3"
266>
267
268wheel: <
269 name: "infra/python/wheels/grpcio/${vpython_platform}"
270 version: "version:1.44.0"
271>
272
273wheel: <
274 name: "infra/python/wheels/grpc-google-iam-v1-py3"
275 version: "version:0.12.3"
276>
277
278wheel: <
279 name: "infra/python/wheels/proto-plus-py3"
280 version: "version:1.20.3"
281>
282
283wheel: <
284 name: "infra/python/wheels/google-cloud-kms-py3"
285 version: "version:2.11.1"
286>
287
Luke Zielinski57397c7c2021-03-04 22:53:51288# Used by Web Platform Tests (WPT) codebase in
Weizhong Xia9cf06dd82022-05-17 16:10:09289# //third_party/wpt_tools
Luke Zielinski57397c7c2021-03-04 22:53:51290wheel: <
291 name: "infra/python/wheels/html5lib-py2_py3"
292 version: "version:1.0.1"
293>
294wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55295 name: "infra/python/wheels/mozdebug-py3"
296 version: "version:0.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51297>
298wheel: <
299 name: "infra/python/wheels/mozinfo-py2_py3"
300 version: "version:1.2.2"
301>
302wheel: <
303 name: "infra/python/wheels/mozlog-py2_py3"
304 version: "version:7.1.0"
305>
306wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55307 name: "infra/python/wheels/mozprocess-py3"
308 version: "version:1.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51309>
310wheel: <
311 name: "infra/python/wheels/urllib3-py2_py3"
312 version: "version:1.24.3"
313>
314wheel: <
315 name: "infra/python/wheels/blessings-py2_py3"
316 version: "version:1.7"
317>
318wheel: <
319 name: "infra/python/wheels/mozfile-py2_py3"
320 version: "version:2.0.0"
321>
322wheel: <
323 name: "infra/python/wheels/mozterm-py2_py3"
324 version: "version:1.0.0"
325>
326wheel: <
327 name: "infra/python/wheels/webencodings-py2_py3"
328 version: "version:0.5.1"
329>
330wheel: <
331 name: "infra/python/wheels/certifi-py2_py3"
332 version: "version:2020.11.8"
333>
334wheel: <
335 name: "infra/python/wheels/chardet-py2_py3"
336 version: "version:3.0.4"
337>
338wheel: <
339 name: "infra/python/wheels/idna-py2_py3"
340 version: "version:2.8"
341>
342wheel: <
343 name: "infra/python/wheels/distro-py2_py3"
344 version: "version:1.4.0"
345>
Luke Zielinski5b0bcde32021-03-17 16:14:14346wheel: <
Kenichi Ishibashi7449f1c2021-10-19 00:20:36347 name: "infra/python/wheels/aioquic/${vpython_platform}"
348 version: "version:0.9.15"
349>
350wheel: <
351 name: "infra/python/wheels/pylsqpack/${vpython_platform}"
352 version: "version:0.3.12"
353>
354wheel: <
355 name: "infra/python/wheels/cryptography/${vpython_platform}"
Brian Ryner6c5601932021-11-09 18:30:02356 version: "version:3.3.1.chromium.1"
Kenichi Ishibashi7449f1c2021-10-19 00:20:36357>
358wheel: <
359 name: "infra/python/wheels/cffi/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31360 version: "version:1.14.5.chromium.7"
Kenichi Ishibashi7449f1c2021-10-19 00:20:36361>
362wheel: <
363 name: "infra/python/wheels/pycparser-py2_py3"
364 version: "version:2.19"
365>
Stephen McGruer367e9b202021-03-19 13:32:18366
367# Used by:
368# chrome/test/chromedriver/test/run_webdriver_tests.py
Luke Zielinski04b275de2021-03-24 19:30:00369wheel: <
370 name: "infra/python/wheels/iniconfig-py3"
371 version: "version:1.1.1"
372>
373
374wheel: <
375 name: "infra/python/wheels/packaging-py2_py3"
376 version: "version:16.8"
377>
378
379wheel: <
380 name: "infra/python/wheels/pyparsing-py2_py3"
Brian Sheedyf9ffd522021-09-30 20:40:46381 version: "version:2.4.7"
Luke Zielinski04b275de2021-03-24 19:30:00382>
383
384wheel: <
385 name: "infra/python/wheels/toml-py3"
386 version: "version:0.10.1"
387>
Stephen McGruer367e9b202021-03-19 13:32:18388
389wheel <
Luke Zielinski04b275de2021-03-24 19:30:00390 name: "infra/python/wheels/pytest-py3"
391 version: "version:6.2.2"
392>
393
394wheel <
395 name: "infra/python/wheels/pytest-asyncio-py3"
396 version: "version:0.14.0"
Stephen McGruer367e9b202021-03-19 13:32:18397>
398
399wheel <
400 name: "infra/python/wheels/attrs-py2_py3"
Brian Sheedy460fc3e2022-05-16 21:38:24401 version: "version:21.4.0"
Stephen McGruer367e9b202021-03-19 13:32:18402>
403
404wheel <
405 name: "infra/python/wheels/six-py2_py3"
406 version: "version:1.15.0"
407>
408
409wheel <
410 name: "infra/python/wheels/more-itertools-py2_py3"
411 version: "version:4.1.0"
412>
413
414wheel <
Luke Zielinski04b275de2021-03-24 19:30:00415 name: "infra/python/wheels/pluggy-py3"
416 version: "version:0.13.1"
Stephen McGruer367e9b202021-03-19 13:32:18417>
418
419wheel <
420 name: "infra/python/wheels/py-py2_py3"
Brian Rynera2b0fa8e2021-07-22 18:54:22421 version: "version:1.10.0"
Stephen McGruer367e9b202021-03-19 13:32:18422>
423
424wheel <
425 name: "infra/python/wheels/funcsigs-py2_py3"
426 version: "version:1.0.2"
427>
428
429wheel: <
430 name: "infra/python/wheels/atomicwrites-py2_py3"
431 version: "version:1.3.0"
432>
Jamie Madillcf4f8c72021-05-20 19:24:23433
434wheel: <
435 name: "infra/python/wheels/colorama-py2_py3"
436 version: "version:0.4.1"
437>
438
439# Used by:
440# testing/buildbot/generate_buildbot_json_coveragetest.py
441wheel: <
442 name: "infra/python/wheels/coverage/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31443 version: "version:5.5.chromium.3"
Jamie Madillcf4f8c72021-05-20 19:24:23444>
Brian Sheedycb1ba88e2021-06-17 18:12:55445
446# Used by:
447# //content/test/gpu
448wheel: <
449 name: "infra/python/wheels/pathos/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31450 version: "version:0.2.7.chromium.5"
Brian Sheedycb1ba88e2021-06-17 18:12:55451 not_match_tag <
452 abi: "cp27mu"
453 platform: "manylinux1_i686"
454 >
455 not_match_tag <
456 abi: "cp27mu"
457 platform: "linux_mips64"
458 >
459 not_match_tag <
460 abi: "cp27mu"
461 platform: "linux_armv6l"
462 >
463 not_match_tag <
464 abi: "cp27mu"
465 platform: "linux_armv7l"
466 >
467>
Preethi Mohane41c29a52021-08-13 17:01:03468
Brian Sheedya46a9b82022-03-22 21:46:36469wheel: <
470 name: "infra/python/wheels/websockets-py3"
471 version: "version:10.1"
472>
473
Preethi Mohane41c29a52021-08-13 17:01:03474# Used by:
Victor Hugo Vianna Silva02442ef02021-09-01 10:48:11475# //tools/infra/find_bad_builds.py
476wheel: <
477 name: "infra/python/wheels/pytz-py2_py3"
478 version: "version:2018.4"
479>
480
481# Used by:
Preethi Mohane41c29a52021-08-13 17:01:03482# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
483wheel: <
484 name: "infra/python/wheels/pywin32/${vpython_platform}"
485 version: "version:300"
486 match_tag: <
487 platform: "win32"
488 >
489 match_tag: <
490 platform: "win_amd64"
491 >
492>
Brian Sheedy50000e22021-09-24 00:59:27493
494# Used by:
495# //content/test/gpu/gpu_tests/color_profile_manager_mac.py
496wheel: <
497 name: "infra/python/wheels/pyobjc/${vpython_platform}"
498 version: "version:7.3.chromium.1"
499 match_tag: <
500 platform: "macosx_10_10_intel"
501 >
Brian Sheedyac599fd2021-11-18 22:05:30502 match_tag: <
503 platform: "macosx_11_0_arm64"
504 >
Brian Sheedy50000e22021-09-24 00:59:27505>
Brian Sheedyf9ffd522021-09-30 20:40:46506
507# Used by:
508# tools/perf/core/results_dashboard.py
509wheel: <
510 name: "infra/python/wheels/httplib2-py3"
511 version: "version:0.19.1"
512>
513
514# Used by:
515# tools/perf/flakiness_cli
516wheel: <
517 name: "infra/python/wheels/pandas/${vpython_platform}"
Brian Sheedyadf503e92021-10-26 18:06:52518 version: "version:1.3.2.chromium.1"
Brian Sheedy38a48fc82021-11-17 00:48:02519 not_match_tag: <
520 platform: "linux_aarch64"
Brian Sheedyf9ffd522021-09-30 20:40:46521 >
522>
Arthur Wang763ce262022-02-03 02:46:49523
524# Used by:
525# testing/script/run_variations_smoke_tests.py
526wheel: <
527 name: "infra/python/wheels/selenium-py3"
528 version: "version:3.14.0"
529>