Observed since 21 Oct, 10:34 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
ai-dynamo-vllm
A high-throughput and memory-efficient inference and serving engine for LLMs
| Documentation | Blog | Paper | Twitter/X | User Forum | Developer Slack |
Latest News 🔥
vLLM is a fast and easy-to-use library for LLM inference and serving.
Originally developed in the Sky Computing Lab at UC Berkeley, vLLM has evolved into a community-driven project with contributions from both academia and industry.
vLLM is fast with:
Performance benchmark: We include a performance benchmark at the end of our blog post. It compares the performance of vLLM against other LLM serving engines (TensorRT-LLM, SGLang and LMDeploy). The implementation is under nightly-benchmarks folder and you can reproduce this benchmark using our one-click runnable script.
vLLM is flexible and easy to use with:
vLLM seamlessly supports most popular open-source models on HuggingFace, including:
Find the full list of supported models here.
Install vLLM with pip or from source:
pip install vllm
Visit our documentation to learn more.
We welcome and value any contributions and collaborations. Please check out Contributing to vLLM for how to get involved.
vLLM is a community project. Our compute resources for development and testing are supported by the following organizations. Thank you for your support!
Cash Donations:
Compute Resources:
Slack Sponsor: Anyscale
We also have an official fundraising venue through OpenCollective. We plan to use the fund to support the development, maintenance, and adoption of vLLM.
If you use vLLM for your research, please cite our paper:
@inproceedings{kwon2023efficient,
title={Efficient Memory Management for Large Language Model Serving with PagedAttention},
author={Woosuk Kwon and Zhuohan Li and Siyuan Zhuang and Ying Sheng and Lianmin Zheng and Cody Hao Yu and Joseph E. Gonzalez and Hao Zhang and Ion Stoica},
booktitle={Proceedings of the ACM SIGOPS 29th Symposium on Operating Systems Principles},
year={2023}
}
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
cachetoolsEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | cachetools | runtime |
psutilEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | psutil | runtime |
sentencepieceEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | sentencepiece | runtime |
numpyEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | numpy | runtime |
requestsEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | requests>=2.26.0 | runtime |
tqdmEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | tqdm | runtime |
blake3Environment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | blake3 | runtime |
py-cpuinfoEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | py-cpuinfo | runtime |
transformersEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | transformers>=4.51.1 | runtime |
huggingface-hubEnvironment{
"extras": "hf_xet",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | huggingface-hub[hf_xet]>=0.30.0 | runtime |
tokenizersEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | tokenizers>=0.19.1 | runtime |
protobufEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | protobuf | runtime |
fastapiEnvironment{
"extras": "standard",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | fastapi[standard]>=0.115.0 | runtime |
aiohttpEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | aiohttp | runtime |
openaiEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | openai>=1.52.0 | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | pydantic>=2.9 | runtime |
prometheus_clientEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | prometheus_client>=0.18.0 | runtime |
pillowEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | pillow | runtime |
prometheus-fastapi-instrumentatorEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | prometheus-fastapi-instrumentator>=7.0.0 | runtime |
tiktokenEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | tiktoken>=0.6.0 | runtime |
lm-format-enforcerEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | lm-format-enforcer<0.11,>=0.10.11 | runtime |
llguidanceEnvironment{
"extras": "",
"marker": "platform_machine == \"x86_64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | llguidance<0.8.0,>=0.7.9; platform_machine == "x86_64" or platform_machine == "arm64" or platform_machine == "aarch64" | runtime |
outlinesEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | outlines==0.1.11 | runtime |
larkEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | lark==1.2.2 | runtime |
xgrammarEnvironment{
"extras": "",
"marker": "platform_machine == \"x86_64\" or platform_machine == \"aarch64\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | xgrammar==0.1.18; platform_machine == "x86_64" or platform_machine == "aarch64" | runtime |
typing_extensionsEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | typing_extensions>=4.10 | runtime |
filelockEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | filelock>=3.16.1 | runtime |
partial-json-parserEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | partial-json-parser | runtime |
pyzmqEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | pyzmq | runtime |
msgspecEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | msgspec | runtime |
ggufEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | gguf>=0.13.0 | runtime |
importlib_metadataEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | importlib_metadata | runtime |
mistral_commonEnvironment{
"extras": "opencv",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | mistral_common[opencv]>=1.5.4 | runtime |
opencv-python-headlessEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | opencv-python-headless>=4.11.0 | runtime |
pyyamlEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | pyyaml | runtime |
sixEnvironment{
"extras": "",
"marker": "python_version > \"3.11\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | six>=1.16.0; python_version > "3.11" | runtime |
setuptoolsEnvironment{
"extras": "",
"marker": "python_version > \"3.11\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | setuptools>=74.1.1; python_version > "3.11" | runtime |
einopsEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | einops | runtime |
compressed-tensorsEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | compressed-tensors==0.9.3 | runtime |
depyfEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | depyf==0.18.0 | runtime |
cloudpickleEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | cloudpickle | runtime |
watchfilesEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | watchfiles | runtime |
python-json-loggerEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | python-json-logger | runtime |
scipyEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | scipy | runtime |
ninjaEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | ninja | runtime |
opentelemetry-sdkEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-sdk<1.27.0,>=1.26.0 | runtime |
opentelemetry-apiEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-api<1.27.0,>=1.26.0 | runtime |
opentelemetry-exporter-otlpEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-exporter-otlp<1.27.0,>=1.26.0 | runtime |
opentelemetry-semantic-conventions-aiEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | opentelemetry-semantic-conventions-ai<0.5.0,>=0.4.1 | runtime |
numbaEnvironment{
"extras": "",
"marker": "python_version == \"3.9\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | numba==0.60.0; python_version == "3.9" | runtime |
numbaEnvironment{
"extras": "",
"marker": "python_version > \"3.9\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | numba==0.61.2; python_version > "3.9" | runtime |
rayEnvironment{
"extras": "cgraph",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | ray[cgraph]!=2.44.*,>=2.43.0 | runtime |
torchEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | torch==2.6.0 | runtime |
torchaudioEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | torchaudio==2.6.0 | runtime |
torchvisionEnvironment{
"extras": "",
"marker": null,
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | torchvision==0.21.0 | runtime |
xformersEnvironment{
"extras": "",
"marker": "platform_system == \"Linux\" and platform_machine == \"x86_64\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | xformers==0.0.29.post2; platform_system == "Linux" and platform_machine == "x86_64" | runtime |
tensorizerEnvironment{
"extras": "",
"marker": "extra == \"tensorizer\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | tensorizer>=2.9.0; extra == "tensorizer" | runtime |
fastsafetensorsEnvironment{
"extras": "",
"marker": "extra == \"fastsafetensors\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | fastsafetensors>=0.1.10; extra == "fastsafetensors" | runtime |
runai-model-streamerEnvironment{
"extras": "",
"marker": "extra == \"runai\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | runai-model-streamer; extra == "runai" | runtime |
runai-model-streamer-s3Environment{
"extras": "",
"marker": "extra == \"runai\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | runai-model-streamer-s3; extra == "runai" | runtime |
boto3Environment{
"extras": "",
"marker": "extra == \"runai\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | boto3; extra == "runai" | runtime |
librosaEnvironment{
"extras": "",
"marker": "extra == \"audio\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | librosa; extra == "audio" | runtime |
soundfileEnvironment{
"extras": "",
"marker": "extra == \"audio\"",
"requires_python": "<3.13,>=3.9",
"evaluation": "NOT_EVALUATED"
} | soundfile; extra == "audio" | runtime |
sdist · 9.91 KB · Python source
Shared repository data · GitHub
Public sponsor counts have not been collected. These signals belong to the repository owner.
github · 1 observations shown. Missing days are unknown.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-22 | 23,793 | 2026-10-22T10:52:21.1743794Z |
Observed since 21 Oct, 10:34 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:d0f003bc27812de8b01c2c6764b84345ca64ed143f79eeb13844ff2d36107874