mgoin/vllm-wheels

★ 8Forks 2PythonGitHub ↗Compare

Project website ↗

README

vLLM Wheel Explorer

A searchable, developer-friendly index of vLLM wheels from:

The hosted browser is designed for people. The generated JSON, CSV, and JSON Schema are designed for scripts.

Why this exists

vLLM publishes wheels through several channels and index layouts. The official getting started and previous releases pages cover common installation paths. This project complements them with the complete, filterable wheel-level inventory: source, version, index variant, Python and ABI tags, platform, architecture, download URL, and an exact install command.

Refresh the index

Install the package and run the scraper:

python -m pip install .
python -m vllm_wheels

By default, this inspects every PyPI release, every GitHub release, current nightly indexes, and 20 recent commits. Useful limits:

python -m vllm_wheels \
  --max-versions 10 \
  --max-github-releases 10 \
  --recent-commits 5

GITHUB_TOKEN is optional, but recommended for higher GitHub API limits.

The command writes:

  • data/wheels.json — normalized schema v2 dataset
  • data/wheels.csv — flat export
  • data/stats.json — summary counts
  • data/schema.json — JSON Schema for consumers

Preview the site

The site intentionally has no build step, runtime framework, or package-manager dependency. GitHub Pages serves it directly from the repository root. To preview the same layout locally:

python -m http.server 8000

Then open http://localhost:8000.

Project structure

src/vllm_wheels/
├── cli.py
├── http.py
├── models.py
├── output.py
├── parsing.py
├── scraper.py
├── versions.py
└── sources/
    ├── github.py
    └── vllm_index.py
assets/
├── app.js
└── styles.css
index.html
og.png
tests/
data/

The source adapters emit one WheelRecord model. The frontend therefore reads explicit fields such as channel, source, index_variant, and index_url instead of inferring meaning from result-key prefixes.

Tests

python -m pip install .
python -m unittest discover -v

Tests cover PEP 440 version ordering, nested variants, default aliases, ROCm indexes, URL encoding, install commands, and output generation.

Automation

  • Refresh wheel index runs daily, tests the scraper, refreshes all data, and commits changes.
  • The repository's existing GitHub Pages configuration serves main from the repository root, so site and data changes publish without a separate build or deployment workflow.

This is a community project and is not an official vLLM property.

Contributors

actions-usermgoin

Issues