blob: fa628266debcb9156d19ad5c1f0fbc2329775a2a [file] [log] [blame]
# This is a vpython "spec" file.
#
# It describes patterns for python wheel dependencies of the python scripts in
# the chromium repo, particularly for dependencies that have compiled components
# (since pure-python dependencies can be easily vendored into third_party).
#
# When vpython is invoked, it finds this file and builds a python VirtualEnv,
# containing all of the dependencies described in this file, fetching them from
# CIPD (the "Chrome Infrastructure Package Deployer" service). Unlike `pip`,
# this never requires the end-user machine to have a working python extension
# compilation environment. All of these packages are built using:
# https://chromium.googlesource.com/infra/infra/+/main/infra/tools/dockerbuild/
#
# All python scripts in the repo share this same spec, to avoid dependency
# fragmentation.
#
# If you have depot_tools installed in your $PATH, you can invoke python scripts
# in this repo by running them as you normally would run them, except
# substituting `vpython` instead of `python` on the command line, e.g.:
# vpython path/to/script.py some --arguments
#
# Read more about `vpython` and how to modify this file here:
# https://chromium.googlesource.com/infra/infra/+/main/doc/users/vpython.md
python_version: "3.11"
# The default set of platforms vpython checks does not yet include mac-arm64.
# Setting `verify_pep425_tag` to the list of platforms we explicitly must support
# allows us to ensure that vpython specs stay mac-arm64-friendly
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"}
]
# Necessary for all Python-based MCP servers. Subsequent wheels in this block
# are its dependencies.
wheel: <
name: "infra/python/wheels/mcp-py3"
version: "version:1.9.4"
>
wheel: <
name: "infra/python/wheels/annotated-types-py3"
version: "version:0.7.0"
>
wheel: <
name: "infra/python/wheels/anyio-py3"
version: "version:4.9.0"
>
wheel: <
name: "infra/python/wheels/certifi-py3"
version: "version:2025.4.26"
>
wheel: <
name: "infra/python/wheels/click-py3"
version: "version:8.0.3"
>
wheel: <
name: "infra/python/wheels/h11-py3"
version: "version:0.16.0"
>
wheel: <
name: "infra/python/wheels/httpcore-py3"
version: "version:1.0.9"
>
wheel: <
name: "infra/python/wheels/httpx-py3"
version: "version:0.28.1"
>
wheel: <
name: "infra/python/wheels/httpx_sse-py3"
version: "version:0.4.1"
>
wheel: <
name: "infra/python/wheels/idna-py3"
version: "version:3.4"
>
wheel: <
name: "infra/python/wheels/pydantic-py3"
version: "version:2.11.7"
>
wheel: <
name: "infra/python/wheels/pydantic_core-py3"
version: "version:2.33.2"
>
wheel: <
name: "infra/python/wheels/pydantic-settings-py3"
version: "version:2.10.1"
>
wheel: <
name: "infra/python/wheels/python-dotenv-py3"
version: "version:1.1.1"
>
wheel: <
name: "infra/python/wheels/python-multipart-py3"
version: "version:0.0.20"
>
wheel: <
name: "infra/python/wheels/sniffio-py3"
version: "version:1.3.0"
>
wheel: <
name: "infra/python/wheels/sse-starlette-py3"
version: "version:2.4.1"
>
wheel: <
name: "infra/python/wheels/starlette-py3"
version: "version:0.47.1"
>
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/uvicorn-py3"
version: "version:0.35.0"
>