-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI/Build] migrate static project metadata from setup.py to pyproject.toml #8772
base: main
Are you sure you want to change the base?
Conversation
👋 Hi! Thank you for contributing to the vLLM project. Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging. To run CI, PR reviewers can do one of these:
🚀 |
how does this affect the build process of ci, which uses |
aea82c9
to
f0a9bc0
Compare
@youkaichao It should not. This is just moving static metadata from Building wheels from this branch and main and looking at metadata doesn't show any difference: gh pr checkout 8772
VLLM_TARGET_DEVICE=empty python setup.py bdist_wheel
# ^ creates `vllm-0.6.3.dev157+ge3bef869f.empty-py3-none-any.whl`
git checkout main
VLLM_TARGET_DEVICE=empty python setup.py bdist_wheel
# ^ creates `vllm-0.6.3.dev156+g07c11cf4d.empty-py3-none-any.whl`
# you can verify the wheel's generated metadata files:
ls **/*dist-info Outputs:
You can compare files, and they're identical (except for the extra embedded license in METADATA in the dev157 build, which is this one) |
@dtrifiro do you plan to update this PR? It seems like a nice step towards removing |
@hmellor we will not be able to remove |
b891f26
to
34d60b6
Compare
34d60b6
to
8380754
Compare
# version_file = "vllm/_version.py" # currently handled by `setup.py:get_version()` | ||
version_file = "vllm/_version.py" | ||
|
||
[tool.setuptools.packages.find] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing find_packages()
from setup.py and relying on autodiscovery results in a minor change in the final wheel:
A few extra files are included as part of the build:
--- layout_old.txt 2025-01-31 13:23:54.772311579 +0100
+++ layout_new.txt 2025-01-31 13:23:59.458978135 +0100
@@ -117,9 +117,7 @@
vllm/distributed/device_communicators/tpu_communicator.py
vllm/distributed/device_communicators/xpu_communicator.py
vllm/distributed/kv_transfer
-vllm/distributed/kv_transfer/README.md
vllm/distributed/kv_transfer/__init__.py
-vllm/distributed/kv_transfer/disagg_prefill_workflow.jpg
vllm/distributed/kv_transfer/kv_transfer_agent.py
vllm/distributed/kv_transfer/kv_connector
vllm/distributed/kv_transfer/kv_connector/__init__.py
@@ -334,7 +332,6 @@
vllm/model_executor/layers/fused_moe/configs/E=8,N=3584,device_name=NVIDIA_H100_80GB_HBM3,dtype=fp8_w8a8.json
vllm/model_executor/layers/fused_moe/configs/E=8,N=3584,device_name=NVIDIA_H100_80GB_HBM3.json
vllm/model_executor/layers/fused_moe/configs/E=8,N=3584,device_name=NVIDIA_L40S.json
-vllm/model_executor/layers/fused_moe/configs/README
vllm/model_executor/layers/fused_moe/configs/E=8,N=4096,device_name=AMD_Instinct_MI300X,dtype=fp8_w8a8.json
vllm/model_executor/layers/fused_moe/configs/E=8,N=4096,device_name=AMD_Instinct_MI300X.json
vllm/model_executor/layers/fused_moe/configs/E=8,N=4096,device_name=NVIDIA_A100-SXM4-80GB.json
@@ -696,7 +693,6 @@
vllm/v1/worker/gpu_model_runner.py
vllm/v1/worker/gpu_worker.py
vllm/vllm_flash_attn
-vllm/vllm_flash_attn/.gitkeep
vllm/vllm_flash_attn/__init__.py
vllm/vllm_flash_attn/flash_attn_interface.py
vllm/worker
To check what is included in each wheel (using the CPU build to speed up the process):
export VLLM_TARGET_DEVICE=cpu UV_EXTRA_INDEX_URL=https://download.pytorch.org/whl/cpu UV_INDEX_STRATEGY="unsafe-best-match" VLLM_CPU_DISABLE_AVX512=true
python -m build --wheel --installer=uv
cd dist
unzip -l vllm*whl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please leave a note in the setup.py
's setup
function invocation telling developers to add things to pyproject.toml
if it is static.
8380754
to
d80220b
Compare
Signed-off-by: Daniele Trifirò <dtrifiro@redhat.com>
Build failures look unrelated |
@simon-mo can we merge this? |
Static metadata can be moved to
pyproject.toml
and removed fromsetup.py