# vpython3 spec for v8-utils.
#
# Provides the runtime dependencies needed by the launchers under bin/
# (currently: pp, v8-mcp). Wheels are pulled from CIPD; available wheels
# and versions are listed at:
#   https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/wheels.md
#
# Note: package versions here may differ from those in pyproject.toml/uv.lock
# because CIPD only ships a curated subset.

python_version: "3.11"

verify_pep425_tag: [
    {python: "cp311", abi: "cp311", platform: "manylinux1_x86_64"},
    {python: "cp311", abi: "cp311", platform: "linux_arm64"},

    {python: "cp311", abi: "cp311", platform: "macosx_10_10_intel"},
    {python: "cp311", abi: "cp311", platform: "macosx_11_0_arm64"},

    {python: "cp311", abi: "cp311", platform: "win32"},
    {python: "cp311", abi: "cp311", platform: "win_amd64"}
]

# ── mcp + httpx stack (FastMCP server, HTTP client) ──────────────────────────

wheel: <
  name: "infra/python/wheels/mcp-py3"
  version: "version:1.9.4"
>
wheel: <
  name: "infra/python/wheels/httpx-py3"
  version: "version:0.28.1"
>
wheel: <
  name: "infra/python/wheels/httpcore-py3"
  version: "version:1.0.9"
>
wheel: <
  name: "infra/python/wheels/httpx_sse-py3"
  version: "version:0.4.1"
>
wheel: <
  name: "infra/python/wheels/h11-py3"
  version: "version:0.16.0"
>
wheel: <
  name: "infra/python/wheels/anyio-py3"
  version: "version:4.9.0"
>
wheel: <
  name: "infra/python/wheels/sniffio-py3"
  version: "version:1.3.0"
>
wheel: <
  name: "infra/python/wheels/idna-py3"
  version: "version:3.4"
>
wheel: <
  name: "infra/python/wheels/certifi-py3"
  version: "version:2025.4.26"
>
wheel: <
  name: "infra/python/wheels/typing-extensions-py3"
  version: "version:4.13.2"
>
wheel: <
  name: "infra/python/wheels/typing-inspection-py3"
  version: "version:0.4.1"
>
wheel: <
  name: "infra/python/wheels/annotated-types-py3"
  version: "version:0.7.0"
>
wheel: <
  name: "infra/python/wheels/pydantic-py3"
  version: "version:2.11.7"
>
wheel: <
  name: "infra/python/wheels/pydantic_core/${vpython_platform}"
  version: "version:2.33.2"
>
wheel: <
  name: "infra/python/wheels/pydantic-settings-py3"
  version: "version:2.10.1"
>
wheel: <
  name: "infra/python/wheels/click-py3"
  version: "version:8.0.3"
>
wheel: <
  name: "infra/python/wheels/starlette-py3"
  version: "version:0.47.1"
>
wheel: <
  name: "infra/python/wheels/sse-starlette-py3"
  version: "version:2.4.1"
>
wheel: <
  name: "infra/python/wheels/uvicorn-py3"
  version: "version:0.35.0"
>
wheel: <
  name: "infra/python/wheels/python-multipart-py3"
  version: "version:0.0.20"
>
wheel: <
  name: "infra/python/wheels/python-dotenv-py3"
  version: "version:1.1.1"
>

# ── requests (transitive of google-auth + direct via google.auth.transport) ──

wheel: <
  name: "infra/python/wheels/requests-py3"
  version: "version:2.32.5"
>
wheel: <
  name: "infra/python/wheels/urllib3-py3"
  version: "version:2.4.0"
>
wheel: <
  name: "infra/python/wheels/charset_normalizer-py3"
  version: "version:2.0.4"
>

# ── google-auth (cas_api.py) ─────────────────────────────────────────────────

wheel: <
  name: "infra/python/wheels/google-auth-py3"
  version: "version:2.16.2"
>
wheel: <
  name: "infra/python/wheels/cachetools-py3"
  version: "version:5.3.3"
>
wheel: <
  name: "infra/python/wheels/pyasn1-py2_py3"
  version: "version:0.4.5"
>
wheel: <
  name: "infra/python/wheels/pyasn1_modules-py2_py3"
  version: "version:0.2.4"
>
wheel: <
  name: "infra/python/wheels/rsa-py2_py3"
  version: "version:3.4.2"
>
wheel: <
  name: "infra/python/wheels/six-py2_py3"
  version: "version:1.17.0"
>

# ── protobuf (rbe_pb2.py) ────────────────────────────────────────────────────

wheel: <
  name: "infra/python/wheels/protobuf-py3"
  version: "version:4.25.1"
>

# ── rich (terminal output) ───────────────────────────────────────────────────

wheel: <
  name: "infra/python/wheels/rich-py3"
  version: "version:13.2.0"
>
wheel: <
  name: "infra/python/wheels/markdown-it-py-py3"
  version: "version:2.1.0"
>
wheel: <
  name: "infra/python/wheels/mdurl-py3"
  version: "version:0.1.2"
>
wheel: <
  name: "infra/python/wheels/pygments-py3"
  version: "version:2.14.0"
>
wheel: <
  name: "infra/python/wheels/colorama-py2_py3"
  version: "version:0.4.6"
>

# ── scipy + numpy (statistics in pinpoint.py) ────────────────────────────────

wheel: <
  name: "infra/python/wheels/scipy/${vpython_platform}"
  version: "version:1.10.1"
  # No wheel available for these platforms at this version.
  not_match_tag: <
    platform: "linux_arm64"
  >
  not_match_tag: <
    platform: "win32"
  >
>
wheel: <
  name: "infra/python/wheels/numpy/${vpython_platform}"
  version: "version:1.23.5.chromium.4"
>

# ── platformdirs (config / cache locations) ──────────────────────────────────

wheel: <
  name: "infra/python/wheels/platformdirs-py3"
  version: "version:4.9.2"
>
