[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