# This is a vpython "spec" file.
#
# Read more about `vpython` and how to modify this file here:
#   https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md
# List of available wheels:
#   https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/wheels.md

python_version: "3.8"

wheel: <
  name: "infra/python/wheels/appengine-python-standard-py3"
  version: "version:0.3.1"
>
wheel: <
  name: "infra/python/wheels/ezt-py2_py3"
  version: "version:1.1"
>

wheel: <
  name: "infra/python/wheels/flask-py2_py3"
  version: "version:1.0.2"
>

wheel: <
  name: "infra/python/wheels/google-api-python-client-py3"
  version: "version:2.2.0"
>

wheel: <
  name: "infra/python/wheels/google-auth-py2_py3"
  version: "version:1.35.0"
>

wheel: <
  name: "infra/python/wheels/google-cloud-logging-py3"
  version: "version:3.0.0"
>

wheel: <
  name: "infra/python/wheels/google-cloud-storage-py2_py3"
  version: "version:1.41.1"
>

wheel: <
  name: "infra/python/wheels/google-cloud-tasks-py2_py3"
  version: "version:2.8.1"
>

wheel: <
  name: "infra/python/wheels/httpagentparser-py2_py3"
  version: "version:1.9.3"
>

wheel: <
  name: "infra/python/wheels/httplib2-py3"
  version: "version:0.19.1"
>

wheel: <
  name: "infra/python/wheels/mysqlclient/${vpython_platform}"
  version: "version:2.1.1"
>

wheel: <
  name: "infra/python/wheels/oauth2client-py2_py3"
  version: "version:4.1.3"
>

wheel: <
  name: "infra/python/wheels/protorpc-py2_py3"
  version: "version:0.12.0"
>

wheel: <
 name: "infra/python/wheels/six-py2_py3"
 version: "version:1.15.0"
>

# Required for testing only.
wheel: <
  name: "infra/python/wheels/mox3-py2_py3"
  version: "version:1.1.0"
>

wheel: <
  name: "infra/python/wheels/pytest-py3"
  version: "version:6.2.2"
>

# Required by appengine-python-standard==0.3.1
wheel: <
  name: "infra/python/wheels/attrs-py2_py3"
  version: "version:21.4.0"
>

# Required by appengine-python-standard==0.3.1
wheel: <
  name: "infra/python/wheels/frozendict-py3"
  version: "version:2.0.6"
>

# Required by appengine-python-standard==0.3.1
wheel: <
  name: "infra/python/wheels/mock-py3"
  version: "version:4.0.3"
>

# Required by appengine-python-standard==0.3.1
wheel: <
  name: "infra/python/wheels/pillow/${vpython_platform}"
  version: "version:8.3.1"
>

# Required by appengine-python-standard==0.3.1
wheel: <
  name: "infra/python/wheels/protobuf-py3"
  version: "version:3.19.3"
>

# Required by appengine-python-standard==0.3.1
wheel: <
  name: "infra/python/wheels/pytz-py2_py3"
  version: "version:2021.1"
>

# Required by appengine-python-standard==0.3.1
wheel: <
  name: "infra/python/wheels/ruamel_yaml-py3"
  version: "version:0.17.16"
>

# Required by Flask==1.0.2
wheel: <
  name: "infra/python/wheels/click-py2_py3"
  version: "version:7.0"
>

# Required by Flask==1.0.2
wheel: <
  name: "infra/python/wheels/itsdangerous-py2_py3"
  version: "version:1.1.0"
>

# Required by Flask==1.0.2
wheel: <
  name: "infra/python/wheels/jinja2-py2_py3"
  version: "version:2.10.1"
>

# Required by Flask==1.0.2
wheel: <
  name: "infra/python/wheels/werkzeug-py2_py3"
  version: "version:1.0.1"
>

# Required by google-api-python-client==2.2.0 and
# google-cloud-core==2.2.2 and google-cloud-logging==3.0.0
wheel: <
  name: "infra/python/wheels/google-api-core-py3"
  version: "version:1.31.5"
>

# Required by google-api-python-client==2.2.0
wheel: <
  name: "infra/python/wheels/google-auth-py2_py3"
  version: "version:1.35.0"
>

# Required by google-api-python-client==2.2.0
wheel: <
  name: "infra/python/wheels/google-auth-httplib2-py2_py3"
  version: "version:0.1.0"
>

# Required by google-api-python-client==2.2.0
wheel: <
  name: "infra/python/wheels/uritemplate-py2_py3"
  version: "version:3.0.0"
