[go: nahoru, domu]

blob: 5fee61b52e2501299ea6558a7dc4f71b70e53870 [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"},
Fabrice de Gans262e68ce2022-10-03 01:31:0932 {python: "cp38", abi: "cp38", platform: "linux_arm64"},
Brian Rynerf82bfc22021-09-16 15:30:4433
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"
Tommy Nyquist29527fb2022-06-29 19:29:4445 version: "version:3.20.0"
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"
Brian Sheedy460fc3e2022-05-16 21:38:24119>
120wheel: <
121 name: "infra/python/wheels/typed-ast/${vpython_platform}"
122 version: "version:1.5.3"
123 match_tag: <
124 platform: "manylinux1_x86_64"
125 >
126>
127wheel: <
128 name: "infra/python/wheels/ninja/${vpython_platform}"
129 version: "version:1.10.0.post2"
130 match_tag: <
131 platform: "manylinux1_x86_64"
132 >
133>
134wheel: <
135 name: "infra/python/wheels/mypy-extensions-py3"
136 version: "version:0.4.3"
137 match_tag: <
138 platform: "manylinux1_x86_64"
139 >
140>
141
Ben Pasteneefdcb842021-01-29 01:38:21142# Common utilities.
Brian Sheedy50000e22021-09-24 00:59:27143# Use the same versions specified by //third_party/catapult/.vpython3 so that
144# Chromium tests using Telemetry function properly.
Brian Sheedy9d952022021-05-15 00:38:02145wheel: <
146 name: "infra/python/wheels/numpy/${vpython_platform}"
Chenlin Fan8cdf4e62022-02-16 02:53:34147 version: "version:1.2x.supported.1"
Brian Sheedy9d952022021-05-15 00:38:02148>
Ben Pasteneefdcb842021-01-29 01:38:21149wheel: <
Chong Gu3ecb1b62022-04-06 19:30:52150 name: "infra/python/wheels/pexpect/${vpython_platform}"
151 version: "version:4.8.0.chromium.1"
152>
153wheel: <
Weizhong Xiae87d2572021-03-21 16:53:51154 name: "infra/python/wheels/psutil/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31155 version: "version:5.8.0.chromium.3"
Ben Pasteneefdcb842021-01-29 01:38:21156>
157wheel: <
158 name: "infra/python/wheels/requests-py2_py3"
Weizhong Xia5be26202021-10-25 19:05:55159 version: "version:2.26.0"
Ben Pasteneefdcb842021-01-29 01:38:21160>
Brian Sheedyabc5d462022-03-04 20:45:40161wheel: <
162 name: "infra/python/wheels/pillow/${vpython_platform}"
163 version: "version:8.3.1"
164 # There is currently no Linux arm/arm64 version in CIPD.
165 not_match_tag <
Chong Gu85ae84b82022-10-05 00:05:50166 platform: "linux_aarch64"
Brian Sheedyabc5d462022-03-04 20:45:40167 >
168>
Brian Sheedy9503edd2022-05-17 21:54:39169wheel: <
170 name: "infra/python/wheels/opencv_python/${vpython_platform}"
171 version: "version:4.5.3.56.chromium.4"
172 # There is currently no Linux arm/arm64 version in CIPD.
173 not_match_tag <
Chong Gu85ae84b82022-10-05 00:05:50174 platform: "linux_aarch64"
Brian Sheedy9503edd2022-05-17 21:54:39175 >
176>
Ben Pasteneefdcb842021-01-29 01:38:21177
178# Used by various python unit tests.
179wheel: <
180 name: "infra/python/wheels/mock-py2_py3"
181 version: "version:2.0.0"
182>
183wheel: <
184 name: "infra/python/wheels/parameterized-py2_py3"
185 version: "version:0.7.1"
186>
187wheel: <
188 name: "infra/python/wheels/pbr-py2_py3"
189 version: "version:3.0.0"
190>
191
Brian Sheedy9d952022021-05-15 00:38:02192wheel: <
193 name: "infra/python/wheels/pyfakefs-py2_py3"
194 version: "version:3.7.2"
195>
196
Ben Pasteneefdcb842021-01-29 01:38:21197# Used by:
198# build/chromeos/test_runner.py
199wheel: <
200 name: "infra/python/wheels/jsonlines-py2_py3"
201 version: "version:1.2.0"
202>
203wheel: <
204 name: "infra/python/wheels/python-dateutil-py2_py3"
205 version: "version:2.7.3"
206>
Luke Zielinski57397c7c2021-03-04 22:53:51207
Weizhong Xia5be26202021-10-25 19:05:55208# Used by WPT importer
209wheel: <
210 name: "infra/python/wheels/charset_normalizer-py3"
211 version: "version:2.0.4"
212>
213wheel: <
214 name: "infra/python/wheels/pyasn1-py2_py3"
215 version: "version:0.4.5"
216>
217wheel: <
218 name: "infra/python/wheels/pyasn1_modules-py2_py3"
219 version: "version:0.2.4"
220>
221wheel: <
222 name: "infra/python/wheels/rsa-py2_py3"
223 version: "version:3.4.2"
224>
225wheel: <
226 name: "infra/python/wheels/cachetools-py2_py3"
227 version: "version:2.0.1"
228>
229wheel: <
230 name: "infra/python/wheels/uritemplate-py2_py3"
231 version: "version:3.0.0"
232>
233wheel: <
234 name: "infra/python/wheels/google-auth-py2_py3"
235 version: "version:1.25.0"
236>
237wheel: <
238 name: "infra/python/wheels/googleapis-common-protos-py2_py3"
239 version: "version:1.52.0"
240>
241wheel: <
Weizhong Xia9cf06dd82022-05-17 16:10:09242 name: "infra/python/wheels/google-api-core-py3"
243 version: "version:1.31.5"
Weizhong Xia5be26202021-10-25 19:05:55244>
245wheel: <
246 name: "infra/python/wheels/google-auth-httplib2-py2_py3"
247 version: "version:0.1.0"
248>
249wheel: <
250 name: "infra/python/wheels/google-api-python-client-py3"
251 version: "version:2.2.0"
252>
Weizhong Xia73783402021-10-26 18:39:44253wheel: <
254 name: "infra/python/wheels/oauth2client-py2_py3"
255 version: "version:3.0.0"
256>
Weizhong Xia5be26202021-10-25 19:05:55257
Weizhong Xia9cf06dd82022-05-17 16:10:09258# Used by:
259# //third_party/blink/tools/wpt_upload.py
Ben Pastened8ca3222023-01-05 18:28:03260# //third_party/chromite/bin/cros chrome-sdk
Weizhong Xia9cf06dd82022-05-17 16:10:09261wheel: <
262 name: "infra/python/wheels/crcmod/${vpython_platform}"
263 version: "version:1.7.chromium.3"
264>
265
266wheel: <
267 name: "infra/python/wheels/grpcio/${vpython_platform}"
268 version: "version:1.44.0"
269>
270
271wheel: <
272 name: "infra/python/wheels/grpc-google-iam-v1-py3"
273 version: "version:0.12.3"
274>
275
276wheel: <
277 name: "infra/python/wheels/proto-plus-py3"
278 version: "version:1.20.3"
279>
280
281wheel: <
282 name: "infra/python/wheels/google-cloud-kms-py3"
283 version: "version:2.11.1"
284>
285
Luke Zielinski57397c7c2021-03-04 22:53:51286# Used by Web Platform Tests (WPT) codebase in
Weizhong Xia9cf06dd82022-05-17 16:10:09287# //third_party/wpt_tools
Luke Zielinski57397c7c2021-03-04 22:53:51288wheel: <
289 name: "infra/python/wheels/html5lib-py2_py3"
290 version: "version:1.0.1"
291>
292wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55293 name: "infra/python/wheels/mozdebug-py3"
294 version: "version:0.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51295>
296wheel: <
297 name: "infra/python/wheels/mozinfo-py2_py3"
298 version: "version:1.2.2"
299>
300wheel: <
301 name: "infra/python/wheels/mozlog-py2_py3"
302 version: "version:7.1.0"
303>
304wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55305 name: "infra/python/wheels/mozprocess-py3"
306 version: "version:1.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51307>
308wheel: <
309 name: "infra/python/wheels/urllib3-py2_py3"
Fabrice de Gansc33130cd12022-09-19 19:25:29310 version: "version:1.26.6"
Luke Zielinski57397c7c2021-03-04 22:53:51311>
312wheel: <
313 name: "infra/python/wheels/blessings-py2_py3"
314 version: "version:1.7"
315>
316wheel: <
317 name: "infra/python/wheels/mozfile-py2_py3"
318 version: "version:2.0.0"
319>
320wheel: <
321 name: "infra/python/wheels/mozterm-py2_py3"
322 version: "version:1.0.0"
323>
324wheel: <
325 name: "infra/python/wheels/webencodings-py2_py3"
326 version: "version:0.5.1"
327>
328wheel: <
329 name: "infra/python/wheels/certifi-py2_py3"
330 version: "version:2020.11.8"
331>
332wheel: <
333 name: "infra/python/wheels/chardet-py2_py3"
334 version: "version:3.0.4"
335>
336wheel: <
337 name: "infra/python/wheels/idna-py2_py3"
338 version: "version:2.8"
339>
340wheel: <
341 name: "infra/python/wheels/distro-py2_py3"
342 version: "version:1.4.0"
343>
Luke Zielinski5b0bcde32021-03-17 16:14:14344wheel: <
Kenichi Ishibashi7449f1c2021-10-19 00:20:36345 name: "infra/python/wheels/aioquic/${vpython_platform}"
346 version: "version:0.9.15"
347>
348wheel: <
349 name: "infra/python/wheels/pylsqpack/${vpython_platform}"
350 version: "version:0.3.12"
351>
352wheel: <
353 name: "infra/python/wheels/cryptography/${vpython_platform}"
Brian Ryner6c5601932021-11-09 18:30:02354 version: "version:3.3.1.chromium.1"
Kenichi Ishibashi7449f1c2021-10-19 00:20:36355>
356wheel: <
357 name: "infra/python/wheels/cffi/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31358 version: "version:1.14.5.chromium.7"
Kenichi Ishibashi7449f1c2021-10-19 00:20:36359>
360wheel: <
361 name: "infra/python/wheels/pycparser-py2_py3"
362 version: "version:2.19"
363>
James Woo60136682022-06-15 16:02:31364wheel: <
365 name: "infra/python/wheels/ecdsa-py2_py3"
366 version: "version:0.17.0"
367>
Fabrice de Gansc33130cd12022-09-19 19:25:29368wheel: <
369 name: "infra/python/wheels/brotli/${vpython_platform}"
370 version: "version:1.0.9"
371>
Stephen McGruer367e9b202021-03-19 13:32:18372
373# Used by:
374# chrome/test/chromedriver/test/run_webdriver_tests.py
Luke Zielinski04b275de2021-03-24 19:30:00375wheel: <
376 name: "infra/python/wheels/iniconfig-py3"
377 version: "version:1.1.1"
378>
379
380wheel: <
381 name: "infra/python/wheels/packaging-py2_py3"
382 version: "version:16.8"
383>
384
385wheel: <
386 name: "infra/python/wheels/pyparsing-py2_py3"
Brian Sheedyf9ffd522021-09-30 20:40:46387 version: "version:2.4.7"
Luke Zielinski04b275de2021-03-24 19:30:00388>
389
390wheel: <
391 name: "infra/python/wheels/toml-py3"
392 version: "version:0.10.1"
393>
Stephen McGruer367e9b202021-03-19 13:32:18394
395wheel <
Luke Zielinski04b275de2021-03-24 19:30:00396 name: "infra/python/wheels/pytest-py3"
397 version: "version:6.2.2"
398>
399
400wheel <
401 name: "infra/python/wheels/pytest-asyncio-py3"
402 version: "version:0.14.0"
Stephen McGruer367e9b202021-03-19 13:32:18403>
404
405wheel <
406 name: "infra/python/wheels/attrs-py2_py3"
Brian Sheedy460fc3e2022-05-16 21:38:24407 version: "version:21.4.0"
Stephen McGruer367e9b202021-03-19 13:32:18408>
409
410wheel <
411 name: "infra/python/wheels/six-py2_py3"
412 version: "version:1.15.0"
413>
414
415wheel <
416 name: "infra/python/wheels/more-itertools-py2_py3"
417 version: "version:4.1.0"
418>
419
420wheel <
Luke Zielinski04b275de2021-03-24 19:30:00421 name: "infra/python/wheels/pluggy-py3"
422 version: "version:0.13.1"
Stephen McGruer367e9b202021-03-19 13:32:18423>
424
425wheel <
426 name: "infra/python/wheels/py-py2_py3"
Brian Rynera2b0fa8e2021-07-22 18:54:22427 version: "version:1.10.0"
Stephen McGruer367e9b202021-03-19 13:32:18428>
429
430wheel <
431 name: "infra/python/wheels/funcsigs-py2_py3"
432 version: "version:1.0.2"
433>
434
435wheel: <
436 name: "infra/python/wheels/atomicwrites-py2_py3"
437 version: "version:1.3.0"
438>
Jamie Madillcf4f8c72021-05-20 19:24:23439
440wheel: <
441 name: "infra/python/wheels/colorama-py2_py3"
442 version: "version:0.4.1"
443>
444
445# Used by:
446# testing/buildbot/generate_buildbot_json_coveragetest.py
447wheel: <
448 name: "infra/python/wheels/coverage/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31449 version: "version:5.5.chromium.3"
Jamie Madillcf4f8c72021-05-20 19:24:23450>
Brian Sheedycb1ba88e2021-06-17 18:12:55451
452# Used by:
453# //content/test/gpu
454wheel: <
455 name: "infra/python/wheels/pathos/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31456 version: "version:0.2.7.chromium.5"
Brian Sheedycb1ba88e2021-06-17 18:12:55457 not_match_tag <
458 abi: "cp27mu"
459 platform: "manylinux1_i686"
460 >
461 not_match_tag <
462 abi: "cp27mu"
463 platform: "linux_mips64"
464 >
465 not_match_tag <
466 abi: "cp27mu"
467 platform: "linux_armv6l"
468 >
469 not_match_tag <
470 abi: "cp27mu"
471 platform: "linux_armv7l"
472 >
473>
Preethi Mohane41c29a52021-08-13 17:01:03474
Brian Sheedya46a9b82022-03-22 21:46:36475wheel: <
476 name: "infra/python/wheels/websockets-py3"
Chong Gu85ae84b82022-10-05 00:05:50477 version: "version:10.1"
Brian Sheedya46a9b82022-03-22 21:46:36478>
479
Preethi Mohane41c29a52021-08-13 17:01:03480# Used by:
Victor Hugo Vianna Silva02442ef02021-09-01 10:48:11481# //tools/infra/find_bad_builds.py
482wheel: <
483 name: "infra/python/wheels/pytz-py2_py3"
484 version: "version:2018.4"
485>
486
487# Used by:
Preethi Mohane41c29a52021-08-13 17:01:03488# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
489wheel: <
490 name: "infra/python/wheels/pywin32/${vpython_platform}"
491 version: "version:300"
492 match_tag: <
493 platform: "win32"
494 >
495 match_tag: <
496 platform: "win_amd64"
497 >
498>
Brian Sheedy50000e22021-09-24 00:59:27499
500# Used by:
501# //content/test/gpu/gpu_tests/color_profile_manager_mac.py
502wheel: <
503 name: "infra/python/wheels/pyobjc/${vpython_platform}"
504 version: "version:7.3.chromium.1"
505 match_tag: <
506 platform: "macosx_10_10_intel"
507 >
Brian Sheedyac599fd2021-11-18 22:05:30508 match_tag: <
509 platform: "macosx_11_0_arm64"
510 >
Brian Sheedy50000e22021-09-24 00:59:27511>
Brian Sheedyf9ffd522021-09-30 20:40:46512
513# Used by:
514# tools/perf/core/results_dashboard.py
515wheel: <
516 name: "infra/python/wheels/httplib2-py3"
517 version: "version:0.19.1"
518>
519
520# Used by:
521# tools/perf/flakiness_cli
522wheel: <
523 name: "infra/python/wheels/pandas/${vpython_platform}"
Brian Sheedyadf503e92021-10-26 18:06:52524 version: "version:1.3.2.chromium.1"
Brian Sheedy38a48fc82021-11-17 00:48:02525 not_match_tag: <
Chong Gu85ae84b82022-10-05 00:05:50526 platform: "linux_aarch64"
Brian Sheedyf9ffd522021-09-30 20:40:46527 >
528>
Arthur Wang763ce262022-02-03 02:46:49529
530# Used by:
Camillo Bruni1c012912023-01-30 10:05:45531# tools/perf/crossbench
532wheel: <
533 name: "infra/python/wheels/hjson-py2_py3"
534 version: "version:3.1.0"
535>
536
537# Used by:
Fabrice de Gansc33130cd12022-09-19 19:25:29538# chrome/test/mini_installer/test_chrome_with_chromedriver.py
Arthur Wang763ce262022-02-03 02:46:49539# testing/script/run_variations_smoke_tests.py
Camillo Bruni1c012912023-01-30 10:05:45540# tools/perf/crossbench
Fabrice de Gansc33130cd12022-09-19 19:25:29541# Keep this to the same revision as third_party/webdriver/pylib, which is pulled
542# in via DEPS.
Arthur Wang763ce262022-02-03 02:46:49543wheel: <
544 name: "infra/python/wheels/selenium-py3"
Fabrice de Gansc33130cd12022-09-19 19:25:29545 version: "version:4.1.0"
546>
547wheel: <
548 name: "infra/python/wheels/trio-py3"
549 version: "version:0.20.0"
550>
551wheel: <
552 name: "infra/python/wheels/trio-websocket-py3"
553 version: "version:0.9.2"
554>
555wheel: <
556 name: "infra/python/wheels/outcome-py3"
557 version: "version:1.1.0"
558>
559wheel: <
560 name: "infra/python/wheels/sniffio-py3"
561 version: "version:1.2.0"
562>
563wheel: <
564 name: "infra/python/wheels/async-generator-py3"
565 version: "version:1.10"
566>
567wheel: <
568 name: "infra/python/wheels/wsproto-py3"
569 version: "version:1.1.0"
570>
571wheel: <
572 name: "infra/python/wheels/h11-py3"
573 version: "version:0.13.0"
574>
575wheel: <
576 name: "infra/python/wheels/sortedcontainers-py3"
577 version: "version:2.4.0"
578>
579wheel: <
580 name: "infra/python/wheels/pyopenssl-py2_py3"
581 version: "version:19.0.0"
Arthur Wang763ce262022-02-03 02:46:49582>
Dirk Pranke2983b3e42023-02-24 00:46:34583
584# Used by //tools/md_browser to render Markdown.
585wheel: <
586 name: "infra/python/wheels/markdown-py3"
587 version: "version:3.3.4"
588>
589wheel: <
590 name: "infra/python/wheels/importlib-metadata-py3"
591 version: "version:1.6.0"
592>
593wheel: <
594 name: "infra/python/wheels/zipp-py3"
595 version: "version:3.1.0"
596>