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
25 # For the definition of this spec, see:
26 # https://chromium.googlesource.com/infra/luci/luci-go/+/main/vpython/api/vpython/spec.proto
31 # build/chromeos/test_runner.py
33 name: "infra/python/wheels/jsonlines-py2_py3"
34 version: "version:1.2.0"
37 name: "infra/python/wheels/subprocess32/${vpython_platform}"
38 version: "version:3.5.0rc1"
39 # Only download for linux since we shouldn't be running CrOS tests on mac/win.
42 platform: "manylinux1_i686"
46 platform: "manylinux1_x86_64"
51 # build/chromeos/test_runner.py
52 # third_party/catapult
54 # This version must be compatible with the version range specified by
55 # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
57 name: "infra/python/wheels/psutil/${vpython_platform}"
58 version: "version:5.2.2"
62 # build/lacros/test_runner.py
64 name: "infra/python/wheels/parameterized-py2_py3"
65 version: "version:0.7.1"
69 # third_party/catapult
71 # This version must be compatible with the version range specified by
72 # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
74 # This version must also be compatible with the "numpy" version, as "cv2"
75 # depends on "numpy". In this case, OpenCV@2.4.13.2 has been built against
78 name: "infra/python/wheels/opencv_python/${vpython_platform}"
79 version: "version:2.4.13.2"
88 platform: "manylinux1_i686"
92 platform: "manylinux1_x86_64"
95 platform: "macosx_10_6_intel"
100 # third_party/catapult
102 # This version must be compatible with the version range specified by
103 # //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
105 name: "infra/python/wheels/numpy/${vpython_platform}"
106 version: "version:1.11.3"
110 # third_party/catapult
112 name: "infra/python/wheels/pypiwin32/${vpython_platform}"
113 version: "version:219"
118 platform: "win_amd64"
123 # chrome/test/data/android/upload_download_utils_test.py
125 name: "infra/python/wheels/pyfakefs-py2_py3"
126 version: "version:3.7.2"
130 # tools/perf/fetch_benchmark_deps.py
132 name: "infra/python/wheels/google_compute_engine-py2_py3"
133 version: "version:2.6.2"
136 name: "infra/python/wheels/boto-py2_py3"
137 version: "version:2.48.0"
141 # testing/buildbot/generate_buildbot_json_coveragetest.py
143 name: "infra/python/wheels/coverage/${vpython_platform}"
144 version: "version:4.3.4"
148 # build/android/pylib/local/emulator/avd.py
150 name: "infra/python/wheels/protobuf-py2_py3"
151 version: "version:3.6.1"
154 name: "infra/python/wheels/six-py2_py3"
155 version: "version:1.15.0"
158 name: "infra/python/wheels/pyftpdlib-py2_py3"
159 version: "version:0.7.0"
162 name: "infra/python/wheels/simplejson/${vpython_platform}"
163 version: "version:3.13.2"
167 # tools/perf/core/results_dashboard.py
169 name: "infra/python/wheels/httplib2-py2_py3"
170 version: "version:0.10.3"
174 # tools/perf/flakiness_cli
176 name: "infra/python/wheels/pandas/${vpython_platform}"
177 version: "version:0.23.4"
182 platform: "win_amd64"
186 platform: "manylinux1_i686"
190 platform: "manylinux1_x86_64"
193 platform: "macosx_10_6_intel"
197 name: "infra/python/wheels/pytz-py2_py3"
198 version: "version:2018.4"
201 name: "infra/python/wheels/python-dateutil-py2_py3"
202 version: "version:2.7.3"
206 # content/test/gpu/gpu_tests/color_profile_manager_mac.py
207 # Note: there's a version of this wheel for even older OS versions,
208 # but we don't need it for the GPU tests, and it looks like there are
209 # bugs in the not_match_tag implementation.
211 name: "infra/python/wheels/pyobjc/${vpython_platform}"
212 version: "version:4.1"
213 match_tag: < platform: "macosx_10_10_intel" >
217 # third_party/catapult
219 name: "infra/python/wheels/six-py2_py3"
220 version: "version:1.15.0"
223 name: "infra/python/wheels/pbr-py2_py3"
224 version: "version:3.0.0"
227 name: "infra/python/wheels/funcsigs-py2_py3"
228 version: "version:1.0.2"
231 name: "infra/python/wheels/mock-py2_py3"
232 version: "version:2.0.0"
236 # chrome/test/chromedriver/test/run_webdriver_tests.py
239 name: "infra/python/wheels/pytest-py2_py3"
240 version: "version:3.6.2"
244 name: "infra/python/wheels/attrs-py2_py3"
245 version: "version:17.4.0"
249 name: "infra/python/wheels/six-py2_py3"
250 version: "version:1.15.0"
254 name: "infra/python/wheels/more-itertools-py2_py3"
255 version: "version:4.1.0"
259 name: "infra/python/wheels/scandir/${vpython_platform}"
260 version: "version:1.7"
264 name: "infra/python/wheels/pluggy-py2_py3"
265 version: "version:0.7.1"
269 name: "infra/python/wheels/py-py2_py3"
270 version: "version:1.5.3"
274 name: "infra/python/wheels/funcsigs-py2_py3"
275 version: "version:1.0.2"
278 name: "infra/python/wheels/psutil/${vpython_platform}"
279 version: "version:5.2.2"
285 name: "infra/python/wheels/requests-py2_py3"
286 version: "version:2.13.0"
289 name: "infra/python/wheels/colorama-py2_py3"
290 version: "version:0.4.1"
293 name: "infra/python/wheels/mock-py2_py3"
294 version: "version:2.0.0"
298 name: "infra/python/wheels/atomicwrites-py2_py3"
299 version: "version:1.3.0"
303 name: "infra/python/wheels/pathlib2-py2_py3"
304 version: "version:2.3.3"
307 # Used by Web Platform Tests (WPT) codebase in
308 # //third_party/blink/web_tests/external/wpt/tools/
310 name: "infra/python/wheels/html5lib-py2_py3"
311 version: "version:1.0.1"
314 name: "infra/python/wheels/mozdebug-py2_py3"
315 version: "version:0.1.1"
318 name: "infra/python/wheels/mozinfo-py2_py3"
319 version: "version:1.1.0"
322 name: "infra/python/wheels/mozlog-py2_py3"
323 version: "version:5.0"
326 name: "infra/python/wheels/mozprocess-py2_py3"
327 version: "version:0.26"
330 name: "infra/python/wheels/urllib3-py2_py3"
331 version: "version:1.22"
334 name: "infra/python/wheels/blessings-py2_py3"
335 version: "version:1.7"
338 name: "infra/python/wheels/mozfile-py2_py3"
339 version: "version:2.0.0"
342 name: "infra/python/wheels/mozterm-py2_py3"
343 version: "version:1.0.0"
346 name: "infra/python/wheels/webencodings-py2_py3"
347 version: "version:0.5.1"
350 name: "infra/python/wheels/certifi-py2_py3"
351 version: "version:2018.11.29"
354 name: "infra/python/wheels/chardet-py2_py3"
355 version: "version:3.0.4"
358 name: "infra/python/wheels/idna-py2_py3"
359 version: "version:2.8"
362 name: "infra/python/wheels/pillow/${vpython_platform}"
363 version: "version:6.0.0"
368 platform: "win_amd64"
372 platform: "manylinux1_i686"
376 platform: "manylinux1_x86_64"
379 platform: "macosx_10_6_intel"
384 # //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
386 name: "infra/python/wheels/pywin32/${vpython_platform}"
387 version: "version:227"
392 platform: "win_amd64"