blob: 3ca546cab6b8936bf42e11373b6510c7cd099aff [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>
Ben Pasteneefdcb842021-01-29 01:38:21172
173# Used by various python unit tests.
174wheel: <
175 name: "infra/python/wheels/mock-py2_py3"
176 version: "version:2.0.0"
177>
178wheel: <
179 name: "infra/python/wheels/parameterized-py2_py3"
180 version: "version:0.7.1"
181>
182wheel: <
183 name: "infra/python/wheels/pbr-py2_py3"
184 version: "version:3.0.0"
185>
186
Brian Sheedy9d952022021-05-15 00:38:02187wheel: <
188 name: "infra/python/wheels/pyfakefs-py2_py3"
189 version: "version:3.7.2"
190>
191
Ben Pasteneefdcb842021-01-29 01:38:21192# Used by:
193# build/chromeos/test_runner.py
194wheel: <
195 name: "infra/python/wheels/jsonlines-py2_py3"
196 version: "version:1.2.0"
197>
198wheel: <
199 name: "infra/python/wheels/python-dateutil-py2_py3"
200 version: "version:2.7.3"
201>
Luke Zielinski57397c7c2021-03-04 22:53:51202
Weizhong Xia5be26202021-10-25 19:05:55203# Used by WPT importer
204wheel: <
205 name: "infra/python/wheels/charset_normalizer-py3"
206 version: "version:2.0.4"
207>
208wheel: <
209 name: "infra/python/wheels/pyasn1-py2_py3"
210 version: "version:0.4.5"
211>
212wheel: <
213 name: "infra/python/wheels/pyasn1_modules-py2_py3"
214 version: "version:0.2.4"
215>
216wheel: <
217 name: "infra/python/wheels/rsa-py2_py3"
218 version: "version:3.4.2"
219>
220wheel: <
221 name: "infra/python/wheels/cachetools-py2_py3"
222 version: "version:2.0.1"
223>
224wheel: <
225 name: "infra/python/wheels/uritemplate-py2_py3"
226 version: "version:3.0.0"
227>
228wheel: <
229 name: "infra/python/wheels/google-auth-py2_py3"
230 version: "version:1.25.0"
231>
232wheel: <
233 name: "infra/python/wheels/googleapis-common-protos-py2_py3"
234 version: "version:1.52.0"
235>
236wheel: <
Weizhong Xia9cf06dd82022-05-17 16:10:09237 name: "infra/python/wheels/google-api-core-py3"
238 version: "version:1.31.5"
Weizhong Xia5be26202021-10-25 19:05:55239>
240wheel: <
241 name: "infra/python/wheels/google-auth-httplib2-py2_py3"
242 version: "version:0.1.0"
243>
244wheel: <
245 name: "infra/python/wheels/google-api-python-client-py3"
246 version: "version:2.2.0"
247>
Weizhong Xia73783402021-10-26 18:39:44248wheel: <
249 name: "infra/python/wheels/oauth2client-py2_py3"
250 version: "version:3.0.0"
251>
Weizhong Xia5be26202021-10-25 19:05:55252
Weizhong Xia9cf06dd82022-05-17 16:10:09253# Used by:
254# //third_party/blink/tools/wpt_upload.py
255wheel: <
256 name: "infra/python/wheels/crcmod/${vpython_platform}"
257 version: "version:1.7.chromium.3"
258>
259
260wheel: <
261 name: "infra/python/wheels/grpcio/${vpython_platform}"
262 version: "version:1.44.0"
263>
264
265wheel: <
266 name: "infra/python/wheels/grpc-google-iam-v1-py3"
267 version: "version:0.12.3"
268>
269
270wheel: <
271 name: "infra/python/wheels/proto-plus-py3"
272 version: "version:1.20.3"
273>
274
275wheel: <
276 name: "infra/python/wheels/google-cloud-kms-py3"
277 version: "version:2.11.1"
278>
279
Luke Zielinski57397c7c2021-03-04 22:53:51280# Used by Web Platform Tests (WPT) codebase in
Weizhong Xia9cf06dd82022-05-17 16:10:09281# //third_party/wpt_tools
Luke Zielinski57397c7c2021-03-04 22:53:51282wheel: <
283 name: "infra/python/wheels/html5lib-py2_py3"
284 version: "version:1.0.1"
285>
286wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55287 name: "infra/python/wheels/mozdebug-py3"
288 version: "version:0.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51289>
290wheel: <
291 name: "infra/python/wheels/mozinfo-py2_py3"
292 version: "version:1.2.2"
293>
294wheel: <
295 name: "infra/python/wheels/mozlog-py2_py3"
296 version: "version:7.1.0"
297>
298wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55299 name: "infra/python/wheels/mozprocess-py3"
300 version: "version:1.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51301>
302wheel: <
303 name: "infra/python/wheels/urllib3-py2_py3"
304 version: "version:1.24.3"
305>
306wheel: <
307 name: "infra/python/wheels/blessings-py2_py3"
308 version: "version:1.7"
309>
310wheel: <
311 name: "infra/python/wheels/mozfile-py2_py3"
312 version: "version:2.0.0"
313>
314wheel: <
315 name: "infra/python/wheels/mozterm-py2_py3"
316 version: "version:1.0.0"
317>
318wheel: <
319 name: "infra/python/wheels/webencodings-py2_py3"
320 version: "version:0.5.1"
321>
322wheel: <
323 name: "infra/python/wheels/certifi-py2_py3"
324 version: "version:2020.11.8"
325>
326wheel: <
327 name: "infra/python/wheels/chardet-py2_py3"
328 version: "version:3.0.4"
329>
330wheel: <
331 name: "infra/python/wheels/idna-py2_py3"
332 version: "version:2.8"
333>
334wheel: <
335 name: "infra/python/wheels/distro-py2_py3"
336 version: "version:1.4.0"
337>
Luke Zielinski5b0bcde32021-03-17 16:14:14338wheel: <
Kenichi Ishibashi7449f1c92021-10-19 00:20:36339 name: "infra/python/wheels/aioquic/${vpython_platform}"
340 version: "version:0.9.15"
341>
342wheel: <
343 name: "infra/python/wheels/pylsqpack/${vpython_platform}"
344 version: "version:0.3.12"
345>
346wheel: <
347 name: "infra/python/wheels/cryptography/${vpython_platform}"
Brian Ryner6c5601932021-11-09 18:30:02348 version: "version:3.3.1.chromium.1"
Kenichi Ishibashi7449f1c92021-10-19 00:20:36349>
350wheel: <
351 name: "infra/python/wheels/cffi/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31352 version: "version:1.14.5.chromium.7"
Kenichi Ishibashi7449f1c92021-10-19 00:20:36353>
354wheel: <
355 name: "infra/python/wheels/pycparser-py2_py3"
356 version: "version:2.19"
357>
Stephen McGruer367e9b202021-03-19 13:32:18358
359# Used by:
360# chrome/test/chromedriver/test/run_webdriver_tests.py
Luke Zielinski04b275de2021-03-24 19:30:00361wheel: <
362 name: "infra/python/wheels/iniconfig-py3"
363 version: "version:1.1.1"
364>
365
366wheel: <
367 name: "infra/python/wheels/packaging-py2_py3"
368 version: "version:16.8"
369>
370
371wheel: <
372 name: "infra/python/wheels/pyparsing-py2_py3"
Brian Sheedyf9ffd522021-09-30 20:40:46373 version: "version:2.4.7"
Luke Zielinski04b275de2021-03-24 19:30:00374>
375
376wheel: <
377 name: "infra/python/wheels/toml-py3"
378 version: "version:0.10.1"
379>
Stephen McGruer367e9b202021-03-19 13:32:18380
381wheel <
Luke Zielinski04b275de2021-03-24 19:30:00382 name: "infra/python/wheels/pytest-py3"
383 version: "version:6.2.2"
384>
385
386wheel <
387 name: "infra/python/wheels/pytest-asyncio-py3"
388 version: "version:0.14.0"
Stephen McGruer367e9b202021-03-19 13:32:18389>
390
391wheel <
392 name: "infra/python/wheels/attrs-py2_py3"
Brian Sheedy460fc3e2022-05-16 21:38:24393 version: "version:21.4.0"
Stephen McGruer367e9b202021-03-19 13:32:18394>
395
396wheel <
397 name: "infra/python/wheels/six-py2_py3"
398 version: "version:1.15.0"
399>
400
401wheel <
402 name: "infra/python/wheels/more-itertools-py2_py3"
403 version: "version:4.1.0"
404>
405
406wheel <
Luke Zielinski04b275de2021-03-24 19:30:00407 name: "infra/python/wheels/pluggy-py3"
408 version: "version:0.13.1"
Stephen McGruer367e9b202021-03-19 13:32:18409>
410
411wheel <
412 name: "infra/python/wheels/py-py2_py3"
Brian Rynera2b0fa8e2021-07-22 18:54:22413 version: "version:1.10.0"
Stephen McGruer367e9b202021-03-19 13:32:18414>
415
416wheel <
417 name: "infra/python/wheels/funcsigs-py2_py3"
418 version: "version:1.0.2"
419>
420
421wheel: <
422 name: "infra/python/wheels/atomicwrites-py2_py3"
423 version: "version:1.3.0"
424>
Jamie Madillcf4f8c72021-05-20 19:24:23425
426wheel: <
427 name: "infra/python/wheels/colorama-py2_py3"
428 version: "version:0.4.1"
429>
430
431# Used by:
432# testing/buildbot/generate_buildbot_json_coveragetest.py
433wheel: <
434 name: "infra/python/wheels/coverage/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31435 version: "version:5.5.chromium.3"
Jamie Madillcf4f8c72021-05-20 19:24:23436>
Brian Sheedycb1ba88e2021-06-17 18:12:55437
438# Used by:
439# //content/test/gpu
440wheel: <
441 name: "infra/python/wheels/pathos/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31442 version: "version:0.2.7.chromium.5"
Brian Sheedycb1ba88e2021-06-17 18:12:55443 not_match_tag <
444 abi: "cp27mu"
445 platform: "manylinux1_i686"
446 >
447 not_match_tag <
448 abi: "cp27mu"
449 platform: "linux_mips64"
450 >
451 not_match_tag <
452 abi: "cp27mu"
453 platform: "linux_armv6l"
454 >
455 not_match_tag <
456 abi: "cp27mu"
457 platform: "linux_armv7l"
458 >
459>
Preethi Mohane41c29a52021-08-13 17:01:03460
Brian Sheedya46a9b82022-03-22 21:46:36461wheel: <
462 name: "infra/python/wheels/websockets-py3"
463 version: "version:10.1"
464>
465
Preethi Mohane41c29a52021-08-13 17:01:03466# Used by:
Victor Hugo Vianna Silva02442ef02021-09-01 10:48:11467# //tools/infra/find_bad_builds.py
468wheel: <
469 name: "infra/python/wheels/pytz-py2_py3"
470 version: "version:2018.4"
471>
472
473# Used by:
Preethi Mohane41c29a52021-08-13 17:01:03474# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
475wheel: <
476 name: "infra/python/wheels/pywin32/${vpython_platform}"
477 version: "version:300"
478 match_tag: <
479 platform: "win32"
480 >
481 match_tag: <
482 platform: "win_amd64"
483 >
484>
Brian Sheedy50000e22021-09-24 00:59:27485
486# Used by:
487# //content/test/gpu/gpu_tests/color_profile_manager_mac.py
488wheel: <
489 name: "infra/python/wheels/pyobjc/${vpython_platform}"
490 version: "version:7.3.chromium.1"
491 match_tag: <
492 platform: "macosx_10_10_intel"
493 >
Brian Sheedyac599fd2021-11-18 22:05:30494 match_tag: <
495 platform: "macosx_11_0_arm64"
496 >
Brian Sheedy50000e22021-09-24 00:59:27497>
Brian Sheedyf9ffd522021-09-30 20:40:46498
499# Used by:
500# tools/perf/core/results_dashboard.py
501wheel: <
502 name: "infra/python/wheels/httplib2-py3"
503 version: "version:0.19.1"
504>
505
506# Used by:
507# tools/perf/flakiness_cli
508wheel: <
509 name: "infra/python/wheels/pandas/${vpython_platform}"
Brian Sheedyadf503e92021-10-26 18:06:52510 version: "version:1.3.2.chromium.1"
Brian Sheedy38a48fc82021-11-17 00:48:02511 not_match_tag: <
512 platform: "linux_aarch64"
Brian Sheedyf9ffd522021-09-30 20:40:46513 >
514>
Arthur Wang763ce262022-02-03 02:46:49515
516# Used by:
517# testing/script/run_variations_smoke_tests.py
518wheel: <
519 name: "infra/python/wheels/selenium-py3"
520 version: "version:3.14.0"
521>