# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Dependencies needed to run unittests.
#
# For info on this file, see:
# https://chromium.googlesource.com/infra/infra/+/HEAD/doc/users/vpython.md#available-wheels

python_version: "3.8"

# chromite deps.
wheel: <
  name: "infra/python/wheels/psutil/${vpython_platform}"
  version: "version:5.7.2"
>
wheel: <
  name: "infra/python/wheels/python-dateutil-py2_py3"
  version: "version:2.8.1"
>
wheel: <
  name: "infra/python/wheels/python-magic-py2_py3"
  version: "version:0.4.24"
>
wheel: <
  name: "infra/python/wheels/pyyaml-py3"
  version: "version:5.3.1"
>
wheel: <
  name: "infra/python/wheels/six-py2_py3"
  version: "version:1.15.0"
>

wheel: <
  name: "chromiumos/infra/virtualenv/portage/${vpython_platform}"
  version: "version:2.3.75"
>

# devserver dependency on cherrypy.
wheel: <
  name: "infra/python/wheels/cherrypy-py3"
  version: "version:14.2.0"
>
wheel: <
  name: "infra/python/wheels/cheroot-py3"
  version: "version:6.2.4"
>
wheel: <
  name: "infra/python/wheels/backports_functools_lru_cache-py3"
  version: "version:1.5"
>
wheel: <
  name: "infra/python/wheels/portend-py3"
  version: "version:2.2"
>
wheel: <
  name: "infra/python/wheels/pytz-py2_py3"
  version: "version:2021.1"
>
wheel: <
  name: "infra/python/wheels/tempora-py3"
  version: "version:1.11"
>

# gsutil deps.
wheel: <
  name: "infra/python/wheels/crcmod/${vpython_platform}"
  version: "version:1.7"
>

# pylint deps.
# NB: Keep in sync with scripts/pylint.
wheel: <
  name: "infra/python/wheels/pylint-quotes-py3"
  version: "version:0.2.3"
>
wheel: <
  name: "infra/python/wheels/astroid-py3"
  version: "version:2.11.3"
>
wheel: <
  name: "infra/python/wheels/pylint-py3"
  version: "version:2.13.8"
>
wheel: <
  name: "infra/python/wheels/typing-extensions-py3"
  version: "version:4.0.1"
>
wheel: <
  name: "infra/python/wheels/dill-py3"
  version: "version:0.3.4"
>
wheel: <
  name: "infra/python/wheels/tomli-py3"
  version: "version:2.0.1"
>
wheel: <
  name: "infra/python/wheels/platformdirs-py3"
  version: "version:2.5.2"
>

wheel: <
  name: "infra/python/wheels/futures-py3"
  version: "version:3.1.1"
>
wheel: <
  name: "infra/python/wheels/isort-py3"
  version: "version:5.10.1"
>
wheel: <
  name: "infra/python/wheels/mccabe-py3"
  version: "version:0.6.1"
>
wheel: <
  name: "infra/python/wheels/toml-py3"
  version: "version:0.10.1"
>
wheel: <
  name: "infra/python/wheels/wrapt/${vpython_platform}"
  version: "version:1.12.1"
>
wheel: <
  name: "infra/python/wheels/lazy-object-proxy/${vpython_platform}"
  version: "version:1.4.3"
>

# pytest deps.
wheel: <
  name: "infra/python/wheels/apipkg-py2_py3"
  version: "version:1.5"
>
wheel: <
  name: "infra/python/wheels/attrs-py2_py3"
  version: "version:20.3.0"
>
wheel: <
  name: "infra/python/wheels/coverage/${vpython_platform}"
  version: "version:5.5"
>
wheel: <
  name: "infra/python/wheels/execnet-py2_py3"
  version: "version:1.8.0"
>
wheel: <
  name: "infra/python/wheels/iniconfig-py3"
  version: "version:1.1.1"
>
wheel: <
  name: "infra/python/wheels/more-itertools-py2_py3"
  version: "version:4.1.0"
>
wheel: <
  name: "infra/python/wheels/packaging-py2_py3"
  version: "version:16.8"
>
wheel: <
  name: "infra/python/wheels/pluggy-py3"
  version: "version:0.13.1"
>
wheel: <
  name: "infra/python/wheels/py-py2_py3"
  version: "version:1.5.3"
>
wheel: <
  name: "infra/python/wheels/pyparsing-py2_py3"
  version: "version:2.2.0"
>
wheel: <
  name: "infra/python/wheels/pytest-py3"
  version: "version:7.3.1"
>
wheel: <
  name: "infra/python/wheels/exceptiongroup-py3"
  version: "version:1.1.2"
>
wheel: <
  name: "infra/python/wheels/pytest-cov-py2_py3"
  version: "version:2.11.1"
>
wheel: <
  name: "infra/python/wheels/pytest-forked-py2_py3"
  version: "version:1.3.0"
>
wheel: <
  name: "infra/python/wheels/pytest-xdist-py3"
  version: "version:3.3.1"
>
wheel: <
  name: "infra/python/wheels/toml-py3"
  version: "version:0.10.1"
>
wheel: <
  name: "infra/python/wheels/wcwidth-py2_py3"
  version: "version:0.1.8"
>

# telemetry deps
wheel: <
  name: "infra/python/wheels/opentelemetry-api-py3"
  version: "version:1.12.0"
>
wheel: <
  name: "infra/python/wheels/opentelemetry-sdk-py3"
  version: "version:1.12.0"
>
wheel: <
  name: "infra/python/wheels/opentelemetry-semantic-conventions-py3"
  version: "version:0.33b0"
>
wheel: <
  name: "infra/python/wheels/deprecated-py3"
  version: "version:1.2.13"
>

# flask deps
wheel: <
  name: "infra/python/wheels/itsdangerous-py3"
  version: "version:2.0.1"
>
wheel: <
  name: "infra/python/wheels/werkzeug-py3"
  version: "version:2.0.1"
>
wheel: <
  name: "infra/python/wheels/jinja2-py3"
  version: "version:3.1.2"
>
wheel: <
  name: "infra/python/wheels/markupsafe/${vpython_platform}"
  version: "version:2.0.1"
>
wheel: <
  name: "infra/python/wheels/click-py3"
  version: "version:8.0.3"
>
wheel: <
  name: "infra/python/wheels/flask-py3"
  version: "version:2.0.2"
>

# scripts/run_tests.py flag --wait-for-debugger requires this
wheel: <
 name: "infra/python/wheels/debugpy/${vpython_platform}"
 version: "version:1.6.7"
>
