1 # This is a vpython "spec" file.
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).
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:
12 # https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/
14 # All python scripts in the repo share this same spec, to avoid dependency
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
22 # Read more about `vpython` and how to modify this file here:
23 # https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md
28 # build/android/pylib/local/emulator/avd.py
30 name: "infra/python/wheels/protobuf-py3"
31 version: "version:3.20.0"
34 # TODO(https://crbug.com/898348): Add in necessary wheels as Python3 versions
37 name: "infra/python/wheels/six-py2_py3"
38 version: "version:1.15.0"
41 # These wheels are necessary to run pytype, i.e. enforce Python 3 type hinting.
42 # We currently use 2021.11.2 instead of the 2022.5.5 available in CIPD because
43 # 2022.5.5 seems to have issues when analyzing code that imports the asyncio
44 # module. 2021.11.2 only has Linux wheels available, so restrict to that
47 name: "infra/python/wheels/pytype/${vpython_platform}"
48 version: "version:2021.11.2"
50 platform: "manylinux1_x86_64"
54 name: "infra/python/wheels/importlab-py3"
55 version: "version:0.6.1"
57 platform: "manylinux1_x86_64"
61 name: "infra/python/wheels/networkx-py3"
62 version: "version:2.5"
64 platform: "manylinux1_x86_64"
68 name: "infra/python/wheels/decorator-py3"
69 version: "version:5.0.9"
71 platform: "manylinux1_x86_64"
75 name: "infra/python/wheels/libcst-py3"
76 version: "version:0.3.19"
78 platform: "manylinux1_x86_64"
82 name: "infra/python/wheels/pyyaml/${vpython_platform}"
83 version: "version:5.4.1.chromium.1"
85 platform: "manylinux1_x86_64"
89 name: "infra/python/wheels/typing-inspect-py3"
90 version: "version:0.7.1"
92 platform: "manylinux1_x86_64"
96 name: "infra/python/wheels/typing-extensions-py3"
97 version: "version:4.0.1"
99 platform: "manylinux1_x86_64"
103 name: "infra/python/wheels/tabulate-py3"
104 version: "version:0.8.9"
106 platform: "manylinux1_x86_64"
110 name: "infra/python/wheels/typed-ast/${vpython_platform}"
111 version: "version:1.5.3"
113 platform: "manylinux1_x86_64"
117 name: "infra/python/wheels/ninja/${vpython_platform}"
118 version: "version:1.10.0.post2"
120 platform: "manylinux1_x86_64"
124 name: "infra/python/wheels/mypy-extensions-py3"
125 version: "version:0.4.3"
127 platform: "manylinux1_x86_64"
132 # Use the same versions specified by //third_party/catapult/.vpython3 so that
133 # Chromium tests using Telemetry function properly.
135 name: "infra/python/wheels/numpy/${vpython_platform}"
136 version: "version:1.2x.supported.1"
139 name: "infra/python/wheels/pexpect/${vpython_platform}"
140 version: "version:4.8.0.chromium.1"
143 name: "infra/python/wheels/psutil/${vpython_platform}"
144 version: "version:5.8.0.chromium.3"
147 name: "infra/python/wheels/requests-py2_py3"
148 version: "version:2.26.0"
151 name: "infra/python/wheels/pillow/${vpython_platform}"
152 version: "version:8.3.1"
153 # There is currently no Linux arm/arm64 version in CIPD.
155 platform: "linux_aarch64"
159 name: "infra/python/wheels/opencv_python/${vpython_platform}"
160 version: "version:4.5.3.56.chromium.4"
161 # There is currently no Linux arm/arm64 version in CIPD.
163 platform: "linux_aarch64"
167 # Used by various python unit tests.
169 name: "infra/python/wheels/mock-py2_py3"
170 version: "version:2.0.0"
173 name: "infra/python/wheels/parameterized-py2_py3"
174 version: "version:0.7.1"
177 name: "infra/python/wheels/pbr-py2_py3"
178 version: "version:3.0.0"
182 name: "infra/python/wheels/pyfakefs-py2_py3"
183 version: "version:3.7.2"
187 # build/chromeos/test_runner.py
189 name: "infra/python/wheels/jsonlines-py2_py3"
190 version: "version:1.2.0"
193 name: "infra/python/wheels/python-dateutil-py2_py3"
194 version: "version:2.7.3"
197 # Used by WPT importer
199 name: "infra/python/wheels/charset_normalizer-py3"
200 version: "version:2.0.4"
203 name: "infra/python/wheels/pyasn1-py2_py3"
204 version: "version:0.4.5"
207 name: "infra/python/wheels/pyasn1_modules-py2_py3"
208 version: "version:0.2.4"
211 name: "infra/python/wheels/rsa-py2_py3"
212 version: "version:3.4.2"
215 name: "infra/python/wheels/cachetools-py2_py3"
216 version: "version:2.0.1"
219 name: "infra/python/wheels/uritemplate-py2_py3"
220 version: "version:3.0.0"
223 name: "infra/python/wheels/google-auth-py2_py3"
224 version: "version:1.25.0"
227 name: "infra/python/wheels/googleapis-common-protos-py2_py3"
228 version: "version:1.52.0"
231 name: "infra/python/wheels/google-api-core-py3"
232 version: "version:1.31.5"
235 name: "infra/python/wheels/google-auth-httplib2-py2_py3"
236 version: "version:0.1.0"
239 name: "infra/python/wheels/google-api-python-client-py3"
240 version: "version:2.2.0"
243 name: "infra/python/wheels/oauth2client-py2_py3"
244 version: "version:3.0.0"
248 # //third_party/blink/tools/wpt_upload.py
250 name: "infra/python/wheels/crcmod/${vpython_platform}"
251 version: "version:1.7.chromium.3"
255 name: "infra/python/wheels/grpcio/${vpython_platform}"
256 version: "version:1.44.0"
260 name: "infra/python/wheels/grpc-google-iam-v1-py3"
261 version: "version:0.12.3"
265 name: "infra/python/wheels/proto-plus-py3"
266 version: "version:1.20.3"
270 name: "infra/python/wheels/google-cloud-kms-py3"
271 version: "version:2.11.1"
274 # Used by Web Platform Tests (WPT) codebase in
275 # //third_party/wpt_tools
277 name: "infra/python/wheels/html5lib-py2_py3"
278 version: "version:1.0.1"
281 name: "infra/python/wheels/mozdebug-py3"
282 version: "version:0.3.0"
285 name: "infra/python/wheels/mozinfo-py2_py3"
286 version: "version:1.2.2"
289 name: "infra/python/wheels/mozlog-py2_py3"
290 version: "version:7.1.0"
293 name: "infra/python/wheels/mozprocess-py3"
294 version: "version:1.3.0"
297 name: "infra/python/wheels/urllib3-py2_py3"
298 version: "version:1.24.3"
301 name: "infra/python/wheels/blessings-py2_py3"
302 version: "version:1.7"
305 name: "infra/python/wheels/mozfile-py2_py3"
306 version: "version:2.0.0"
309 name: "infra/python/wheels/mozterm-py2_py3"
310 version: "version:1.0.0"
313 name: "infra/python/wheels/webencodings-py2_py3"
314 version: "version:0.5.1"
317 name: "infra/python/wheels/certifi-py2_py3"
318 version: "version:2020.11.8"
321 name: "infra/python/wheels/chardet-py2_py3"
322 version: "version:3.0.4"
325 name: "infra/python/wheels/idna-py2_py3"
326 version: "version:2.8"
329 name: "infra/python/wheels/distro-py2_py3"
330 version: "version:1.4.0"
333 name: "infra/python/wheels/aioquic/${vpython_platform}"
334 version: "version:0.9.15"
337 name: "infra/python/wheels/pylsqpack/${vpython_platform}"
338 version: "version:0.3.12"
341 name: "infra/python/wheels/cryptography/${vpython_platform}"
342 version: "version:3.3.1.chromium.1"
345 name: "infra/python/wheels/cffi/${vpython_platform}"
346 version: "version:1.14.5.chromium.7"
349 name: "infra/python/wheels/pycparser-py2_py3"
350 version: "version:2.19"
353 name: "infra/python/wheels/ecdsa-py2_py3"
354 version: "version:0.17.0"
358 # chrome/test/chromedriver/test/run_webdriver_tests.py
360 name: "infra/python/wheels/iniconfig-py3"
361 version: "version:1.1.1"
365 name: "infra/python/wheels/packaging-py2_py3"
366 version: "version:16.8"
370 name: "infra/python/wheels/pyparsing-py2_py3"
371 version: "version:2.4.7"
375 name: "infra/python/wheels/toml-py3"
376 version: "version:0.10.1"
380 name: "infra/python/wheels/pytest-py3"
381 version: "version:6.2.2"
385 name: "infra/python/wheels/pytest-asyncio-py3"
386 version: "version:0.14.0"
390 name: "infra/python/wheels/attrs-py2_py3"
391 version: "version:21.4.0"
395 name: "infra/python/wheels/six-py2_py3"
396 version: "version:1.15.0"
400 name: "infra/python/wheels/more-itertools-py2_py3"
401 version: "version:4.1.0"
405 name: "infra/python/wheels/pluggy-py3"
406 version: "version:0.13.1"
410 name: "infra/python/wheels/py-py2_py3"
411 version: "version:1.10.0"
415 name: "infra/python/wheels/funcsigs-py2_py3"
416 version: "version:1.0.2"
420 name: "infra/python/wheels/atomicwrites-py2_py3"
421 version: "version:1.3.0"
425 name: "infra/python/wheels/colorama-py2_py3"
426 version: "version:0.4.1"
430 # testing/buildbot/generate_buildbot_json_coveragetest.py
432 name: "infra/python/wheels/coverage/${vpython_platform}"
433 version: "version:5.5.chromium.3"
439 name: "infra/python/wheels/pathos/${vpython_platform}"
440 version: "version:0.2.7.chromium.5"
443 platform: "manylinux1_i686"
447 platform: "linux_mips64"
451 platform: "linux_armv6l"
455 platform: "linux_armv7l"
460 name: "infra/python/wheels/websockets-py3"
461 version: "version:10.1"
465 # //tools/infra/find_bad_builds.py
467 name: "infra/python/wheels/pytz-py2_py3"
468 version: "version:2018.4"
472 # //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
474 name: "infra/python/wheels/pywin32/${vpython_platform}"
475 version: "version:300"
480 platform: "win_amd64"
485 # //content/test/gpu/gpu_tests/color_profile_manager_mac.py
487 name: "infra/python/wheels/pyobjc/${vpython_platform}"
488 version: "version:7.3.chromium.1"
490 platform: "macosx_10_10_intel"
493 platform: "macosx_11_0_arm64"
498 # tools/perf/core/results_dashboard.py
500 name: "infra/python/wheels/httplib2-py3"
501 version: "version:0.19.1"
505 # tools/perf/flakiness_cli
507 name: "infra/python/wheels/pandas/${vpython_platform}"
508 version: "version:1.3.2.chromium.1"
510 platform: "linux_aarch64"
515 # testing/script/run_variations_smoke_tests.py
517 name: "infra/python/wheels/selenium-py3"
518 version: "version:3.14.0"
523 name: "infra/python/wheels/markupsafe/${vpython_platform}"
524 version: "version:2.0.1"
528 name: "infra/python/wheels/mako-py3"
529 version: "version:1.2.3"