.vpython3 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  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. python_version: "3.8"
  25. # The default set of platforms vpython checks does not yet include mac-arm64.
  26. # Setting `verify_pep425_tag` to the list of platforms we explicitly must support
  27. # allows us to ensure that vpython specs stay mac-arm64-friendly
  28. verify_pep425_tag: [
  29. {python: "cp38", abi: "cp38", platform: "manylinux1_x86_64"},
  30. {python: "cp38", abi: "cp38", platform: "linux_arm64"},
  31. {python: "cp38", abi: "cp38", platform: "macosx_10_10_intel"},
  32. {python: "cp38", abi: "cp38", platform: "macosx_11_0_arm64"},
  33. {python: "cp38", abi: "cp38", platform: "win32"},
  34. {python: "cp38", abi: "cp38", platform: "win_amd64"}
  35. ]
  36. # Used by:
  37. # build/android/pylib/local/emulator/avd.py
  38. wheel: <
  39. name: "infra/python/wheels/protobuf-py2_py3"
  40. version: "version:3.15.8"
  41. >
  42. # TODO(https://crbug.com/898348): Add in necessary wheels as Python3 versions
  43. # become available.
  44. wheel: <
  45. name: "infra/python/wheels/six-py2_py3"
  46. version: "version:1.15.0"
  47. >
  48. # Common utilities.
  49. # Use the same versions specified by //third_party/catapult/.vpython3 so that
  50. # Chromium tests using Telemetry function properly.
  51. wheel: <
  52. name: "infra/python/wheels/numpy/${vpython_platform}"
  53. version: "version:1.2x.supported.1"
  54. >
  55. wheel: <
  56. name: "infra/python/wheels/pexpect/${vpython_platform}"
  57. version: "version:4.8.0.chromium.1"
  58. >
  59. wheel: <
  60. name: "infra/python/wheels/psutil/${vpython_platform}"
  61. version: "version:5.8.0.chromium.3"
  62. >
  63. wheel: <
  64. name: "infra/python/wheels/requests-py2_py3"
  65. version: "version:2.26.0"
  66. >
  67. wheel: <
  68. name: "infra/python/wheels/pillow/${vpython_platform}"
  69. version: "version:8.3.1"
  70. # There is currently no Linux arm/arm64 version in CIPD.
  71. not_match_tag <
  72. platform: "linux_aarch64"
  73. >
  74. >
  75. # Used by various python unit tests.
  76. wheel: <
  77. name: "infra/python/wheels/mock-py2_py3"
  78. version: "version:2.0.0"
  79. >
  80. wheel: <
  81. name: "infra/python/wheels/parameterized-py2_py3"
  82. version: "version:0.7.1"
  83. >
  84. wheel: <
  85. name: "infra/python/wheels/pbr-py2_py3"
  86. version: "version:3.0.0"
  87. >
  88. wheel: <
  89. name: "infra/python/wheels/pyfakefs-py2_py3"
  90. version: "version:3.7.2"
  91. >
  92. # Used by:
  93. # build/chromeos/test_runner.py
  94. wheel: <
  95. name: "infra/python/wheels/jsonlines-py2_py3"
  96. version: "version:1.2.0"
  97. >
  98. wheel: <
  99. name: "infra/python/wheels/python-dateutil-py2_py3"
  100. version: "version:2.7.3"
  101. >
  102. # Used by WPT importer
  103. wheel: <
  104. name: "infra/python/wheels/charset_normalizer-py3"
  105. version: "version:2.0.4"
  106. >
  107. wheel: <
  108. name: "infra/python/wheels/pyasn1-py2_py3"
  109. version: "version:0.4.5"
  110. >
  111. wheel: <
  112. name: "infra/python/wheels/pyasn1_modules-py2_py3"
  113. version: "version:0.2.4"
  114. >
  115. wheel: <
  116. name: "infra/python/wheels/rsa-py2_py3"
  117. version: "version:3.4.2"
  118. >
  119. wheel: <
  120. name: "infra/python/wheels/cachetools-py2_py3"
  121. version: "version:2.0.1"
  122. >
  123. wheel: <
  124. name: "infra/python/wheels/uritemplate-py2_py3"
  125. version: "version:3.0.0"
  126. >
  127. wheel: <
  128. name: "infra/python/wheels/google-auth-py2_py3"
  129. version: "version:1.25.0"
  130. >
  131. wheel: <
  132. name: "infra/python/wheels/googleapis-common-protos-py2_py3"
  133. version: "version:1.52.0"
  134. >
  135. wheel: <
  136. name: "infra/python/wheels/google-api-core-py2_py3"
  137. version: "version:1.25.1"
  138. >
  139. wheel: <
  140. name: "infra/python/wheels/google-auth-httplib2-py2_py3"
  141. version: "version:0.1.0"
  142. >
  143. wheel: <
  144. name: "infra/python/wheels/google-api-python-client-py3"
  145. version: "version:2.2.0"
  146. >
  147. wheel: <
  148. name: "infra/python/wheels/oauth2client-py2_py3"
  149. version: "version:3.0.0"
  150. >
  151. # Used by Web Platform Tests (WPT) codebase in
  152. # //third_party/blink/web_tests/external/wpt/tools/
  153. wheel: <
  154. name: "infra/python/wheels/html5lib-py2_py3"
  155. version: "version:1.0.1"
  156. >
  157. wheel: <
  158. name: "infra/python/wheels/mozdebug-py3"
  159. version: "version:0.3.0"
  160. >
  161. wheel: <
  162. name: "infra/python/wheels/mozinfo-py2_py3"
  163. version: "version:1.2.2"
  164. >
  165. wheel: <
  166. name: "infra/python/wheels/mozlog-py2_py3"
  167. version: "version:7.1.0"
  168. >
  169. wheel: <
  170. name: "infra/python/wheels/mozprocess-py3"
  171. version: "version:1.3.0"
  172. >
  173. wheel: <
  174. name: "infra/python/wheels/urllib3-py2_py3"
  175. version: "version:1.24.3"
  176. >
  177. wheel: <
  178. name: "infra/python/wheels/blessings-py2_py3"
  179. version: "version:1.7"
  180. >
  181. wheel: <
  182. name: "infra/python/wheels/mozfile-py2_py3"
  183. version: "version:2.0.0"
  184. >
  185. wheel: <
  186. name: "infra/python/wheels/mozterm-py2_py3"
  187. version: "version:1.0.0"
  188. >
  189. wheel: <
  190. name: "infra/python/wheels/webencodings-py2_py3"
  191. version: "version:0.5.1"
  192. >
  193. wheel: <
  194. name: "infra/python/wheels/certifi-py2_py3"
  195. version: "version:2020.11.8"
  196. >
  197. wheel: <
  198. name: "infra/python/wheels/chardet-py2_py3"
  199. version: "version:3.0.4"
  200. >
  201. wheel: <
  202. name: "infra/python/wheels/idna-py2_py3"
  203. version: "version:2.8"
  204. >
  205. wheel: <
  206. name: "infra/python/wheels/distro-py2_py3"
  207. version: "version:1.4.0"
  208. >
  209. wheel: <
  210. name: "infra/python/wheels/aioquic/${vpython_platform}"
  211. version: "version:0.9.15"
  212. >
  213. wheel: <
  214. name: "infra/python/wheels/pylsqpack/${vpython_platform}"
  215. version: "version:0.3.12"
  216. >
  217. wheel: <
  218. name: "infra/python/wheels/cryptography/${vpython_platform}"
  219. version: "version:3.3.1.chromium.1"
  220. >
  221. wheel: <
  222. name: "infra/python/wheels/cffi/${vpython_platform}"
  223. version: "version:1.14.5.chromium.7"
  224. >
  225. wheel: <
  226. name: "infra/python/wheels/pycparser-py2_py3"
  227. version: "version:2.19"
  228. >
  229. # Used by:
  230. # chrome/test/chromedriver/test/run_webdriver_tests.py
  231. wheel: <
  232. name: "infra/python/wheels/iniconfig-py3"
  233. version: "version:1.1.1"
  234. >
  235. wheel: <
  236. name: "infra/python/wheels/packaging-py2_py3"
  237. version: "version:16.8"
  238. >
  239. wheel: <
  240. name: "infra/python/wheels/pyparsing-py2_py3"
  241. version: "version:2.4.7"
  242. >
  243. wheel: <
  244. name: "infra/python/wheels/toml-py3"
  245. version: "version:0.10.1"
  246. >
  247. wheel <
  248. name: "infra/python/wheels/pytest-py3"
  249. version: "version:6.2.2"
  250. >
  251. wheel <
  252. name: "infra/python/wheels/pytest-asyncio-py3"
  253. version: "version:0.14.0"
  254. >
  255. wheel <
  256. name: "infra/python/wheels/attrs-py2_py3"
  257. version: "version:20.3.0"
  258. >
  259. wheel <
  260. name: "infra/python/wheels/six-py2_py3"
  261. version: "version:1.15.0"
  262. >
  263. wheel <
  264. name: "infra/python/wheels/more-itertools-py2_py3"
  265. version: "version:4.1.0"
  266. >
  267. wheel <
  268. name: "infra/python/wheels/pluggy-py3"
  269. version: "version:0.13.1"
  270. >
  271. wheel <
  272. name: "infra/python/wheels/py-py2_py3"
  273. version: "version:1.10.0"
  274. >
  275. wheel <
  276. name: "infra/python/wheels/funcsigs-py2_py3"
  277. version: "version:1.0.2"
  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/colorama-py2_py3"
  285. version: "version:0.4.1"
  286. >
  287. # Used by:
  288. # testing/buildbot/generate_buildbot_json_coveragetest.py
  289. wheel: <
  290. name: "infra/python/wheels/coverage/${vpython_platform}"
  291. version: "version:5.5.chromium.3"
  292. >
  293. # Used by:
  294. # //content/test/gpu
  295. wheel: <
  296. name: "infra/python/wheels/pathos/${vpython_platform}"
  297. version: "version:0.2.7.chromium.5"
  298. not_match_tag <
  299. abi: "cp27mu"
  300. platform: "manylinux1_i686"
  301. >
  302. not_match_tag <
  303. abi: "cp27mu"
  304. platform: "linux_mips64"
  305. >
  306. not_match_tag <
  307. abi: "cp27mu"
  308. platform: "linux_armv6l"
  309. >
  310. not_match_tag <
  311. abi: "cp27mu"
  312. platform: "linux_armv7l"
  313. >
  314. >
  315. wheel: <
  316. name: "infra/python/wheels/websockets-py3"
  317. version: "version:10.1"
  318. >
  319. # Used by:
  320. # //tools/infra/find_bad_builds.py
  321. wheel: <
  322. name: "infra/python/wheels/pytz-py2_py3"
  323. version: "version:2018.4"
  324. >
  325. # Used by:
  326. # //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
  327. wheel: <
  328. name: "infra/python/wheels/pywin32/${vpython_platform}"
  329. version: "version:300"
  330. match_tag: <
  331. platform: "win32"
  332. >
  333. match_tag: <
  334. platform: "win_amd64"
  335. >
  336. >
  337. # Used by:
  338. # //content/test/gpu/gpu_tests/color_profile_manager_mac.py
  339. wheel: <
  340. name: "infra/python/wheels/pyobjc/${vpython_platform}"
  341. version: "version:7.3.chromium.1"
  342. match_tag: <
  343. platform: "macosx_10_10_intel"
  344. >
  345. match_tag: <
  346. platform: "macosx_11_0_arm64"
  347. >
  348. >
  349. # Used by:
  350. # tools/perf/core/results_dashboard.py
  351. wheel: <
  352. name: "infra/python/wheels/httplib2-py3"
  353. version: "version:0.19.1"
  354. >
  355. # Used by:
  356. # tools/perf/flakiness_cli
  357. wheel: <
  358. name: "infra/python/wheels/pandas/${vpython_platform}"
  359. version: "version:1.3.2.chromium.1"
  360. not_match_tag: <
  361. platform: "linux_aarch64"
  362. >
  363. >
  364. # Used by:
  365. # testing/script/run_variations_smoke_tests.py
  366. wheel: <
  367. name: "infra/python/wheels/selenium-py3"
  368. version: "version:3.14.0"
  369. >