>

# Required by google-api-core==1.25.1
wheel: <
  name: "infra/python/wheels/googleapis-common-protos-py2_py3"
  version: "version:1.52.0"
>

# Required by google-api-core==1.25.1
wheel: <
  name: "infra/python/wheels/requests-py2_py3"
  version: "version:2.25.1"
>

# Required by google-auth==1.29.0
wheel: <
  name: "infra/python/wheels/cachetools-py3"
  version: "version:4.2.1"
>

# Required by google-auth==1.29.0
wheel: <
  name: "infra/python/wheels/pyasn1_modules-py2_py3"
  version: "version:0.2.8"
>

# Required by google-auth==1.29.0
wheel: <
  name: "infra/python/wheels/rsa-py3"
  version: "version:4.7.2"
>

# Required by google-cloud-logging==3.0.0
wheel: <
  name: "infra/python/wheels/google-cloud-appengine-logging-py2_py3"
  version: "version:1.1.1"
>

# Required by google-cloud-logging==3.0.0
wheel: <
  name: "infra/python/wheels/google-cloud-audit-log-py2_py3"
  version: "version:0.2.0"
>

# Required by google-cloud-logging==3.0.0
wheel: <
  name: "infra/python/wheels/grpc-google-iam-v1-py3"
  version: "version:0.12.3"
>

# Required by google-cloud-logging==3.0.0
wheel: <
  name: "infra/python/wheels/proto-plus-py3"
  version: "version:1.20.3"
>

# Required by google-cloud-storage==1.41.1
wheel: <
  name: "infra/python/wheels/google-resumable-media-py3"
  version: "version:2.2.1"
>

# Required by google-cloud-storage==1.41.1
wheel: <
  name: "infra/python/wheels/google-cloud-core-py3"
  version: "version:2.2.2"
>

# Required by google-cloud-storage==1.41.1
wheel: <
  name: "infra/python/wheels/google-crc32c/${vpython_platform}"
  version: "version:1.3.0"
>

# Required by grpc-google-iam-v1==0.12.3
wheel: <
  name: "infra/python/wheels/grpcio/${vpython_platform}"
  version: "version:1.44.0"
>

# Required by httplib2==0.19.1
wheel: <
  name: "infra/python/wheels/pyparsing-py2_py3"
  version: "version:2.4.7"
>

# Required by Jinja2==2.10.1
wheel: <
  name: "infra/python/wheels/markupsafe/${vpython_platform}"
  version: "version:1.1.1"
>

# Required by oauth2client==4.1.3
wheel: <
  name: "infra/python/wheels/pyasn1-py2_py3"
  version: "version:0.4.8"
>

# Required by mox3==1.1.0
wheel: <
  name: "infra/python/wheels/pbr-py2_py3"
  version: "version:5.9.0"
>

wheel: <
  name: "infra/python/wheels/fixtures-py2_py3"
  version: "version:4.0.1"
>

# Required by pytest==6.2.2
wheel: <
  name: "infra/python/wheels/iniconfig-py3"
  version: "version:1.1.1"
>

# Required by pytest==6.2.2
wheel: <
  name: "infra/python/wheels/packaging-py2_py3"
  version: "version:16.8"
>

# Required by pytest==6.2.2
wheel: <
  name: "infra/python/wheels/pluggy-py3"
  version: "version:0.13.1"
>

# Required by pytest==6.2.2
wheel: <
  name: "infra/python/wheels/py-py2_py3"
  version: "version:1.10.0"
>

# Required by pytest==6.2.2
wheel: <
  name: "infra/python/wheels/toml-py3"
  version: "version:0.10.1"
>

# Required by requests==2.25.1
wheel: <
  name: "infra/python/wheels/certifi-py2_py3"
  version: "version:2020.12.5"
>

# Required by requests==2.25.1
wheel: <
  name: "infra/python/wheels/chardet-py2_py3"
  version: "version:4.0.0"
>

# Required by requests==2.25.1
wheel: <
  name: "infra/python/wheels/idna-py2_py3"
  version: "version:2.8"
>

# Required by requests==2.25.1
wheel: <
  name: "infra/python/wheels/urllib3-py2_py3"
  version: "version:1.26.4"
>

# Required by ruamel.yaml==0.17.16
wheel: <
  name: "infra/python/wheels/ruamel_yaml_clib/${vpython_platform}"
  version: "version:0.2.6"
>
