Skip to content

[Build] Add Benchmark dependencies to requirements/common.txt #19145

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

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions requirements/common.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,5 @@ opentelemetry-sdk>=1.26.0 # vllm.tracing
opentelemetry-api>=1.26.0 # vllm.tracing
opentelemetry-exporter-otlp>=1.26.0 # vllm.tracing
opentelemetry-semantic-conventions-ai>=0.4.1 # vllm.tracing
pandas # needed for benchmarks module
datasets # needed for benchmarks module
Comment on lines +51 to +52
Copy link
Contributor

Choose a reason for hiding this comment

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

high

For consistency with other packages in this file (e.g., opentelemetry-sdk>=1.26.0, transformers >= 4.51.1) and to ensure reproducible builds and prevent unexpected breakages from upstream changes, would it be better to pin versions for pandas and datasets?

For example, you could specify the versions you tested with (e.g., pandas==X.Y.Z) or a minimum compatible version (e.g., pandas>=X.Y.Z). This helps maintain stability over time.

pandas==<version_tested_with>  # needed for benchmarks module
datasets==<version_tested_with>  # needed for benchmarks module

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

both are relatively stable and very widely used thus I prefer not to pin it to avoid conflicts.

Comment on lines +51 to +52
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Given that pandas and datasets are specifically for the 'benchmarks module' (as per the comments and their usage with PlaceholderModule in vllm/benchmarks/datasets.py), should these be included in common.txt? Adding them here makes them mandatory for all installations of vLLM, even for users who don't run benchmarks.

Could these be moved to an optional dependency group (e.g., defined in setup.py under extras_require={'benchmark': ['pandas', 'datasets']} so users can install with pip install vllm[benchmark]) or a separate requirements file like requirements/benchmark.txt? This would help keep the core dependency set lighter for general users.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

But they are imported in CLI on critical path rn.