vllm-project/vllm
Dependencies
vLLM has a layered requirements story. The platform-specific files inherit from common.txt.
requirements/
├── common.txt # base — required everywhere
├── cuda.txt # NVIDIA wheels
├── rocm.txt # AMD wheels
├── cpu.txt # CPU-only
├── tpu.txt # Google TPU
├── xpu.txt # Intel XPU
├── kv_connectors.txt # Optional KV transport extras (NIXL, Mooncake, LMCache, ...)
├── kv_connectors_rocm.txt # ROCm-specific KV connector extras
├── lint.txt # ruff, isort, codespell, ...
├── dev.txt # editable-install dev deps
├── docs.txt # mkdocs and friends
├── build/ # build-time only (cmake, ninja, ...)
└── test/ # test runtimeRequired at runtime (common.txt)
Highlights:
| Package | Why |
|---|---|
transformers >= 4.56 |
Tokenizers, processors, configs |
tokenizers >= 0.21.1 |
Fast incremental detokenization |
pydantic >= 2.12 |
Request / config models |
fastapi[standard] >= 0.115 |
API server |
aiohttp, openai >= 2.0, anthropic |
Frontends and helper clients |
xgrammar, outlines_core, lm-format-enforcer, llguidance, lark |
Structured-output backends |
compressed-tensors |
Quantization |
gguf |
GGUF format |
mistral_common[image] |
Mistral / Pixtral tokenizer & multimodal |
opencv-python-headless |
Video IO |
pyzmq, msgspec, cbor2 |
Cross-process messaging |
numba |
N-gram speculative decoding |
prometheus_client, prometheus-fastapi-instrumentator |
Metrics |
opentelemetry-* |
Tracing |
mcp |
MCP server |
openai-harmony |
Required for gpt-oss models |
blake3, pybase64, regex, tqdm, cloudpickle, setproctitle |
Misc utilities |
CUDA stack (cuda.txt)
torch == 2.11.0,torchvision,torchaudioflashinfer-python(and the matchingflashinfer-cubin)apache-tvm-ffi,tilelangnvidia-cudnn-frontendnvidia-cutlass-dsl,quack-kernels(FA4 / CUTLASS DSL)fastsafetensors
ROCm stack (rocm.txt)
- AMD-built
torchwheels - AITER (
vllm/_aiter_ops.py↔ AITER kernels) - ROCm-specific FlashAttention variants
CPU stack (cpu.txt)
- CPU-only
torch - IPEX bits where applicable
- numa / AMX helpers
Optional KV connectors (kv_connectors.txt)
nixl-py— NIXL transportmooncake-transfer-engine— Mooncakelmcache— LMCache- (ROCm gets
nixl-py-rocm)
Build-time
requirements/build/ contains cmake, ninja, and other tools needed to build the C++ / CUDA extensions in csrc/.
Plugins
Out-of-tree plugins (TPU, Gaudi, Ascend, Spyre, Apple Silicon, Rebellions, MetaX, ...) ship as separate packages. They depend on vllm itself and register through Python entry points. See the project's plugin docs for the current list.
Lint & format
pre-commit orchestrates ruff, isort, codespell, and the custom hooks (tools/check_pickle_imports.py, tools/validate_config.py, etc.). The lint requirements live in requirements/lint.txt.
Updating dependencies
- Edit the relevant
requirements/*.txt. - Regenerate any lock files (
uv pip compile, project Makefile target). - Bump the constraint, run
pre-commit run validate-config. - Confirm CI builds wheels for every active platform.
For build automation, see .buildkite/ and the per-platform Dockerfile.* files.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.