blob: ce4e1204aed70bfc8541a5514bff8f94a7e8895b [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: <
44 name: "infra/python/wheels/protobuf-py2_py3"
Takuto Ikutacbc8a0b2021-05-21 10:26:3645 version: "version:3.15.8"
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: <
237 name: "infra/python/wheels/google-api-core-py2_py3"
238 version: "version:1.25.1"
239>
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
Luke Zielinski57397c7c2021-03-04 22:53:51253# Used by Web Platform Tests (WPT) codebase in
254# //third_party/blink/web_tests/external/wpt/tools/
255wheel: <
256 name: "infra/python/wheels/html5lib-py2_py3"
257 version: "version:1.0.1"
258>
259wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55260 name: "infra/python/wheels/mozdebug-py3"
261 version: "version:0.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51262>
263wheel: <
264 name: "infra/python/wheels/mozinfo-py2_py3"
265 version: "version:1.2.2"
266>
267wheel: <
268 name: "infra/python/wheels/mozlog-py2_py3"
269 version: "version:7.1.0"
270>
271wheel: <
Jonathan Lee007ef5f2022-03-31 00:23:55272 name: "infra/python/wheels/mozprocess-py3"
273 version: "version:1.3.0"
Luke Zielinski57397c7c2021-03-04 22:53:51274>
275wheel: <
276 name: "infra/python/wheels/urllib3-py2_py3"
277 version: "version:1.24.3"
278>
279wheel: <
280 name: "infra/python/wheels/blessings-py2_py3"
281 version: "version:1.7"
282>
283wheel: <
284 name: "infra/python/wheels/mozfile-py2_py3"
285 version: "version:2.0.0"
286>
287wheel: <
288 name: "infra/python/wheels/mozterm-py2_py3"
289 version: "version:1.0.0"
290>
291wheel: <
292 name: "infra/python/wheels/webencodings-py2_py3"
293 version: "version:0.5.1"
294>
295wheel: <
296 name: "infra/python/wheels/certifi-py2_py3"
297 version: "version:2020.11.8"
298>
299wheel: <
300 name: "infra/python/wheels/chardet-py2_py3"
301 version: "version:3.0.4"
302>
303wheel: <
304 name: "infra/python/wheels/idna-py2_py3"
305 version: "version:2.8"
306>
307wheel: <
308 name: "infra/python/wheels/distro-py2_py3"
309 version: "version:1.4.0"
310>
Luke Zielinski5b0bcde32021-03-17 16:14:14311wheel: <
Kenichi Ishibashi7449f1c92021-10-19 00:20:36312 name: "infra/python/wheels/aioquic/${vpython_platform}"
313 version: "version:0.9.15"
314>
315wheel: <
316 name: "infra/python/wheels/pylsqpack/${vpython_platform}"
317 version: "version:0.3.12"
318>
319wheel: <
320 name: "infra/python/wheels/cryptography/${vpython_platform}"
Brian Ryner6c5601932021-11-09 18:30:02321 version: "version:3.3.1.chromium.1"
Kenichi Ishibashi7449f1c92021-10-19 00:20:36322>
323wheel: <
324 name: "infra/python/wheels/cffi/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31325 version: "version:1.14.5.chromium.7"
Kenichi Ishibashi7449f1c92021-10-19 00:20:36326>
327wheel: <
328 name: "infra/python/wheels/pycparser-py2_py3"
329 version: "version:2.19"
330>
Stephen McGruer367e9b202021-03-19 13:32:18331
332# Used by:
333# chrome/test/chromedriver/test/run_webdriver_tests.py
Luke Zielinski04b275de2021-03-24 19:30:00334wheel: <
335 name: "infra/python/wheels/iniconfig-py3"
336 version: "version:1.1.1"
337>
338
339wheel: <
340 name: "infra/python/wheels/packaging-py2_py3"
341 version: "version:16.8"
342>
343
344wheel: <
345 name: "infra/python/wheels/pyparsing-py2_py3"
Brian Sheedyf9ffd522021-09-30 20:40:46346 version: "version:2.4.7"
Luke Zielinski04b275de2021-03-24 19:30:00347>
348
349wheel: <
350 name: "infra/python/wheels/toml-py3"
351 version: "version:0.10.1"
352>
Stephen McGruer367e9b202021-03-19 13:32:18353
354wheel <
Luke Zielinski04b275de2021-03-24 19:30:00355 name: "infra/python/wheels/pytest-py3"
356 version: "version:6.2.2"
357>
358
359wheel <
360 name: "infra/python/wheels/pytest-asyncio-py3"
361 version: "version:0.14.0"
Stephen McGruer367e9b202021-03-19 13:32:18362>
363
364wheel <
365 name: "infra/python/wheels/attrs-py2_py3"
Brian Sheedy460fc3e2022-05-16 21:38:24366 version: "version:21.4.0"
Stephen McGruer367e9b202021-03-19 13:32:18367>
368
369wheel <
370 name: "infra/python/wheels/six-py2_py3"
371 version: "version:1.15.0"
372>
373
374wheel <
375 name: "infra/python/wheels/more-itertools-py2_py3"
376 version: "version:4.1.0"
377>
378
379wheel <
Luke Zielinski04b275de2021-03-24 19:30:00380 name: "infra/python/wheels/pluggy-py3"
381 version: "version:0.13.1"
Stephen McGruer367e9b202021-03-19 13:32:18382>
383
384wheel <
385 name: "infra/python/wheels/py-py2_py3"
Brian Rynera2b0fa8e2021-07-22 18:54:22386 version: "version:1.10.0"
Stephen McGruer367e9b202021-03-19 13:32:18387>
388
389wheel <
390 name: "infra/python/wheels/funcsigs-py2_py3"
391 version: "version:1.0.2"
392>
393
394wheel: <
395 name: "infra/python/wheels/atomicwrites-py2_py3"
396 version: "version:1.3.0"
397>
Jamie Madillcf4f8c72021-05-20 19:24:23398
399wheel: <
400 name: "infra/python/wheels/colorama-py2_py3"
401 version: "version:0.4.1"
402>
403
404# Used by:
405# testing/buildbot/generate_buildbot_json_coveragetest.py
406wheel: <
407 name: "infra/python/wheels/coverage/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31408 version: "version:5.5.chromium.3"
Jamie Madillcf4f8c72021-05-20 19:24:23409>
Brian Sheedycb1ba88e2021-06-17 18:12:55410
411# Used by:
412# //content/test/gpu
413wheel: <
414 name: "infra/python/wheels/pathos/${vpython_platform}"
Brian Rynerf3bbf3f2022-02-24 08:48:31415 version: "version:0.2.7.chromium.5"
Brian Sheedycb1ba88e2021-06-17 18:12:55416 not_match_tag <
417 abi: "cp27mu"
418 platform: "manylinux1_i686"
419 >
420 not_match_tag <
421 abi: "cp27mu"
422 platform: "linux_mips64"
423 >
424 not_match_tag <
425 abi: "cp27mu"
426 platform: "linux_armv6l"
427 >
428 not_match_tag <
429 abi: "cp27mu"
430 platform: "linux_armv7l"
431 >
432>
Preethi Mohane41c29a52021-08-13 17:01:03433
Brian Sheedya46a9b82022-03-22 21:46:36434wheel: <
435 name: "infra/python/wheels/websockets-py3"
436 version: "version:10.1"
437>
438
Preethi Mohane41c29a52021-08-13 17:01:03439# Used by:
Victor Hugo Vianna Silva02442ef02021-09-01 10:48:11440# //tools/infra/find_bad_builds.py
441wheel: <
442 name: "infra/python/wheels/pytz-py2_py3"
443 version: "version:2018.4"
444>
445
446# Used by:
Preethi Mohane41c29a52021-08-13 17:01:03447# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
448wheel: <
449 name: "infra/python/wheels/pywin32/${vpython_platform}"
450 version: "version:300"
451 match_tag: <
452 platform: "win32"
453 >
454 match_tag: <
455 platform: "win_amd64"
456 >
457>
Brian Sheedy50000e22021-09-24 00:59:27458
459# Used by:
460# //content/test/gpu/gpu_tests/color_profile_manager_mac.py
461wheel: <
462 name: "infra/python/wheels/pyobjc/${vpython_platform}"
463 version: "version:7.3.chromium.1"
464 match_tag: <
465 platform: "macosx_10_10_intel"
466 >
Brian Sheedyac599fd2021-11-18 22:05:30467 match_tag: <
468 platform: "macosx_11_0_arm64"
469 >
Brian Sheedy50000e22021-09-24 00:59:27470>
Brian Sheedyf9ffd522021-09-30 20:40:46471
472# Used by:
473# tools/perf/core/results_dashboard.py
474wheel: <
475 name: "infra/python/wheels/httplib2-py3"
476 version: "version:0.19.1"
477>
478
479# Used by:
480# tools/perf/flakiness_cli
481wheel: <
482 name: "infra/python/wheels/pandas/${vpython_platform}"
Brian Sheedyadf503e92021-10-26 18:06:52483 version: "version:1.3.2.chromium.1"
Brian Sheedy38a48fc82021-11-17 00:48:02484 not_match_tag: <
485 platform: "linux_aarch64"
Brian Sheedyf9ffd522021-09-30 20:40:46486 >
487>
Arthur Wang763ce262022-02-03 02:46:49488
489# Used by:
490# testing/script/run_variations_smoke_tests.py
491wheel: <
492 name: "infra/python/wheels/selenium-py3"
493 version: "version:3.14.0"
494>