.vpython 9.9 KB

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