[CI/Build] Add CPU test dependency pre-commit hooks (#47032)

Signed-off-by: jiang1.li <jiang1.li@intel.com> Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> Co-authored-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>

Li, Jiang committed Jun 30, 2026 at 15:59 UTC 14f8660a18029f0e20c1224327127025f8a30465
3 files changed +1306 -21
.pre-commit-config.yaml
+13
@@ -131,6 +131,19 @@ repos:
131 --python-version, "3.12",
132 ]
133 files: ^requirements/(common|xpu|test/xpu)\.(in|txt)$
134 + - id: pip-compile
135 + alias: pip-compile-cpu
136 + name: pip-compile-cpu
137 + args: [
138 + requirements/test/cuda.in,
139 + -o, requirements/test/cpu.txt,
140 + --index-strategy, unsafe-best-match,
141 + --torch-backend, cpu,
142 + --python-platform, x86_64-manylinux_2_28,
143 + --python-version, "3.12",
144 + ]
145 + files: ^requirements/(common|cpu|test/(cuda|cpu))\.(in|txt)$
146 + exclude: ^requirements/test/cuda\.txt$
147 - id: pip-compile
148 alias: pip-compile-docs
149 name: pip-compile-docs
docker/Dockerfile.cpu
+10 -21
@@ -193,27 +193,16 @@ FROM base AS vllm-test-deps
193
194 WORKDIR /vllm-workspace
195
196 -# Copy test requirements
197 -COPY requirements/common.txt requirements/common.txt
198 -COPY requirements/test/cuda.in requirements/test/cpu.in
199 -
200 -RUN \
201 - sed -i '/mamba_ssm/d' requirements/test/cpu.in && \
202 - remove_packages_not_supported_on_aarch64() { \
203 - case "$(uname -m)" in \
204 - aarch64|arm64) \
205 - sed -i '/decord/d' requirements/test/cpu.in; \
206 - sed -i '/terratorch/d' requirements/test/cpu.in; \
207 - ;; \
208 - esac; \
209 - }; \
210 - remove_packages_not_supported_on_aarch64 && \
211 - sed -i 's/^torch==.*/torch==2.11.0/g' requirements/test/cpu.in && \
212 - sed -i 's/torchaudio.*/torchaudio/g' requirements/test/cpu.in && \
213 - sed -i 's/torchvision.*/torchvision/g' requirements/test/cpu.in && \
214 - # Related issue: https://github.com/vllm-project/vllm/pull/38800#issuecomment-4228314305
215 - sed -i 's/^sentence-transformers.*/sentence-transformers==5.3.0/g' requirements/test/cpu.in && \
216 - uv pip compile requirements/test/cpu.in -o requirements/test/cpu.txt --index-strategy unsafe-best-match --torch-backend cpu
196 +# Test requirements are compiled from requirements/test/cuda.in into
197 +# requirements/test/cpu.txt by the pip-compile-cpu pre-commit hook, which
198 +# resolves CPU wheels via uv's --torch-backend cpu.
199 +COPY requirements/test/cpu.txt requirements/test/cpu.txt
200 +
201 +# cpu.txt is compiled for x86_64, so platform markers are resolved away. Drop
202 +# packages unavailable on aarch64 (decord, terratorch) for arm builds.
203 +RUN case "$(uname -m)" in \
204 + aarch64|arm64) sed -i '/^decord==/d; /^terratorch==/d' requirements/test/cpu.txt ;; \
205 + esac
206
207 RUN --mount=type=cache,target=/root/.cache/uv \
208 uv pip install -r requirements/test/cpu.txt
requirements/test/cpu.txt new
+1283
@@ -0,0 +1,1283 @@
1 +# This file was autogenerated by uv via the following command:
2 +# uv pip compile requirements/test/cuda.in -o requirements/test/cpu.txt --index-strategy unsafe-best-match --torch-backend cpu --python-platform x86_64-manylinux_2_28 --python-version 3.12
3 +absl-py==2.1.0
4 + # via rouge-score
5 +accelerate==1.13.0
6 + # via peft
7 +aiohappyeyeballs==2.6.1
8 + # via aiohttp
9 +aiohttp==3.13.3
10 + # via
11 + # -r requirements/test/../common.txt
12 + # aiohttp-cors
13 + # datasets
14 + # fsspec
15 + # gpt-oss
16 + # lm-eval
17 + # ray
18 +aiohttp-cors==0.8.1
19 + # via ray
20 +aiosignal==1.4.0
21 + # via aiohttp
22 +albumentations==1.4.6
23 + # via -r requirements/test/cuda.in
24 +alembic==1.16.4
25 + # via optuna
26 +annotated-doc==0.0.4
27 + # via
28 + # fastapi
29 + # typer
30 +annotated-types==0.7.0
31 + # via pydantic
32 +anthropic==0.112.0
33 + # via -r requirements/test/../common.txt
34 +anyio==4.14.1
35 + # via
36 + # anthropic
37 + # httpx
38 + # mcp
39 + # openai
40 + # sse-starlette
41 + # starlette
42 + # watchfiles
43 +apache-tvm-ffi==0.1.9
44 + # via xgrammar
45 +arctic-inference==0.1.1
46 + # via -r requirements/test/cuda.in
47 +argcomplete==3.5.1
48 + # via datamodel-code-generator
49 +astor==0.8.1
50 + # via depyf
51 +attrs==24.2.0
52 + # via
53 + # aiohttp
54 + # hypothesis
55 + # jsonschema
56 + # referencing
57 +audioread==3.0.1
58 + # via librosa
59 +av==16.1.0
60 + # via -r requirements/test/cuda.in
61 +azure-core==1.38.2
62 + # via
63 + # azure-identity
64 + # azure-storage-blob
65 +azure-identity==1.25.2
66 + # via runai-model-streamer-azure
67 +azure-storage-blob==12.28.0
68 + # via runai-model-streamer-azure
69 +backoff==2.2.1
70 + # via -r requirements/test/cuda.in
71 +bitsandbytes==0.49.2
72 + # via -r requirements/test/cuda.in
73 +black==24.10.0
74 + # via datamodel-code-generator
75 +blake3==1.0.9
76 + # via -r requirements/test/../common.txt
77 +blobfile==3.0.0
78 + # via -r requirements/test/cuda.in
79 +bm25s==0.2.13
80 + # via mteb
81 +boto3==1.35.57
82 + # via
83 + # runai-model-streamer-s3
84 + # tensorizer
85 +botocore==1.35.57
86 + # via
87 + # boto3
88 + # s3transfer
89 +bounded-pool-executor==0.0.3
90 + # via pqdm
91 +buildkite-test-collector==0.1.9
92 + # via -r requirements/test/cuda.in
93 +cachetools==5.5.2
94 + # via
95 + # -r requirements/test/../common.txt
96 + # google-auth
97 +cbor2==6.1.2
98 + # via -r requirements/test/../common.txt
99 +certifi==2024.8.30
100 + # via
101 + # httpcore
102 + # httpx
103 + # requests
104 + # sentry-sdk
105 +cffi==2.0.0
106 + # via
107 + # cryptography
108 + # soundfile
109 +chardet==5.2.0
110 + # via mbstrdecoder
111 +charset-normalizer==3.4.0
112 + # via requests
113 +chz==0.3.0
114 + # via gpt-oss
115 +click==8.1.7
116 + # via
117 + # black
118 + # jiwer
119 + # nltk
120 + # ray
121 + # rich-toolkit
122 + # schemathesis
123 + # uvicorn
124 +cloudpickle==3.1.2
125 + # via -r requirements/test/../common.txt
126 +cohere-melody==0.9.0
127 + # via -r requirements/test/cuda.in
128 +colorama==0.4.6
129 + # via
130 + # perceptron
131 + # sacrebleu
132 +colorful==0.5.6
133 + # via ray
134 +colorlog==6.10.1
135 + # via optuna
136 +compressed-tensors==0.17.0
137 + # via -r requirements/test/../common.txt
138 +contourpy==1.3.0
139 + # via matplotlib
140 +coverage==7.10.6
141 + # via pytest-cov
142 +cramjam==2.9.0
143 + # via fastparquet
144 +cryptography==46.0.5
145 + # via
146 + # azure-identity
147 + # azure-storage-blob
148 + # msal
149 + # pyjwt
150 +cupy-cuda12x==13.6.0
151 + # via ray
152 +cycler==0.12.1
153 + # via matplotlib
154 +datamodel-code-generator==0.26.3
155 + # via -r requirements/test/cuda.in
156 +dataproperty==1.0.1
157 + # via
158 + # pytablewriter
159 + # tabledata
160 +datasets==3.3.0
161 + # via
162 + # -r requirements/test/cuda.in
163 + # evaluate
164 + # lm-eval
165 + # mteb
166 +decorator==5.1.1
167 + # via librosa
168 +decord==0.6.0
169 + # via -r requirements/test/cuda.in
170 +depyf==0.20.0
171 + # via -r requirements/test/../common.txt
172 +detect-installer==0.1.0
173 + # via fastapi-cloud-cli
174 +dill==0.3.8
175 + # via
176 + # datasets
177 + # depyf
178 + # evaluate
179 + # lm-eval
180 + # multiprocess
181 +diskcache==5.6.3
182 + # via -r requirements/test/../common.txt
183 +distlib==0.3.9
184 + # via virtualenv
185 +distro==1.9.0
186 + # via
187 + # anthropic
188 + # openai
189 +dnspython==2.7.0
190 + # via email-validator
191 +docker==7.1.0
192 + # via gpt-oss
193 +docopt==0.6.2
194 + # via num2words
195 +docstring-parser==0.18.0
196 + # via anthropic
197 +einops==0.8.1
198 + # via
199 + # -r requirements/test/../common.txt
200 + # encodec
201 + # vector-quantize-pytorch
202 + # vocos
203 +einx==0.3.0
204 + # via vector-quantize-pytorch
205 +email-validator==2.2.0
206 + # via
207 + # fastapi
208 + # pydantic
209 +encodec==0.1.1
210 + # via vocos
211 +et-xmlfile==2.0.0
212 + # via openpyxl
213 +evaluate==0.4.3
214 + # via lm-eval
215 +fastapi==0.136.3
216 + # via
217 + # -r requirements/test/../common.txt
218 + # gpt-oss
219 + # model-hosting-container-standards
220 +fastapi-cli==0.0.27
221 + # via fastapi
222 +fastapi-cloud-cli==0.21.0
223 + # via fastapi-cli
224 +fastar==0.11.0
225 + # via
226 + # fastapi
227 + # fastapi-cloud-cli
228 +fastparquet==2024.11.0
229 + # via genai-perf
230 +fastrlock==0.8.2
231 + # via cupy-cuda12x
232 +fastsafetensors==0.3.2
233 + # via -r requirements/test/cuda.in
234 +filelock==3.16.1
235 + # via
236 + # -r requirements/test/../common.txt
237 + # blobfile
238 + # datasets
239 + # huggingface-hub
240 + # ray
241 + # torch
242 + # virtualenv
243 +fonttools==4.55.0
244 + # via matplotlib
245 +frozendict==2.4.6
246 + # via einx
247 +frozenlist==1.5.0
248 + # via
249 + # aiohttp
250 + # aiosignal
251 +fsspec==2024.12.0
252 + # via
253 + # datasets
254 + # evaluate
255 + # fastparquet
256 + # huggingface-hub
257 + # torch
258 +ftfy==6.3.1
259 + # via open-clip-torch
260 +genai-perf==0.0.16
261 + # via -r requirements/test/cuda.in
262 +genson==1.3.0
263 + # via datamodel-code-generator
264 +google-api-core==2.24.2
265 + # via
266 + # google-cloud-core
267 + # google-cloud-storage
268 + # opencensus
269 +google-auth==2.40.2
270 + # via
271 + # google-api-core
272 + # google-cloud-core
273 + # google-cloud-storage
274 + # runai-model-streamer-gcs
275 +google-cloud-core==2.4.3
276 + # via google-cloud-storage
277 +google-cloud-storage==3.4.0
278 + # via runai-model-streamer-gcs
279 +google-crc32c==1.7.1
280 + # via
281 + # google-cloud-storage
282 + # google-resumable-media
283 +google-resumable-media==2.7.2
284 + # via google-cloud-storage
285 +googleapis-common-protos==1.70.0
286 + # via
287 + # google-api-core
288 + # opentelemetry-exporter-otlp-proto-grpc
289 + # opentelemetry-exporter-otlp-proto-http
290 +gpt-oss==0.0.8
291 + # via -r requirements/test/cuda.in
292 +graphql-core==3.2.6
293 + # via hypothesis-graphql
294 +greenlet==3.2.3
295 + # via sqlalchemy
296 +grpcio==1.78.0
297 + # via
298 + # -r requirements/test/cuda.in
299 + # grpcio-reflection
300 + # opentelemetry-exporter-otlp-proto-grpc
301 + # ray
302 +grpcio-reflection==1.78.0
303 + # via -r requirements/test/cuda.in
304 +h11==0.14.0
305 + # via
306 + # httpcore
307 + # uvicorn
308 +h2==4.3.0
309 + # via httpx
310 +harfile==0.5.0
311 + # via schemathesis
312 +hf-xet==1.4.3
313 + # via huggingface-hub
314 +hiredis==3.0.0
315 + # via tensorizer
316 +hpack==4.1.0
317 + # via h2
318 +html2text==2025.4.15
319 + # via gpt-oss
320 +httpcore==1.0.6
321 + # via httpx
322 +httptools==0.8.0
323 + # via uvicorn
324 +httpx==0.27.2
325 + # via
326 + # -r requirements/test/cuda.in
327 + # anthropic
328 + # fastapi
329 + # fastapi-cloud-cli
330 + # huggingface-hub
331 + # mcp
332 + # model-hosting-container-standards
333 + # openai
334 + # perceptron
335 + # schemathesis
336 +httpx-sse==0.4.3
337 + # via mcp
338 +huggingface-hub==1.10.2
339 + # via
340 + # accelerate
341 + # datasets
342 + # evaluate
343 + # open-clip-torch
344 + # peft
345 + # segmentation-models-pytorch
346 + # sentence-transformers
347 + # timm
348 + # tokenizers
349 + # transformers
350 + # vocos
351 +humanize==4.11.0
352 + # via runai-model-streamer
353 +hyperframe==6.1.0
354 + # via h2
355 +hypothesis==6.131.0
356 + # via
357 + # hypothesis-graphql
358 + # hypothesis-jsonschema
359 + # schemathesis
360 +hypothesis-graphql==0.13.0
361 + # via schemathesis
362 +hypothesis-jsonschema==0.23.1
363 + # via schemathesis
364 +idna==3.10
365 + # via
366 + # anyio
367 + # email-validator
368 + # httpx
369 + # requests
370 + # yarl
371 +ijson==3.5.0
372 + # via -r requirements/test/../common.txt
373 +imagehash==4.3.2
374 + # via -r requirements/test/cuda.in
375 +imageio==2.37.0
376 + # via scikit-image
377 +importlib-metadata==8.7.0
378 + # via opentelemetry-api
379 +inflect==5.6.2
380 + # via datamodel-code-generator
381 +iniconfig==2.0.0
382 + # via pytest
383 +instanttensor==0.1.5
384 + # via -r requirements/test/cuda.in
385 +interegular==0.3.3
386 + # via lm-format-enforcer
387 +isodate==0.7.2
388 + # via azure-storage-blob
389 +isort==5.13.2
390 + # via datamodel-code-generator
391 +jinja2==3.1.6
392 + # via
393 + # datamodel-code-generator
394 + # fastapi
395 + # genai-perf
396 + # lm-eval
397 + # torch
398 +jiter==0.15.0
399 + # via
400 + # anthropic
401 + # openai
402 +jiwer==3.0.5
403 + # via -r requirements/test/cuda.in
404 +jmespath==1.0.1
405 + # via
406 + # boto3
407 + # botocore
408 + # model-hosting-container-standards
409 +joblib==1.4.2
410 + # via
411 + # librosa
412 + # nltk
413 + # scikit-learn
414 +jsonschema==4.23.0
415 + # via
416 + # -r requirements/test/../common.txt
417 + # hypothesis-jsonschema
418 + # mcp
419 + # mistral-common
420 + # ray
421 +jsonschema-rs==0.46.5
422 + # via schemathesis
423 +jsonschema-specifications==2024.10.1
424 + # via jsonschema
425 +junit-xml==1.9
426 + # via schemathesis
427 +kaldi-native-fbank==1.22.3
428 + # via -r requirements/test/cuda.in
429 +kaleido==0.2.1
430 + # via genai-perf
431 +kiwisolver==1.4.7
432 + # via matplotlib
433 +lark==1.2.2
434 + # via -r requirements/test/../common.txt
435 +lazy-loader==0.4
436 + # via
437 + # librosa
438 + # scikit-image
439 +libnacl==2.1.0
440 + # via tensorizer
441 +librosa==0.10.2.post1
442 + # via -r requirements/test/cuda.in
443 +llguidance==1.7.6
444 + # via -r requirements/test/../common.txt
445 +llvmlite==0.47.0
446 + # via numba
447 +lm-eval==0.4.12
448 + # via -r requirements/test/cuda.in
449 +lm-format-enforcer==0.11.3
450 + # via -r requirements/test/../common.txt
451 +loguru==0.7.3
452 + # via compressed-tensors
453 +lxml==5.3.0
454 + # via
455 + # blobfile
456 + # gpt-oss
457 + # sacrebleu
458 +mako==1.3.10
459 + # via alembic
460 +markdown-it-py==3.0.0
461 + # via rich
462 +markupsafe==3.0.1
463 + # via
464 + # jinja2
465 + # mako
466 + # werkzeug
467 +matplotlib==3.9.2
468 + # via -r requirements/test/cuda.in
469 +mbstrdecoder==1.1.3
470 + # via
471 + # dataproperty
472 + # pytablewriter
473 + # typepy
474 +mcp==1.28.1
475 + # via -r requirements/test/../common.txt
476 +mdurl==0.1.2
477 + # via markdown-it-py
478 +mistral-common==1.11.5
479 + # via
480 + # -r requirements/test/../common.txt
481 + # -r requirements/test/cuda.in
482 +model-hosting-container-standards==0.1.16
483 + # via -r requirements/test/../common.txt
484 +more-itertools==10.5.0
485 + # via lm-eval
486 +mpmath==1.3.0
487 + # via sympy
488 +msal==1.34.0
489 + # via
490 + # azure-identity
491 + # msal-extensions
492 +msal-extensions==1.3.1
493 + # via azure-identity
494 +msgpack==1.1.0
495 + # via
496 + # librosa
497 + # ray
498 +msgspec==0.21.1
499 + # via -r requirements/test/../common.txt
500 +mteb==2.8.3
501 + # via -r requirements/test/cuda.in
502 +multidict==6.1.0
503 + # via
504 + # aiohttp
505 + # yarl
506 +multiprocess==0.70.16
507 + # via
508 + # datasets
509 + # evaluate
510 +mypy-extensions==1.0.0
511 + # via black
512 +networkx==3.2.1
513 + # via
514 + # scikit-image
515 + # torch
516 +ninja==1.13.0
517 + # via -r requirements/test/../common.txt
518 +nltk==3.9.1
519 + # via rouge-score
520 +num2words==0.5.14
521 + # via -r requirements/test/cuda.in
522 +numba==0.65.0
523 + # via
524 + # -r requirements/test/cuda.in
525 + # librosa
526 +numpy==2.2.6
527 + # via
528 + # -r requirements/test/../common.txt
529 + # accelerate
530 + # albumentations
531 + # bitsandbytes
532 + # bm25s
533 + # contourpy
534 + # cupy-cuda12x
535 + # datasets
536 + # decord
537 + # einx
538 + # encodec
539 + # evaluate
540 + # fastparquet
541 + # genai-perf
542 + # imagehash
543 + # imageio
544 + # librosa
545 + # lm-eval
546 + # matplotlib
547 + # mistral-common
548 + # mteb
549 + # numba
550 + # opencv-python-headless
551 + # optuna
552 + # pandas
553 + # patsy
554 + # peft
555 + # perceptron
556 + # pywavelets
557 + # rouge-score
558 + # runai-model-streamer
559 + # sacrebleu
560 + # scikit-image
561 + # scikit-learn
562 + # scipy
563 + # segmentation-models-pytorch
564 + # soxr
565 + # statsmodels
566 + # tensorizer
567 + # tifffile
568 + # torchvision
569 + # transformers
570 + # tritonclient
571 + # vocos
572 + # xgrammar
573 +open-clip-torch==2.32.0
574 + # via -r requirements/test/cuda.in
575 +openai==2.44.0
576 + # via -r requirements/test/../common.txt
577 +openai-harmony==0.0.4
578 + # via
579 + # -r requirements/test/../common.txt
580 + # gpt-oss
581 +opencensus==0.11.4
582 + # via ray
583 +opencensus-context==0.1.3
584 + # via opencensus
585 +opencv-python-headless==4.13.0.90
586 + # via
587 + # -r requirements/test/../common.txt
588 + # albumentations
589 + # mistral-common
590 +openpyxl==3.1.5
591 + # via -r requirements/test/cuda.in
592 +opentelemetry-api==1.35.0
593 + # via
594 + # -r requirements/test/../common.txt
595 + # opentelemetry-exporter-otlp-proto-grpc
596 + # opentelemetry-exporter-otlp-proto-http
597 + # opentelemetry-exporter-prometheus
598 + # opentelemetry-sdk
599 + # opentelemetry-semantic-conventions
600 +opentelemetry-exporter-otlp==1.35.0
601 + # via -r requirements/test/../common.txt
602 +opentelemetry-exporter-otlp-proto-common==1.35.0
603 + # via
604 + # opentelemetry-exporter-otlp-proto-grpc
605 + # opentelemetry-exporter-otlp-proto-http
606 +opentelemetry-exporter-otlp-proto-grpc==1.35.0
607 + # via opentelemetry-exporter-otlp
608 +opentelemetry-exporter-otlp-proto-http==1.35.0
609 + # via opentelemetry-exporter-otlp
610 +opentelemetry-exporter-prometheus==0.56b0
611 + # via ray
612 +opentelemetry-proto==1.35.0
613 + # via
614 + # opentelemetry-exporter-otlp-proto-common
615 + # opentelemetry-exporter-otlp-proto-grpc
616 + # opentelemetry-exporter-otlp-proto-http
617 + # ray
618 +opentelemetry-sdk==1.35.0
619 + # via
620 + # -r requirements/test/../common.txt
621 + # opentelemetry-exporter-otlp-proto-grpc
622 + # opentelemetry-exporter-otlp-proto-http
623 + # opentelemetry-exporter-prometheus
624 + # ray
625 +opentelemetry-semantic-conventions==0.56b0
626 + # via opentelemetry-sdk
627 +opentelemetry-semantic-conventions-ai==0.4.13
628 + # via -r requirements/test/../common.txt
629 +optuna==3.6.1
630 + # via genai-perf
631 +orjson==3.11.5
632 + # via genai-perf
633 +outlines-core==0.2.14
634 + # via -r requirements/test/../common.txt
635 +packaging==24.2
636 + # via
637 + # accelerate
638 + # bitsandbytes
639 + # black
640 + # datamodel-code-generator
641 + # datasets
642 + # evaluate
643 + # fastparquet
644 + # huggingface-hub
645 + # lazy-loader
646 + # lm-format-enforcer
647 + # matplotlib
648 + # optuna
649 + # peft
650 + # plotly
651 + # pooch
652 + # pytest
653 + # pytest-rerunfailures
654 + # ray
655 + # scikit-image
656 + # statsmodels
657 + # transformers
658 + # typepy
659 +pandas==2.2.3
660 + # via
661 + # datasets
662 + # evaluate
663 + # fastparquet
664 + # genai-perf
665 + # statsmodels
666 +partial-json-parser==0.2.1.1.post7
667 + # via -r requirements/test/../common.txt
668 +pathspec==0.12.1
669 + # via black
670 +pathvalidate==3.2.1
671 + # via pytablewriter
672 +patsy==1.0.1
673 + # via statsmodels
674 +peft==0.18.1
675 + # via -r requirements/test/cuda.in
676 +perceptron==0.1.4
677 + # via -r requirements/test/cuda.in
678 +perf-analyzer==0.1.0
679 + # via genai-perf
680 +pillow==10.4.0
681 + # via
682 + # -r requirements/test/../common.txt
683 + # genai-perf
684 + # imagehash
685 + # imageio
686 + # matplotlib
687 + # mistral-common
688 + # perceptron
689 + # scikit-image
690 + # segmentation-models-pytorch
691 + # torchvision
692 +platformdirs==4.3.6
693 + # via
694 + # black
695 + # pooch
696 + # virtualenv
697 +plotly==5.24.1
698 + # via
699 + # -r requirements/test/cuda.in
700 + # genai-perf
701 +pluggy==1.5.0
702 + # via
703 + # pytest
704 + # pytest-cov
705 +polars==1.29.0
706 + # via mteb
707 +pooch==1.8.2
708 + # via librosa
709 +portalocker==2.10.1
710 + # via sacrebleu
711 +pqdm==0.2.0
712 + # via -r requirements/test/cuda.in
713 +prometheus-client==0.22.0
714 + # via
715 + # -r requirements/test/../common.txt
716 + # opentelemetry-exporter-prometheus
717 + # prometheus-fastapi-instrumentator
718 + # ray
719 +prometheus-fastapi-instrumentator==8.0.2
720 + # via -r requirements/test/../common.txt
721 +propcache==0.2.0
722 + # via
723 + # aiohttp
724 + # yarl
725 +proto-plus==1.26.1
726 + # via google-api-core
727 +protobuf==6.33.6
728 + # via
729 + # -r requirements/test/../common.txt
730 + # google-api-core
731 + # googleapis-common-protos
732 + # grpcio-reflection
733 + # opentelemetry-proto
734 + # proto-plus
735 + # ray
736 + # tensorizer
737 +psutil==6.1.0
738 + # via
739 + # -r requirements/test/../common.txt
740 + # accelerate
741 + # peft
742 + # tensorizer
743 +py==1.11.0
744 + # via pytest-forked
745 +py-cpuinfo==9.0.0
746 + # via -r requirements/test/../common.txt
747 +py-spy==0.4.0
748 + # via ray
749 +pyarrow==23.0.0
750 + # via
751 + # datasets
752 + # genai-perf
753 +pyasn1==0.6.1
754 + # via
755 + # pyasn1-modules
756 + # rsa
757 +pyasn1-modules==0.4.2
758 + # via google-auth
759 +pybase64==1.4.3
760 + # via -r requirements/test/../common.txt
761 +pycountry==24.6.1
762 + # via pydantic-extra-types
763 +pycparser==2.22
764 + # via cffi
765 +pycryptodomex==3.22.0
766 + # via blobfile
767 +pydantic==2.12.0
768 + # via
769 + # -r requirements/test/../common.txt
770 + # albumentations
771 + # anthropic
772 + # compressed-tensors
773 + # datamodel-code-generator
774 + # fastapi
775 + # fastapi-cloud-cli
776 + # gpt-oss
777 + # lm-format-enforcer
778 + # mcp
779 + # mistral-common
780 + # model-hosting-container-standards
781 + # mteb
782 + # openai
783 + # openai-harmony
784 + # pydantic-extra-types
785 + # pydantic-settings
786 + # ray
787 + # xgrammar
788 +pydantic-core==2.41.1
789 + # via pydantic
790 +pydantic-extra-types==2.10.5
791 + # via
792 + # fastapi
793 + # mistral-common
794 +pydantic-settings==2.14.2
795 + # via
796 + # fastapi
797 + # mcp
798 +pygments==2.18.0
799 + # via
800 + # pytest
801 + # rich
802 +pyjwt==2.11.0
803 + # via
804 + # mcp
805 + # msal
806 +pyparsing==3.2.0
807 + # via matplotlib
808 +pyrate-limiter==4.4.0
809 + # via schemathesis
810 +pystemmer==3.0.0
811 + # via mteb
812 +pytablewriter==1.2.0
813 + # via lm-eval
814 +pytest==9.1.0
815 + # via
816 + # -r requirements/test/cuda.in
817 + # buildkite-test-collector
818 + # genai-perf
819 + # pytest-asyncio
820 + # pytest-cov
821 + # pytest-forked
822 + # pytest-mock
823 + # pytest-rerunfailures
824 + # pytest-shard
825 + # pytest-timeout
826 + # schemathesis
827 +pytest-asyncio==1.4.0
828 + # via -r requirements/test/cuda.in
829 +pytest-cov==6.3.0
830 + # via -r requirements/test/cuda.in
831 +pytest-forked==1.6.0
832 + # via -r requirements/test/cuda.in
833 +pytest-mock==3.14.0
834 + # via genai-perf
835 +pytest-rerunfailures==14.0
836 + # via -r requirements/test/cuda.in
837 +pytest-shard==0.1.2
838 + # via -r requirements/test/cuda.in
839 +pytest-timeout==2.3.1
840 + # via -r requirements/test/cuda.in
841 +python-dateutil==2.9.0.post0
842 + # via
843 + # botocore
844 + # matplotlib
845 + # pandas
846 + # typepy
847 +python-dotenv==1.2.2
848 + # via
849 + # pydantic-settings
850 + # uvicorn
851 +python-json-logger==4.1.0
852 + # via -r requirements/test/../common.txt
853 +python-multipart==0.0.32
854 + # via
855 + # fastapi
856 + # mcp
857 +python-rapidjson==1.20
858 + # via tritonclient
859 +pytrec-eval-terrier==0.5.7
860 + # via mteb
861 +pytz==2024.2
862 + # via
863 + # pandas
864 + # typepy
865 +pywavelets==1.9.0
866 + # via imagehash
867 +pyyaml==6.0.2
868 + # via
869 + # -r requirements/test/../common.txt
870 + # accelerate
871 + # albumentations
872 + # datamodel-code-generator
873 + # datasets
874 + # genai-perf
875 + # huggingface-hub
876 + # lm-format-enforcer
877 + # optuna
878 + # peft
879 + # ray
880 + # responses
881 + # schemathesis
882 + # timm
883 + # transformers
884 + # uvicorn
885 + # vocos
886 +pyzmq==27.1.0
887 + # via -r requirements/test/../common.txt
888 +rapidfuzz==3.12.1
889 + # via jiwer
890 +ray==2.48.0
891 + # via -r requirements/test/cuda.in
892 +redis==5.2.0
893 + # via tensorizer
894 +referencing==0.35.1
895 + # via
896 + # jsonschema
897 + # jsonschema-specifications
898 +regex==2026.2.28
899 + # via
900 + # -r requirements/test/../common.txt
901 + # nltk
902 + # open-clip-torch
903 + # sacrebleu
904 + # tiktoken
905 + # transformers
906 +requests==2.32.3
907 + # via
908 + # -r requirements/test/../common.txt
909 + # azure-core
910 + # buildkite-test-collector
911 + # datasets
912 + # docker
913 + # evaluate
914 + # google-api-core
915 + # google-cloud-storage
916 + # gpt-oss
917 + # lm-eval
918 + # mistral-common
919 + # msal
920 + # mteb
921 + # opentelemetry-exporter-otlp-proto-http
922 + # pooch
923 + # ray
924 + # responses
925 + # schemathesis
926 + # starlette-testclient
927 + # tiktoken
928 +responses==0.25.3
929 + # via genai-perf
930 +rich==13.9.4
931 + # via
932 + # genai-perf
933 + # mteb
934 + # perceptron
935 + # rich-toolkit
936 + # schemathesis
937 + # typer
938 +rich-toolkit==0.20.1
939 + # via
940 + # fastapi-cli
941 + # fastapi-cloud-cli
942 +rignore==0.7.6
943 + # via fastapi-cloud-cli
944 +rouge-score==0.1.2
945 + # via lm-eval
946 +rpds-py==0.20.1
947 + # via
948 + # jsonschema
949 + # referencing
950 +rsa==4.9.1
951 + # via google-auth
952 +runai-model-streamer==0.15.7
953 + # via -r requirements/test/cuda.in
954 +runai-model-streamer-azure==0.15.7
955 + # via runai-model-streamer
956 +runai-model-streamer-gcs==0.15.7
957 + # via runai-model-streamer
958 +runai-model-streamer-s3==0.15.7
959 + # via runai-model-streamer
960 +s3transfer==0.10.3
961 + # via boto3
962 +sacrebleu==2.4.3
963 + # via lm-eval
964 +safetensors==0.7.0
965 + # via
966 + # -r requirements/test/../common.txt
967 + # accelerate
968 + # open-clip-torch
969 + # peft
970 + # segmentation-models-pytorch
971 + # timm
972 + # transformers
973 +schemathesis==4.21.6
974 + # via -r requirements/test/cuda.in
975 +scikit-image==0.25.2
976 + # via albumentations
977 +scikit-learn==1.5.2
978 + # via
979 + # albumentations
980 + # librosa
981 + # lm-eval
982 + # mteb
983 + # sentence-transformers
984 +scipy==1.13.1
985 + # via
986 + # albumentations
987 + # bm25s
988 + # imagehash
989 + # librosa
990 + # mteb
991 + # scikit-image
992 + # scikit-learn
993 + # sentence-transformers
994 + # statsmodels
995 + # vocos
996 +segmentation-models-pytorch==0.5.0
997 + # via -r requirements/test/cuda.in
998 +sentence-transformers==5.2.0
999 + # via
1000 + # -r requirements/test/cuda.in
1001 + # mteb
1002 +sentencepiece==0.2.1
1003 + # via -r requirements/test/../common.txt
1004 +sentry-sdk==2.63.0
1005 + # via fastapi-cloud-cli
1006 +setproctitle==1.3.7
1007 + # via -r requirements/test/../common.txt
1008 +setuptools==77.0.3
1009 + # via
1010 + # -r requirements/test/../common.txt
1011 + # model-hosting-container-standards
1012 + # pytablewriter
1013 + # torch
1014 +shellingham==1.5.4
1015 + # via
1016 + # perceptron
1017 + # typer
1018 +six==1.16.0
1019 + # via
1020 + # -r requirements/test/../common.txt
1021 + # junit-xml
1022 + # opencensus
1023 + # python-dateutil
1024 + # rouge-score
1025 +smart-open==7.1.0
1026 + # via ray
1027 +sniffio==1.3.1
1028 + # via
1029 + # anthropic
1030 + # httpx
1031 + # openai
1032 +sortedcontainers==2.4.0
1033 + # via hypothesis
1034 +soundfile==0.12.1
1035 + # via
1036 + # -r requirements/test/cuda.in
1037 + # genai-perf
1038 + # librosa
1039 + # mistral-common
1040 +soxr==0.5.0.post1
1041 + # via
1042 + # librosa
1043 + # mistral-common
1044 +sqlalchemy==2.0.41
1045 + # via
1046 + # alembic
1047 + # optuna
1048 +sqlitedict==2.1.0
1049 + # via lm-eval
1050 +sse-starlette==3.4.5
1051 + # via mcp
1052 +starlette==1.3.1
1053 + # via
1054 + # -r requirements/test/../common.txt
1055 + # fastapi
1056 + # mcp
1057 + # model-hosting-container-standards
1058 + # prometheus-fastapi-instrumentator
1059 + # sse-starlette
1060 + # starlette-testclient
1061 +starlette-testclient==0.4.1
1062 + # via schemathesis
1063 +statsmodels==0.14.4
1064 + # via genai-perf
1065 +structlog==25.4.0
1066 + # via gpt-oss
1067 +supervisor==4.3.0
1068 + # via model-hosting-container-standards
1069 +sympy==1.13.3
1070 + # via
1071 + # einx
1072 + # torch
1073 +tabledata==1.3.3
1074 + # via pytablewriter
1075 +tabulate==0.9.0
1076 + # via sacrebleu
1077 +tblib==3.1.0
1078 + # via -r requirements/test/cuda.in
1079 +tcolorpy==0.1.6
1080 + # via pytablewriter
1081 +tenacity==9.1.2
1082 + # via
1083 + # gpt-oss
1084 + # lm-eval
1085 + # plotly
1086 + # schemathesis
1087 +tensorizer==2.10.1
1088 + # via -r requirements/test/cuda.in
1089 +termcolor==3.1.0
1090 + # via gpt-oss
1091 +threadpoolctl==3.5.0
1092 + # via scikit-learn
1093 +tifffile==2025.3.30
1094 + # via scikit-image
1095 +tiktoken==0.12.0
1096 + # via
1097 + # -r requirements/test/../common.txt
1098 + # gpt-oss
1099 + # lm-eval
1100 + # mistral-common
1101 +timm==1.0.17
1102 + # via
1103 + # -r requirements/test/cuda.in
1104 + # open-clip-torch
1105 + # segmentation-models-pytorch
1106 +tokenizers==0.22.2
1107 + # via
1108 + # -r requirements/test/../common.txt
1109 + # -r requirements/test/cuda.in
1110 + # transformers
1111 +torch==2.11.0+cpu
1112 + # via
1113 + # -r requirements/test/cuda.in
1114 + # accelerate
1115 + # bitsandbytes
1116 + # compressed-tensors
1117 + # encodec
1118 + # instanttensor
1119 + # mteb
1120 + # open-clip-torch
1121 + # peft
1122 + # runai-model-streamer
1123 + # segmentation-models-pytorch
1124 + # sentence-transformers
1125 + # tensorizer
1126 + # timm
1127 + # torchvision
1128 + # vector-quantize-pytorch
1129 + # vocos
1130 + # xgrammar
1131 +torchaudio==2.11.0+cpu
1132 + # via
1133 + # -r requirements/test/cuda.in
1134 + # encodec
1135 + # vocos
1136 +torchvision==0.26.0+cpu
1137 + # via
1138 + # -r requirements/test/cuda.in
1139 + # open-clip-torch
1140 + # segmentation-models-pytorch
1141 + # timm
1142 +tqdm==4.67.3
1143 + # via
1144 + # -r requirements/test/../common.txt
1145 + # datasets
1146 + # evaluate
1147 + # huggingface-hub
1148 + # lm-eval
1149 + # mteb
1150 + # nltk
1151 + # open-clip-torch
1152 + # openai
1153 + # optuna
1154 + # peft
1155 + # pqdm
1156 + # segmentation-models-pytorch
1157 + # sentence-transformers
1158 + # transformers
1159 +transformers==5.5.3
1160 + # via
1161 + # -r requirements/test/../common.txt
1162 + # -r requirements/test/cuda.in
1163 + # compressed-tensors
1164 + # genai-perf
1165 + # peft
1166 + # sentence-transformers
1167 + # transformers-stream-generator
1168 + # xgrammar
1169 +transformers-stream-generator==0.0.5
1170 + # via -r requirements/test/cuda.in
1171 +triton==3.6.0
1172 + # via xgrammar
1173 +tritonclient==2.64.0
1174 + # via -r requirements/test/cuda.in
1175 +typepy==1.3.2
1176 + # via
1177 + # dataproperty
1178 + # pytablewriter
1179 + # tabledata
1180 +typer==0.26.8
1181 + # via
1182 + # fastapi-cli
1183 + # fastapi-cloud-cli
1184 + # fastsafetensors
1185 + # huggingface-hub
1186 + # perceptron
1187 + # transformers
1188 +typing-extensions==4.15.0
1189 + # via
1190 + # -r requirements/test/../common.txt
1191 + # aiosignal
1192 + # albumentations
1193 + # alembic
1194 + # anthropic
1195 + # anyio
1196 + # apache-tvm-ffi
1197 + # azure-core
1198 + # azure-identity
1199 + # azure-storage-blob
1200 + # chz
1201 + # fastapi
1202 + # grpcio
1203 + # huggingface-hub
1204 + # librosa
1205 + # lm-eval
1206 + # mcp
1207 + # mistral-common
1208 + # mteb
1209 + # openai
1210 + # opentelemetry-api
1211 + # opentelemetry-exporter-otlp-proto-grpc
1212 + # opentelemetry-exporter-otlp-proto-http
1213 + # opentelemetry-sdk
1214 + # opentelemetry-semantic-conventions
1215 + # pqdm
1216 + # pydantic
1217 + # pydantic-core
1218 + # pydantic-extra-types
1219 + # pytest-asyncio
1220 + # rich-toolkit
1221 + # schemathesis
1222 + # sentence-transformers
1223 + # sqlalchemy
1224 + # starlette
1225 + # torch
1226 + # typing-inspection
1227 + # xgrammar
1228 +typing-inspection==0.4.2
1229 + # via
1230 + # fastapi
1231 + # mcp
1232 + # pydantic
1233 + # pydantic-settings
1234 +tzdata==2024.2
1235 + # via pandas
1236 +urllib3==2.2.3
1237 + # via
1238 + # blobfile
1239 + # botocore
1240 + # docker
1241 + # requests
1242 + # responses
1243 + # sentry-sdk
1244 + # tritonclient
1245 +uvicorn==0.35.0
1246 + # via
1247 + # fastapi
1248 + # fastapi-cli
1249 + # fastapi-cloud-cli
1250 + # gpt-oss
1251 + # mcp
1252 +uvloop==0.22.1
1253 + # via uvicorn
1254 +vector-quantize-pytorch==1.21.2
1255 + # via -r requirements/test/cuda.in
1256 +virtualenv==20.31.2
1257 + # via ray
1258 +vocos==0.1.0
1259 + # via -r requirements/test/cuda.in
1260 +watchfiles==1.2.0
1261 + # via
1262 + # -r requirements/test/../common.txt
1263 + # uvicorn
1264 +wcwidth==0.2.13
1265 + # via ftfy
1266 +websockets==16.0
1267 + # via uvicorn
1268 +werkzeug==3.1.3
1269 + # via schemathesis
1270 +word2number==1.1
1271 + # via lm-eval
1272 +wrapt==1.17.2
1273 + # via smart-open
1274 +xgrammar==0.2.3
1275 + # via -r requirements/test/../common.txt
1276 +xxhash==3.5.0
1277 + # via
1278 + # datasets
1279 + # evaluate
1280 +yarl==1.17.1
1281 + # via aiohttp
1282 +zipp==3.23.0
1283 + # via importlib-metadata