Skip to content

Conversation

@ColeMurray
Copy link
Contributor

Fixes #28336

Summary

Removes the <80.0.0 upper bound constraint on setuptools to resolve dependency conflicts with packages that require setuptools 80+.

Changes

  • Updated pyproject.toml: Changed setuptools>=77.0.3,<80.0.0 to setuptools>=77.0.3
  • Updated requirements/build.txt: Changed setuptools>=77.0.3,<80.0.0 to setuptools>=77.0.3

Rationale

  • Setuptools 80.x has been stable since early 2025 (current version: 80.9.0)
  • The upper bound was preventing installation of vLLM alongside packages requiring setuptools 80+
  • No known compatibility issues with vLLM's build system, which uses modern packaging standards (PEP 517/518)
  • Maintains the tested minimum version (77.0.3)

Testing

This change has been tested locally to ensure the build system accepts the updated constraint. CI will verify compatibility with setuptools 80+.

@github-actions
Copy link

github-actions bot commented Nov 8, 2025

👋 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 ask your reviewers to trigger select CI tests on top of fastcheck CI.

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.

If you have any questions, please reach out to us on Slack at https://slack.vllm.ai.

🚀

@mergify mergify bot added the ci/build label Nov 8, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the upper bound on the setuptools dependency to resolve conflicts with other packages. The change is applied to both pyproject.toml and requirements/build.txt. While this addresses the immediate issue, I've raised a concern about completely removing the upper bound, as it could lead to future build failures if setuptools releases a new major version with breaking changes. I've suggested re-introducing a looser upper bound (e.g., <81.0.0) to allow for current versions while protecting against future incompatibilities. This is a common practice to ensure long-term stability.

Fixes vllm-project#28336

The setuptools <80.0.0 upper bound constraint was causing dependency
conflicts with packages that require setuptools 80+. Since setuptools
80.x is stable and widely adopted, and there are no known compatibility
issues with vLLM's build system, this change removes the upper bound
while maintaining the tested minimum version of 77.0.3.

This update affects both pyproject.toml and requirements/build.txt
to keep them in sync as indicated by the mirror comments.

Signed-off-by: Cole Murray <colemurray.cs@gmail.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ColeMurray ColeMurray force-pushed the fix-setuptools-constraint branch from 4aaa461 to 0d6252f Compare November 8, 2025 01:24
Fixes vllm-project#28336

This addresses AI reviewer feedback by:
1. Setting a conservative upper bound of <81.0.0 (instead of no upper bound)
2. Updating ALL requirement files with setuptools constraints for consistency

Files updated:
- pyproject.toml
- requirements/build.txt
- requirements/common.txt
- requirements/cpu.txt
- requirements/cpu-build.txt
- requirements/rocm.txt
- requirements/rocm-build.txt
- requirements/xpu.txt

This allows setuptools 80.x (resolving the dependency conflict) while
providing protection against potential breaking changes in future major
versions.

Note: requirements/tpu.txt and requirements/test.txt use exact version
pins (setuptools==78.1.0 and setuptools==77.0.3 respectively) and were
left unchanged.

Signed-off-by: Cole Murray <colemurray.cs@gmail.com>
@mergify mergify bot added the rocm Related to AMD ROCm label Nov 8, 2025
@russellb russellb enabled auto-merge (squash) November 8, 2025 19:58
@github-actions github-actions bot added the ready ONLY add when PR is ready to merge/full CI is needed label Nov 8, 2025
@russellb russellb merged commit 32787d0 into vllm-project:main Nov 8, 2025
93 checks passed
@ColeMurray ColeMurray deleted the fix-setuptools-constraint branch November 9, 2025 01:52
@gshtras
Copy link
Collaborator

gshtras commented Nov 12, 2025

@ColeMurray using <80.0 on ROCm is required because starting from 80.0 setuptools would translate python setup.py develop to pip install -e ., which, by default, creates an isolated environment based on the pyproject.toml, which includes installing torch=2.9.0. And the default installation of that whl will pull the CUDA version of it.
So in short, there is no way to install vllm other than through bdist_wheel when using setuptools>=80

xuebwang-amd pushed a commit to xuebwang-amd/vllm that referenced this pull request Nov 13, 2025
Signed-off-by: Cole Murray <colemurray.cs@gmail.com>
Signed-off-by: xuebwang-amd <xuebwang@amd.com>
devpatelio pushed a commit to SumanthRH/vllm that referenced this pull request Nov 29, 2025
Signed-off-by: Cole Murray <colemurray.cs@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build ready ONLY add when PR is ready to merge/full CI is needed rocm Related to AMD ROCm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Build]: Remove upper bound constraint on setuptools (<80) to resolve dependency conflicts

3 participants