Skip to content

Conversation

@tiran
Copy link
Contributor

@tiran tiran commented Apr 25, 2025

Address some edge cases with packaging of Python subpackages in vLLM. The vllm/benchmark and vllm/vllm_flash_attn directories were missing __init__.py files. A subdirectory without an __init__.py is considered a namespace package. Because vLLM's pyproject.toml file excludes namespace packages, setuptools' package finder excludes the subpackages vllm.benchmark and vllm.vllm_flash_attn from wheel distributions.

vLLM's wheels still shipped both subpackages, because vLLM also uses setuptools-scm. The build dependency hooks into setuptools and modifies its package finder. The override only works if-and-only-if a source checkout has a .git VCS directory.

This change turns vllm.benchmark and vllm.vllm_flash_attn into regular importable packages and removes namespaces = false from setuptools' package finder configuration. It also changes the finder excludes into finder includes for vllm*, which matches vllm root package and all vllm subpackages.

FIX #15812

Address some edge cases with packaging of Python subpackages in vLLM.
The `vllm/benchmark` and `vllm/vllm_flash_attn` directories were missing
`__init__.py` files. A subdirectory without an `__init__.py` is
considered a namespace package. Because vLLM's `pyproject.toml` file
excludes namespace packages, setuptools' package finder excludes the
subpackages `vllm.benchmark` and `vllm.vllm_flash_attn` from wheel
distributions.

vLLM's wheels still shipped both subpackages, because vLLM also uses
`setuptools-scm`. The build dependency hooks into setuptools and
modifies its package finder. The override only works if-and-only-if a
source checkout has a `.git` VCS directory.

This change turns `vllm.benchmark` and `vllm.vllm_flash_attn` into
regular importable packages and removes `namespaces = false` from
setuptools' package finder configuration. It also changes the finder
excludes into finder includes for `vllm*`, which matches `vllm` root
package and all `vllm` subpackages.

Closes: vllm-project#15812
Signed-off-by: Christian Heimes <christian@python.org>
@github-actions
Copy link

👋 Hi! Thank you for contributing to the vLLM project.

💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels.

Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run fastcheck CI which starts running only a small and essential subset of CI tests to quickly catch errors. You can run other CI tests on top of those by going to your fastcheck build on Buildkite UI (linked in the PR checks section) and unblock them. If you do not have permission to unblock, ping simon-mo or khluu to add you in our Buildkite org.

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 either: Add ready label to the PR or enable auto-merge.

🚀

@mgoin mgoin added the ready ONLY add when PR is ready to merge/full CI is needed label Apr 25, 2025
@DarkLight1337 DarkLight1337 merged commit 65e262b into vllm-project:main Apr 25, 2025
62 checks passed
@tiran tiran deleted the package-find branch April 26, 2025 05:13
aarnphm added a commit to aarnphm/vllm that referenced this pull request Apr 26, 2025
Signed-off-by: Aaron Pham <contact@aarnphm.xyz>
jikunshang pushed a commit to jikunshang/vllm that referenced this pull request Apr 29, 2025
Signed-off-by: Christian Heimes <christian@python.org>
lk-chen pushed a commit to lk-chen/vllm that referenced this pull request Apr 29, 2025
Signed-off-by: Christian Heimes <christian@python.org>
adobrzyn pushed a commit to HabanaAI/vllm-fork that referenced this pull request Apr 30, 2025
Signed-off-by: Christian Heimes <christian@python.org>
Signed-off-by: Agata Dobrzyniewicz <adobrzyniewicz@habana.ai>
RichardoMrMu pushed a commit to RichardoMrMu/vllm that referenced this pull request May 12, 2025
Signed-off-by: Christian Heimes <christian@python.org>
Signed-off-by: Mu Huai <tianbowen.tbw@antgroup.com>
zzzyq pushed a commit to zzzyq/vllm that referenced this pull request May 24, 2025
Signed-off-by: Christian Heimes <christian@python.org>
Signed-off-by: Yuqi Zhang <yuqizhang@google.com>
sducouedic pushed a commit to sducouedic/vllm that referenced this pull request Oct 16, 2025
Signed-off-by: Christian Heimes <christian@python.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: run on cpu: ModuleNotFoundError: No module named 'vllm.benchmarks'

3 participants