# 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.11"

# 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: "infra/python/wheels/portage-py3"
  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.chromium.4"
>

# pylint deps.
# NB: Keep in sync with scripts/pylint.
wheel: <
  name: "infra/python/wheels/astroid-py3"
  version: "version:3.2.4"
>
wheel: <
  name: "infra/python/wheels/pylint-py3"
  version: "version:3.2.7"
>
wheel: <
  name: "infra/python/wheels/typing-extensions-py3"
  version: "version:4.14.0"
>
wheel: <
  name: "infra/python/wheels/dill-py3"
  version: "version:0.3.7"
>
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/isort-py3"
  version: "version:5.10.1"
>
wheel: <
  name: "infra/python/wheels/mccabe-py3"
  version: "version:0.6.1"
>
wheel: <
  name: "infra/python/wheels/tomlkit-py3"
  version: "version:0.12.3"
>
wheel: <
  name: "infra/python/wheels/wrapt-py3"
  version: "version:1.15.0"
>
wheel: <
  name: "infra/python/wheels/lazy-object-proxy/${vpython_platform}"
  version: "version:1.4.3"
>

# pytest deps.
wheel: <
  name: "infra/python/wheels/apipkg-py3"
  version: "version:2.0.1"
>
wheel: <
  name: "infra/python/wheels/attrs-py2_py3"
  version: "version:20.3.0"
>
wheel: <
  name: "infra/python/wheels/coverage/${vpython_platform}"
  version: "version:7.3.1"
>
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:1.5.0"
>
wheel: <
  name: "infra/python/wheels/py-py2_py3"
  version: "version:1.11.0"
>
wheel: <
  name: "infra/python/wheels/pyparsing-py2_py3"
  version: "version:2.2.0"
>
wheel: <
  name: "infra/python/wheels/pytest-py3"
  version: "version:8.3.4"
>
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/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.8.0"
>
