• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
25python_version: "3.8"
26
27# The default set of platforms vpython checks does not yet include mac-arm64.
28# Setting `verify_pep425_tag` to the list of platforms we explicitly must support
29# allows us to ensure that vpython specs stay mac-arm64-friendly
30verify_pep425_tag: [
31    {python: "cp38", abi: "cp38", platform: "manylinux1_x86_64"},
32    {python: "cp38", abi: "cp38", platform: "linux_arm64"},
33
34    {python: "cp38", abi: "cp38", platform: "macosx_10_10_intel"},
35    {python: "cp38", abi: "cp38", platform: "macosx_11_0_arm64"},
36
37    {python: "cp38", abi: "cp38", platform: "win32"},
38    {python: "cp38", abi: "cp38", platform: "win_amd64"}
39]
40
41# TODO(https://crbug.com/898348): Add in necessary wheels as Python3 versions
42# become available.
43wheel: <
44  name: "infra/python/wheels/six-py2_py3"
45  version: "version:1.15.0"
46>
47
48wheel: <
49  name: "infra/python/wheels/coverage/${vpython_platform}"
50  version: "version:5.5.chromium.2"
51>
52
53wheel: <
54 name: "infra/python/wheels/pbr-py2_py3"
55 version: "version:3.0.0"
56>
57
58wheel: <
59 name: "infra/python/wheels/funcsigs-py2_py3"
60 version: "version:1.0.2"
61>
62
63wheel: <
64  name: "infra/python/wheels/mock-py2_py3"
65  version: "version:2.0.0"
66>
67
68wheel: <
69  name: "infra/python/wheels/numpy/${vpython_platform}"
70  version: "version:1.2x.supported.1"
71>
72