blob: d9dfb921bd92be6ad3107084c6cf33a31ccc6f7a [file] [log] [blame]
Jamie Madillb99bbba2020-09-13 10:34:54 -04001# 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:
Jamie Madille1bc8de2021-09-08 07:59:37 -040012# https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/
Jamie Madillb99bbba2020-09-13 10:34:54 -040013#
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:
Jamie Madille1bc8de2021-09-08 07:59:37 -040023# https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md
Jamie Madillb99bbba2020-09-13 10:34:54 -040024#
25# For the definition of this spec, see:
Jamie Madille1bc8de2021-09-08 07:59:37 -040026# https://chromium.googlesource.com/infra/luci/luci-go/+/main/vpython/api/vpython/spec.proto
Jamie Madillb99bbba2020-09-13 10:34:54 -040027
28python_version: "2.7"
29
30# Used by:
31# build/chromeos/test_runner.py
32wheel: <
33 name: "infra/python/wheels/jsonlines-py2_py3"
34 version: "version:1.2.0"
35>
36wheel: <
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.
40 match_tag: <
41 abi: "cp27mu"
42 platform: "manylinux1_i686"
43 >
44 match_tag: <
45 abi: "cp27mu"
46 platform: "manylinux1_x86_64"
47 >
48>
49
50# Used by:
51# build/chromeos/test_runner.py
52# third_party/catapult
53#
54# This version must be compatible with the version range specified by
55# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
56wheel: <
57 name: "infra/python/wheels/psutil/${vpython_platform}"
58 version: "version:5.2.2"
59>
60
61# Used by:
62# build/lacros/test_runner.py
63wheel: <
64 name: "infra/python/wheels/parameterized-py2_py3"
65 version: "version:0.7.1"
66>
67
68# Used by:
69# third_party/catapult
70#
71# This version must be compatible with the version range specified by
72# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
73#
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
76# numpy@1.11.3.
77wheel: <
78 name: "infra/python/wheels/opencv_python/${vpython_platform}"
79 version: "version:2.4.13.2"
80 match_tag: <
81 platform: "win32"
82 >
83 match_tag: <
84 platform: "win_amd64"
85 >
86 match_tag: <
87 abi: "cp27mu"
88 platform: "manylinux1_i686"
89 >
90 match_tag: <
91 abi: "cp27mu"
92 platform: "manylinux1_x86_64"
93 >
94 match_tag: <
95 platform: "macosx_10_6_intel"
96 >
97>
98
99# Used by:
100# third_party/catapult
101#
102# This version must be compatible with the version range specified by
103# //third_party/catapult/telemetry/telemetry/internal/util/external_modules.py
104wheel: <
105 name: "infra/python/wheels/numpy/${vpython_platform}"
106 version: "version:1.11.3"
107>
108
109# Used by:
110# third_party/catapult
111wheel: <
112 name: "infra/python/wheels/pypiwin32/${vpython_platform}"
113 version: "version:219"
114 match_tag: <
115 platform: "win32"
116 >
117 match_tag: <
118 platform: "win_amd64"
119 >
120>
121
122# Used by:
123# chrome/test/data/android/upload_download_utils_test.py
124wheel: <
125 name: "infra/python/wheels/pyfakefs-py2_py3"
126 version: "version:3.7.2"
127>
128
129# Used by:
130# tools/perf/fetch_benchmark_deps.py
131wheel: <
132 name: "infra/python/wheels/google_compute_engine-py2_py3"
133 version: "version:2.6.2"
134>
135wheel: <
136 name: "infra/python/wheels/boto-py2_py3"
137 version: "version:2.48.0"
138>
139
140# Used by:
141# testing/buildbot/generate_buildbot_json_coveragetest.py
142wheel: <
143 name: "infra/python/wheels/coverage/${vpython_platform}"
144 version: "version:4.3.4"
145>
146
147# Used by:
148# build/android/pylib/local/emulator/avd.py
Jamie Madillb99bbba2020-09-13 10:34:54 -0400149wheel: <
150 name: "infra/python/wheels/protobuf-py2_py3"
151 version: "version:3.6.1"
152>
153wheel: <
154 name: "infra/python/wheels/six-py2_py3"
155 version: "version:1.15.0"
156>
157wheel: <
158 name: "infra/python/wheels/pyftpdlib-py2_py3"
159 version: "version:0.7.0"
160>
161wheel: <
162 name: "infra/python/wheels/simplejson/${vpython_platform}"
163 version: "version:3.13.2"
164>
165
166# Used by:
167# tools/perf/core/results_dashboard.py
168wheel: <
169 name: "infra/python/wheels/httplib2-py2_py3"
170 version: "version:0.10.3"
171>
172
173# Used by:
174# tools/perf/flakiness_cli
175wheel: <
176 name: "infra/python/wheels/pandas/${vpython_platform}"
177 version: "version:0.23.4"
178 match_tag: <
179 platform: "win32"
180 >
181 match_tag: <
182 platform: "win_amd64"
183 >
184 match_tag: <
185 abi: "cp27mu"
186 platform: "manylinux1_i686"
187 >
188 match_tag: <
189 abi: "cp27mu"
190 platform: "manylinux1_x86_64"
191 >
192 match_tag: <
193 platform: "macosx_10_6_intel"
194 >
195>
196wheel: <
197 name: "infra/python/wheels/pytz-py2_py3"
198 version: "version:2018.4"
199>
200wheel: <
201 name: "infra/python/wheels/python-dateutil-py2_py3"
202 version: "version:2.7.3"
203>
204
205# Used by:
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.
210wheel: <
211 name: "infra/python/wheels/pyobjc/${vpython_platform}"
212 version: "version:4.1"
213 match_tag: < platform: "macosx_10_10_intel" >
214>
215
216# Used by:
217# third_party/catapult
218wheel: <
219 name: "infra/python/wheels/six-py2_py3"
220 version: "version:1.15.0"
221>
222wheel: <
223 name: "infra/python/wheels/pbr-py2_py3"
224 version: "version:3.0.0"
225>
226wheel: <
227 name: "infra/python/wheels/funcsigs-py2_py3"
228 version: "version:1.0.2"
229>
230wheel: <
231 name: "infra/python/wheels/mock-py2_py3"
232 version: "version:2.0.0"
233>
234
235# Used by:
236# chrome/test/chromedriver/test/run_webdriver_tests.py
237
238wheel <
239 name: "infra/python/wheels/pytest-py2_py3"
240 version: "version:3.6.2"
241>
242
243wheel <
244 name: "infra/python/wheels/attrs-py2_py3"
245 version: "version:17.4.0"
246>
247
248wheel <
249 name: "infra/python/wheels/six-py2_py3"
250 version: "version:1.15.0"
251>
252
253wheel <
254 name: "infra/python/wheels/more-itertools-py2_py3"
255 version: "version:4.1.0"
256>
257
258wheel <
259 name: "infra/python/wheels/scandir/${vpython_platform}"
260 version: "version:1.7"
261>
262
263wheel <
264 name: "infra/python/wheels/pluggy-py2_py3"
265 version: "version:0.7.1"
266>
267
268wheel <
269 name: "infra/python/wheels/py-py2_py3"
270 version: "version:1.5.3"
271>
272
273wheel <
274 name: "infra/python/wheels/funcsigs-py2_py3"
275 version: "version:1.0.2"
276>
277wheel: <
278 name: "infra/python/wheels/psutil/${vpython_platform}"
279 version: "version:5.2.2"
280>
281
282# Used by:
283# tools/infra
284wheel: <
285 name: "infra/python/wheels/requests-py2_py3"
286 version: "version:2.13.0"
287>
288wheel: <
289 name: "infra/python/wheels/colorama-py2_py3"
290 version: "version:0.4.1"
291>
292wheel: <
293 name: "infra/python/wheels/mock-py2_py3"
294 version: "version:2.0.0"
295>
296
297wheel: <
298 name: "infra/python/wheels/atomicwrites-py2_py3"
299 version: "version:1.3.0"
300>
301
302wheel: <
303 name: "infra/python/wheels/pathlib2-py2_py3"
304 version: "version:2.3.3"
305>
306
307# Used by Web Platform Tests (WPT) codebase in
308# //third_party/blink/web_tests/external/wpt/tools/
309wheel: <
310 name: "infra/python/wheels/html5lib-py2_py3"
311 version: "version:1.0.1"
312>
313wheel: <
314 name: "infra/python/wheels/mozdebug-py2_py3"
315 version: "version:0.1.1"
316>
317wheel: <
318 name: "infra/python/wheels/mozinfo-py2_py3"
319 version: "version:1.1.0"
320>
321wheel: <
322 name: "infra/python/wheels/mozlog-py2_py3"
323 version: "version:5.0"
324>
325wheel: <
326 name: "infra/python/wheels/mozprocess-py2_py3"
327 version: "version:0.26"
328>
329wheel: <
330 name: "infra/python/wheels/urllib3-py2_py3"
331 version: "version:1.22"
332>
333wheel: <
334 name: "infra/python/wheels/blessings-py2_py3"
335 version: "version:1.7"
336>
337wheel: <
338 name: "infra/python/wheels/mozfile-py2_py3"
339 version: "version:2.0.0"
340>
341wheel: <
342 name: "infra/python/wheels/mozterm-py2_py3"
343 version: "version:1.0.0"
344>
345wheel: <
346 name: "infra/python/wheels/webencodings-py2_py3"
347 version: "version:0.5.1"
348>
349wheel: <
350 name: "infra/python/wheels/certifi-py2_py3"
351 version: "version:2018.11.29"
352>
353wheel: <
354 name: "infra/python/wheels/chardet-py2_py3"
355 version: "version:3.0.4"
356>
357wheel: <
358 name: "infra/python/wheels/idna-py2_py3"
359 version: "version:2.8"
360>
361wheel: <
362 name: "infra/python/wheels/pillow/${vpython_platform}"
363 version: "version:6.0.0"
364 match_tag: <
365 platform: "win32"
366 >
367 match_tag: <
368 platform: "win_amd64"
369 >
370 match_tag: <
371 abi: "cp27mu"
372 platform: "manylinux1_i686"
373 >
374 match_tag: <
375 abi: "cp27mu"
376 platform: "manylinux1_x86_64"
377 >
378 match_tag: <
379 platform: "macosx_10_6_intel"
380 >
381>
382
383# Used by:
384# //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
385wheel: <
386 name: "infra/python/wheels/pywin32/${vpython_platform}"
387 version: "version:227"
388 match_tag: <
389 platform: "win32"
390 >
391 match_tag: <
392 platform: "win_amd64"
393 >
394>