.vpython3 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  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-py3"
  40. version: "version:3.20.0"
  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. # These wheels are necessary to run pytype, i.e. enforce Python 3 type hinting.
  49. # We currently use 2021.11.2 instead of the 2022.5.5 available in CIPD because
  50. # 2022.5.5 seems to have issues when analyzing code that imports the asyncio
  51. # module. 2021.11.2 only has Linux wheels available, so restrict to that
  52. # platform.
  53. wheel: <
  54. name: "infra/python/wheels/pytype/${vpython_platform}"
  55. version: "version:2021.11.2"
  56. match_tag: <
  57. platform: "manylinux1_x86_64"
  58. >
  59. >
  60. wheel: <
  61. name: "infra/python/wheels/importlab-py3"
  62. version: "version:0.6.1"
  63. match_tag: <
  64. platform: "manylinux1_x86_64"
  65. >
  66. >
  67. wheel: <
  68. name: "infra/python/wheels/networkx-py3"
  69. version: "version:2.5"
  70. match_tag: <
  71. platform: "manylinux1_x86_64"
  72. >
  73. >
  74. wheel: <
  75. name: "infra/python/wheels/decorator-py3"
  76. version: "version:5.0.9"
  77. match_tag: <
  78. platform: "manylinux1_x86_64"
  79. >
  80. >
  81. wheel: <
  82. name: "infra/python/wheels/libcst-py3"
  83. version: "version:0.3.19"
  84. match_tag: <
  85. platform: "manylinux1_x86_64"
  86. >
  87. >
  88. wheel: <
  89. name: "infra/python/wheels/pyyaml/${vpython_platform}"
  90. version: "version:5.4.1.chromium.1"
  91. match_tag: <
  92. platform: "manylinux1_x86_64"
  93. >
  94. >
  95. wheel: <
  96. name: "infra/python/wheels/typing-inspect-py3"
  97. version: "version:0.7.1"
  98. match_tag: <
  99. platform: "manylinux1_x86_64"
  100. >
  101. >
  102. wheel: <
  103. name: "infra/python/wheels/typing-extensions-py3"
  104. version: "version:4.0.1"
  105. match_tag: <
  106. platform: "manylinux1_x86_64"
  107. >
  108. >
  109. wheel: <
  110. name: "infra/python/wheels/tabulate-py3"
  111. version: "version:0.8.9"
  112. match_tag: <
  113. platform: "manylinux1_x86_64"
  114. >
  115. >
  116. wheel: <
  117. name: "infra/python/wheels/typed-ast/${vpython_platform}"
  118. version: "version:1.5.3"
  119. match_tag: <
  120. platform: "manylinux1_x86_64"
  121. >
  122. >
  123. wheel: <
  124. name: "infra/python/wheels/ninja/${vpython_platform}"
  125. version: "version:1.10.0.post2"
  126. match_tag: <
  127. platform: "manylinux1_x86_64"
  128. >
  129. >
  130. wheel: <
  131. name: "infra/python/wheels/mypy-extensions-py3"
  132. version: "version:0.4.3"
  133. match_tag: <
  134. platform: "manylinux1_x86_64"
  135. >
  136. >
  137. # Common utilities.
  138. # Use the same versions specified by //third_party/catapult/.vpython3 so that
  139. # Chromium tests using Telemetry function properly.
  140. wheel: <
  141. name: "infra/python/wheels/numpy/${vpython_platform}"
  142. version: "version:1.2x.supported.1"
  143. >
  144. wheel: <
  145. name: "infra/python/wheels/pexpect/${vpython_platform}"
  146. version: "version:4.8.0.chromium.1"
  147. >
  148. wheel: <
  149. name: "infra/python/wheels/psutil/${vpython_platform}"
  150. version: "version:5.8.0.chromium.3"
  151. >
  152. wheel: <
  153. name: "infra/python/wheels/requests-py2_py3"
  154. version: "version:2.26.0"
  155. >
  156. wheel: <
  157. name: "infra/python/wheels/pillow/${vpython_platform}"
  158. version: "version:8.3.1"
  159. # There is currently no Linux arm/arm64 version in CIPD.
  160. not_match_tag <
  161. platform: "linux_aarch64"
  162. >
  163. >
  164. wheel: <
  165. name: "infra/python/wheels/opencv_python/${vpython_platform}"
  166. version: "version:4.5.3.56.chromium.4"
  167. # There is currently no Linux arm/arm64 version in CIPD.
  168. not_match_tag <
  169. platform: "linux_aarch64"
  170. >
  171. >
  172. # Used by various python unit tests.
  173. wheel: <
  174. name: "infra/python/wheels/mock-py2_py3"
  175. version: "version:2.0.0"
  176. >
  177. wheel: <
  178. name: "infra/python/wheels/parameterized-py2_py3"
  179. version: "version:0.7.1"
  180. >
  181. wheel: <
  182. name: "infra/python/wheels/pbr-py2_py3"
  183. version: "version:3.0.0"
  184. >
  185. wheel: <
  186. name: "infra/python/wheels/pyfakefs-py2_py3"
  187. version: "version:3.7.2"
  188. >
  189. # Used by:
  190. # build/chromeos/test_runner.py
  191. wheel: <
  192. name: "infra/python/wheels/jsonlines-py2_py3"
  193. version: "version:1.2.0"
  194. >
  195. wheel: <
  196. name: "infra/python/wheels/python-dateutil-py2_py3"
  197. version: "version:2.7.3"
  198. >
  199. # Used by WPT importer
  200. wheel: <
  201. name: "infra/python/wheels/charset_normalizer-py3"
  202. version: "version:2.0.4"
  203. >
  204. wheel: <
  205. name: "infra/python/wheels/pyasn1-py2_py3"
  206. version: "version:0.4.5"
  207. >
  208. wheel: <
  209. name: "infra/python/wheels/pyasn1_modules-py2_py3"
  210. version: "version:0.2.4"
  211. >
  212. wheel: <
  213. name: "infra/python/wheels/rsa-py2_py3"
  214. version: "version:3.4.2"
  215. >
  216. wheel: <
  217. name: "infra/python/wheels/cachetools-py2_py3"
  218. version: "version:2.0.1"
  219. >
  220. wheel: <
  221. name: "infra/python/wheels/uritemplate-py2_py3"
  222. version: "version:3.0.0"
  223. >
  224. wheel: <
  225. name: "infra/python/wheels/google-auth-py2_py3"
  226. version: "version:1.25.0"
  227. >
  228. wheel: <
  229. name: "infra/python/wheels/googleapis-common-protos-py2_py3"
  230. version: "version:1.52.0"
  231. >
  232. wheel: <
  233. name: "infra/python/wheels/google-api-core-py3"
  234. version: "version:1.31.5"
  235. >
  236. wheel: <
  237. name: "infra/python/wheels/google-auth-httplib2-py2_py3"
  238. version: "version:0.1.0"
  239. >
  240. wheel: <
  241. name: "infra/python/wheels/google-api-python-client-py3"
  242. version: "version:2.2.0"
  243. >
  244. wheel: <
  245. name: "infra/python/wheels/oauth2client-py2_py3"
  246. version: "version:3.0.0"
  247. >
  248. # Used by:
  249. # //third_party/blink/tools/wpt_upload.py
  250. wheel: <
  251. name: "infra/python/wheels/crcmod/${vpython_platform}"
  252. version: "version:1.7.chromium.3"
  253. >
  254. wheel: <
  255. name: "infra/python/wheels/grpcio/${vpython_platform}"
  256. version: "version:1.44.0"
  257. >
  258. wheel: <
  259. name: "infra/python/wheels/grpc-google-iam-v1-py3"
  260. version: "version:0.12.3"
  261. >
  262. wheel: <
  263. name: "infra/python/wheels/proto-plus-py3"
  264. version: "version:1.20.3"
  265. >
  266. wheel: <
  267. name: "infra/python/wheels/google-cloud-kms-py3"
  268. version: "version:2.11.1"
  269. >
  270. # Used by Web Platform Tests (WPT) codebase in
  271. # //third_party/wpt_tools
  272. wheel: <
  273. name: "infra/python/wheels/html5lib-py2_py3"
  274. version: "version:1.0.1"
  275. >
  276. wheel: <
  277. name: "infra/python/wheels/mozdebug-py3"
  278. version: "version:0.3.0"
  279. >
  280. wheel: <
  281. name: "infra/python/wheels/mozinfo-py2_py3"
  282. version: "version:1.2.2"
  283. >
  284. wheel: <
  285. name: "infra/python/wheels/mozlog-py2_py3"
  286. version: "version:7.1.0"
  287. >
  288. wheel: <
  289. name: "infra/python/wheels/mozprocess-py3"
  290. version: "version:1.3.0"
  291. >
  292. wheel: <
  293. name: "infra/python/wheels/urllib3-py2_py3"
  294. version: "version:1.24.3"
  295. >
  296. wheel: <
  297. name: "infra/python/wheels/blessings-py2_py3"
  298. version: "version:1.7"
  299. >
  300. wheel: <
  301. name: "infra/python/wheels/mozfile-py2_py3"
  302. version: "version:2.0.0"
  303. >
  304. wheel: <
  305. name: "infra/python/wheels/mozterm-py2_py3"
  306. version: "version:1.0.0"
  307. >
  308. wheel: <
  309. name: "infra/python/wheels/webencodings-py2_py3"
  310. version: "version:0.5.1"
  311. >
  312. wheel: <
  313. name: "infra/python/wheels/certifi-py2_py3"
  314. version: "version:2020.11.8"
  315. >
  316. wheel: <
  317. name: "infra/python/wheels/chardet-py2_py3"
  318. version: "version:3.0.4"
  319. >
  320. wheel: <
  321. name: "infra/python/wheels/idna-py2_py3"
  322. version: "version:2.8"
  323. >
  324. wheel: <
  325. name: "infra/python/wheels/distro-py2_py3"
  326. version: "version:1.4.0"
  327. >
  328. wheel: <
  329. name: "infra/python/wheels/aioquic/${vpython_platform}"
  330. version: "version:0.9.15"
  331. >
  332. wheel: <
  333. name: "infra/python/wheels/pylsqpack/${vpython_platform}"
  334. version: "version:0.3.12"
  335. >
  336. wheel: <
  337. name: "infra/python/wheels/cryptography/${vpython_platform}"
  338. version: "version:3.3.1.chromium.1"
  339. >
  340. wheel: <
  341. name: "infra/python/wheels/cffi/${vpython_platform}"
  342. version: "version:1.14.5.chromium.7"
  343. >
  344. wheel: <
  345. name: "infra/python/wheels/pycparser-py2_py3"
  346. version: "version:2.19"
  347. >
  348. wheel: <
  349. name: "infra/python/wheels/ecdsa-py2_py3"
  350. version: "version:0.17.0"
  351. >
  352. # Used by:
  353. # chrome/test/chromedriver/test/run_webdriver_tests.py
  354. wheel: <
  355. name: "infra/python/wheels/iniconfig-py3"
  356. version: "version:1.1.1"
  357. >
  358. wheel: <
  359. name: "infra/python/wheels/packaging-py2_py3"
  360. version: "version:16.8"
  361. >
  362. wheel: <
  363. name: "infra/python/wheels/pyparsing-py2_py3"
  364. version: "version:2.4.7"
  365. >
  366. wheel: <
  367. name: "infra/python/wheels/toml-py3"
  368. version: "version:0.10.1"
  369. >
  370. wheel <
  371. name: "infra/python/wheels/pytest-py3"
  372. version: "version:6.2.2"
  373. >
  374. wheel <
  375. name: "infra/python/wheels/pytest-asyncio-py3"
  376. version: "version:0.14.0"
  377. >
  378. wheel <
  379. name: "infra/python/wheels/attrs-py2_py3"
  380. version: "version:21.4.0"
  381. >
  382. wheel <
  383. name: "infra/python/wheels/six-py2_py3"
  384. version: "version:1.15.0"
  385. >
  386. wheel <
  387. name: "infra/python/wheels/more-itertools-py2_py3"
  388. version: "version:4.1.0"
  389. >
  390. wheel <
  391. name: "infra/python/wheels/pluggy-py3"
  392. version: "version:0.13.1"
  393. >
  394. wheel <
  395. name: "infra/python/wheels/py-py2_py3"
  396. version: "version:1.10.0"
  397. >
  398. wheel <
  399. name: "infra/python/wheels/funcsigs-py2_py3"
  400. version: "version:1.0.2"
  401. >
  402. wheel: <
  403. name: "infra/python/wheels/atomicwrites-py2_py3"
  404. version: "version:1.3.0"
  405. >
  406. wheel: <
  407. name: "infra/python/wheels/colorama-py2_py3"
  408. version: "version:0.4.1"
  409. >
  410. # Used by:
  411. # testing/buildbot/generate_buildbot_json_coveragetest.py
  412. wheel: <
  413. name: "infra/python/wheels/coverage/${vpython_platform}"
  414. version: "version:5.5.chromium.3"
  415. >
  416. # Used by:
  417. # //content/test/gpu
  418. wheel: <
  419. name: "infra/python/wheels/pathos/${vpython_platform}"
  420. version: "version:0.2.7.chromium.5"
  421. not_match_tag <
  422. abi: "cp27mu"
  423. platform: "manylinux1_i686"
  424. >
  425. not_match_tag <
  426. abi: "cp27mu"
  427. platform: "linux_mips64"
  428. >
  429. not_match_tag <
  430. abi: "cp27mu"
  431. platform: "linux_armv6l"
  432. >
  433. not_match_tag <
  434. abi: "cp27mu"
  435. platform: "linux_armv7l"
  436. >
  437. >
  438. wheel: <
  439. name: "infra/python/wheels/websockets-py3"
  440. version: "version:10.1"
  441. >
  442. # Used by:
  443. # //tools/infra/find_bad_builds.py
  444. wheel: <
  445. name: "infra/python/wheels/pytz-py2_py3"
  446. version: "version:2018.4"
  447. >
  448. # Used by:
  449. # //third_party/blink/tools/blinkpy/web_tests/port/server_process.py
  450. wheel: <
  451. name: "infra/python/wheels/pywin32/${vpython_platform}"
  452. version: "version:300"
  453. match_tag: <
  454. platform: "win32"
  455. >
  456. match_tag: <
  457. platform: "win_amd64"
  458. >
  459. >
  460. # Used by:
  461. # //content/test/gpu/gpu_tests/color_profile_manager_mac.py
  462. wheel: <
  463. name: "infra/python/wheels/pyobjc/${vpython_platform}"
  464. version: "version:7.3.chromium.1"
  465. match_tag: <
  466. platform: "macosx_10_10_intel"
  467. >
  468. match_tag: <
  469. platform: "macosx_11_0_arm64"
  470. >
  471. >
  472. # Used by:
  473. # tools/perf/core/results_dashboard.py
  474. wheel: <
  475. name: "infra/python/wheels/httplib2-py3"
  476. version: "version:0.19.1"
  477. >
  478. # Used by:
  479. # tools/perf/flakiness_cli
  480. wheel: <
  481. name: "infra/python/wheels/pandas/${vpython_platform}"
  482. version: "version:1.3.2.chromium.1"
  483. not_match_tag: <
  484. platform: "linux_aarch64"
  485. >
  486. >
  487. # Used by:
  488. # testing/script/run_variations_smoke_tests.py
  489. wheel: <
  490. name: "infra/python/wheels/selenium-py3"
  491. version: "version:3.14.0"
  492. >