Fix transient dependency issues caused by `requirements/common.txt` (#47015)
Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Harry Mellor committed
Jun 29, 2026 at 22:20 UTC
5316638a5eb98d764a5618c20a1558ffc24d3bc9
8 files changed
+638
-72
docker/Dockerfile.cpu
+1
@@ -194,6 +194,7 @@ FROM base AS vllm-test-deps
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 \
requirements/test/cuda.in
+2
-4
@@ -1,3 +1,5 @@
1
+-r ../common.txt
2
+
3
# testing
4
pytest
5
tensorizer==2.10.1
@@ -13,7 +15,6 @@ albumentations # required for Nemotron Parse in test_common.py
15
av # required for audio_in_video tests
16
backoff # required for phi4mm test
17
blobfile # required for kimi-vl test
16
-einops # required for MPT, qwen-vl
18
httpx
19
librosa # required for audio tests
20
vector_quantize_pytorch # required for minicpmo_26 test
@@ -34,7 +35,6 @@ matplotlib # required for qwen-vl test
35
mistral_common[image,audio] >= 1.11.5 # required for voxtral test
36
num2words # required for smolvlm test
37
open_clip_torch==2.32.0 # Required for nemotron_vl test, Nemotron Parse in test_common.py
37
-opencv-python-headless >= 4.13.0 # required for video test
38
datamodel_code_generator # required for minicpm3 test
39
lm-eval[api]>=0.4.12 # required for model evaluation test
40
mteb[bm25s]>=2, <3 # required for mteb test
@@ -55,11 +55,9 @@ grpcio-reflection==1.78.0
55
56
arctic-inference == 0.1.1; platform_machine == "x86_64" # Required for suffix decoding test
57
numba == 0.65.0 # Required for N-gram speculative decoding
58
-numpy
58
runai-model-streamer[s3,gcs,azure]==0.15.7
59
fastsafetensors>=0.3.2
60
instanttensor>=0.1.5; platform_machine == "x86_64"
62
-pydantic>=2.12 # 2.11 leads to error on python 3.13
61
decord==0.6.0; platform_machine == "x86_64"
62
# terratorch is temporarily disabled while PyPI has the `lightning` package
63
# in `quarantined` status (every published terratorch version transitively
requirements/test/cuda.txt
+288
-18
@@ -9,6 +9,7 @@ aiohappyeyeballs==2.6.1
9
aiohttp==3.13.3
10
# via
11
# -c requirements/common.txt
12
+ # -r requirements/test/../common.txt
13
# aiohttp-cors
14
# datasets
15
# fsspec
@@ -24,17 +25,34 @@ albumentations==1.4.6
25
alembic==1.16.4
26
# via optuna
27
annotated-doc==0.0.4
27
- # via fastapi
28
+ # via
29
+ # fastapi
30
+ # typer
31
annotated-types==0.7.0
32
# via pydantic
30
-anyio==4.6.2.post1
33
+anthropic==0.112.0
34
+ # via
35
+ # -c requirements/common.txt
36
+ # -r requirements/test/../common.txt
37
+anyio==4.14.1
38
# via
39
+ # anthropic
40
# httpx
41
+ # mcp
42
+ # openai
43
+ # sse-starlette
44
# starlette
45
+ # watchfiles
46
+apache-tvm-ffi==0.1.9
47
+ # via
48
+ # -c requirements/cuda.txt
49
+ # xgrammar
50
arctic-inference==0.1.1
51
# via -r requirements/test/cuda.in
52
argcomplete==3.5.1
53
# via datamodel-code-generator
54
+astor==0.8.1
55
+ # via depyf
56
attrs==24.2.0
57
# via
58
# aiohttp
@@ -59,6 +77,8 @@ bitsandbytes==0.49.2
77
# via -r requirements/test/cuda.in
78
black==24.10.0
79
# via datamodel-code-generator
80
+blake3==1.0.9
81
+ # via -r requirements/test/../common.txt
82
blobfile==3.0.0
83
# via -r requirements/test/cuda.in
84
bm25s==0.2.13
@@ -76,12 +96,17 @@ bounded-pool-executor==0.0.3
96
buildkite-test-collector==0.1.9
97
# via -r requirements/test/cuda.in
98
cachetools==5.5.2
79
- # via google-auth
99
+ # via
100
+ # -r requirements/test/../common.txt
101
+ # google-auth
102
+cbor2==6.1.2
103
+ # via -r requirements/test/../common.txt
104
certifi==2024.8.30
105
# via
106
# httpcore
107
# httpx
108
# requests
109
+ # sentry-sdk
110
cffi==2.0.0
111
# via
112
# cryptography
@@ -98,9 +123,11 @@ click==8.1.7
123
# jiwer
124
# nltk
125
# ray
126
+ # rich-toolkit
127
# schemathesis
102
- # typer
128
# uvicorn
129
+cloudpickle==3.1.2
130
+ # via -r requirements/test/../common.txt
131
cohere-melody==0.9.0
132
# via -r requirements/test/cuda.in
133
colorama==0.4.6
@@ -111,6 +138,10 @@ colorful==0.5.6
138
# via ray
139
colorlog==6.10.1
140
# via optuna
141
+compressed-tensors==0.17.0
142
+ # via
143
+ # -c requirements/common.txt
144
+ # -r requirements/test/../common.txt
145
contourpy==1.3.0
146
# via matplotlib
147
coverage==7.10.6
@@ -149,30 +180,49 @@ decorator==5.1.1
180
# via librosa
181
decord==0.6.0
182
# via -r requirements/test/cuda.in
183
+depyf==0.20.0
184
+ # via
185
+ # -c requirements/common.txt
186
+ # -r requirements/test/../common.txt
187
+detect-installer==0.1.0
188
+ # via fastapi-cloud-cli
189
dill==0.3.8
190
# via
191
# datasets
192
+ # depyf
193
# evaluate
194
# lm-eval
195
# multiprocess
196
+diskcache==5.6.3
197
+ # via
198
+ # -c requirements/common.txt
199
+ # -r requirements/test/../common.txt
200
distlib==0.3.9
201
# via virtualenv
202
+distro==1.9.0
203
+ # via
204
+ # anthropic
205
+ # openai
206
dnspython==2.7.0
207
# via email-validator
208
docker==7.1.0
209
# via gpt-oss
210
docopt==0.6.2
211
# via num2words
212
+docstring-parser==0.18.0
213
+ # via anthropic
214
einops==0.8.1
215
# via
168
- # -r requirements/test/cuda.in
216
+ # -r requirements/test/../common.txt
217
# encodec
218
# vector-quantize-pytorch
219
# vocos
220
einx==0.3.0
221
# via vector-quantize-pytorch
222
email-validator==2.2.0
175
- # via pydantic
223
+ # via
224
+ # fastapi
225
+ # pydantic
226
encodec==0.1.1
227
# via vocos
228
et-xmlfile==2.0.0
@@ -182,7 +232,17 @@ evaluate==0.4.3
232
fastapi==0.136.3
233
# via
234
# -c requirements/common.txt
235
+ # -r requirements/test/../common.txt
236
# gpt-oss
237
+ # model-hosting-container-standards
238
+fastapi-cli==0.0.27
239
+ # via fastapi
240
+fastapi-cloud-cli==0.21.0
241
+ # via fastapi-cli
242
+fastar==0.11.0
243
+ # via
244
+ # fastapi
245
+ # fastapi-cloud-cli
246
fastparquet==2024.11.0
247
# via genai-perf
248
fastrlock==0.8.2
@@ -194,6 +254,7 @@ fastsafetensors==0.3.2
254
filelock==3.16.1
255
# via
256
# -c requirements/common.txt
257
+ # -r requirements/test/../common.txt
258
# blobfile
259
# datasets
260
# huggingface-hub
@@ -243,7 +304,10 @@ google-crc32c==1.7.1
304
google-resumable-media==2.7.2
305
# via google-cloud-storage
306
googleapis-common-protos==1.70.0
246
- # via google-api-core
307
+ # via
308
+ # google-api-core
309
+ # opentelemetry-exporter-otlp-proto-grpc
310
+ # opentelemetry-exporter-otlp-proto-http
311
gpt-oss==0.0.8
312
# via -r requirements/test/cuda.in
313
graphql-core==3.2.6
@@ -254,6 +318,7 @@ grpcio==1.78.0
318
# via
319
# -r requirements/test/cuda.in
320
# grpcio-reflection
321
+ # opentelemetry-exporter-otlp-proto-grpc
322
# ray
323
grpcio-reflection==1.78.0
324
# via -r requirements/test/cuda.in
@@ -275,12 +340,22 @@ html2text==2025.4.15
340
# via gpt-oss
341
httpcore==1.0.6
342
# via httpx
343
+httptools==0.8.0
344
+ # via uvicorn
345
httpx==0.27.2
346
# via
347
# -r requirements/test/cuda.in
348
+ # anthropic
349
+ # fastapi
350
+ # fastapi-cloud-cli
351
# huggingface-hub
352
+ # mcp
353
+ # model-hosting-container-standards
354
+ # openai
355
# perceptron
356
# schemathesis
357
+httpx-sse==0.4.3
358
+ # via mcp
359
huggingface-hub==1.10.2
360
# via
361
# accelerate
@@ -314,6 +389,8 @@ idna==3.10
389
# httpx
390
# requests
391
# yarl
392
+ijson==3.5.0
393
+ # via -r requirements/test/../common.txt
394
imagehash==4.3.2
395
# via -r requirements/test/cuda.in
396
imageio==2.37.0
@@ -326,6 +403,8 @@ iniconfig==2.0.0
403
# via pytest
404
instanttensor==0.1.5
405
# via -r requirements/test/cuda.in
406
+interegular==0.3.3
407
+ # via lm-format-enforcer
408
isodate==0.7.2
409
# via azure-storage-blob
410
isort==5.13.2
@@ -333,15 +412,21 @@ isort==5.13.2
412
jinja2==3.1.6
413
# via
414
# datamodel-code-generator
415
+ # fastapi
416
# genai-perf
417
# lm-eval
418
# torch
419
+jiter==0.15.0
420
+ # via
421
+ # anthropic
422
+ # openai
423
jiwer==3.0.5
424
# via -r requirements/test/cuda.in
425
jmespath==1.0.1
426
# via
427
# boto3
428
# botocore
429
+ # model-hosting-container-standards
430
joblib==1.4.2
431
# via
432
# librosa
@@ -350,7 +435,9 @@ joblib==1.4.2
435
jsonschema==4.23.0
436
# via
437
# -c requirements/common.txt
438
+ # -r requirements/test/../common.txt
439
# hypothesis-jsonschema
440
+ # mcp
441
# mistral-common
442
# ray
443
jsonschema-rs==0.46.5
@@ -365,6 +452,10 @@ kaleido==0.2.1
452
# via genai-perf
453
kiwisolver==1.4.7
454
# via matplotlib
455
+lark==1.2.2
456
+ # via
457
+ # -c requirements/common.txt
458
+ # -r requirements/test/../common.txt
459
lazy-loader==0.4
460
# via
461
# librosa
@@ -373,10 +464,20 @@ libnacl==2.1.0
464
# via tensorizer
465
librosa==0.10.2.post1
466
# via -r requirements/test/cuda.in
467
+llguidance==1.7.6
468
+ # via
469
+ # -c requirements/common.txt
470
+ # -r requirements/test/../common.txt
471
llvmlite==0.47.0
472
# via numba
473
lm-eval==0.4.12
474
# via -r requirements/test/cuda.in
475
+lm-format-enforcer==0.11.3
476
+ # via
477
+ # -c requirements/common.txt
478
+ # -r requirements/test/../common.txt
479
+loguru==0.7.3
480
+ # via compressed-tensors
481
lxml==5.3.0
482
# via
483
# blobfile
@@ -398,12 +499,19 @@ mbstrdecoder==1.1.3
499
# dataproperty
500
# pytablewriter
501
# typepy
502
+mcp==1.28.1
503
+ # via -r requirements/test/../common.txt
504
mdurl==0.1.2
505
# via markdown-it-py
506
mistral-common==1.11.5
507
# via
508
# -c requirements/common.txt
509
+ # -r requirements/test/../common.txt
510
# -r requirements/test/cuda.in
511
+model-hosting-container-standards==0.1.16
512
+ # via
513
+ # -c requirements/common.txt
514
+ # -r requirements/test/../common.txt
515
more-itertools==10.5.0
516
# via lm-eval
517
mpmath==1.3.0
@@ -418,6 +526,8 @@ msgpack==1.1.0
526
# via
527
# librosa
528
# ray
529
+msgspec==0.21.1
530
+ # via -r requirements/test/../common.txt
531
mteb==2.8.3
532
# via -r requirements/test/cuda.in
533
multidict==6.1.0
@@ -434,6 +544,8 @@ networkx==3.2.1
544
# via
545
# scikit-image
546
# torch
547
+ninja==1.13.0
548
+ # via -r requirements/test/../common.txt
549
nltk==3.9.1
550
# via rouge-score
551
num2words==0.5.14
@@ -445,7 +557,7 @@ numba==0.65.0
557
# librosa
558
numpy==2.2.6
559
# via
448
- # -r requirements/test/cuda.in
560
+ # -r requirements/test/../common.txt
561
# accelerate
562
# albumentations
563
# bitsandbytes
@@ -489,6 +601,7 @@ numpy==2.2.6
601
# transformers
602
# tritonclient
603
# vocos
604
+ # xgrammar
605
nvidia-cublas==13.1.0.3
606
# via
607
# cuda-toolkit
@@ -530,9 +643,14 @@ nvidia-nvtx==13.0.85
643
# via cuda-toolkit
644
open-clip-torch==2.32.0
645
# via -r requirements/test/cuda.in
646
+openai==2.44.0
647
+ # via
648
+ # -c requirements/common.txt
649
+ # -r requirements/test/../common.txt
650
openai-harmony==0.0.4
651
# via
652
# -c requirements/common.txt
653
+ # -r requirements/test/../common.txt
654
# gpt-oss
655
opencensus==0.11.4
656
# via ray
@@ -541,7 +659,7 @@ opencensus-context==0.1.3
659
opencv-python-headless==4.13.0.90
660
# via
661
# -c requirements/common.txt
544
- # -r requirements/test/cuda.in
662
+ # -r requirements/test/../common.txt
663
# albumentations
664
# mistral-common
665
openpyxl==3.1.5
@@ -549,24 +667,54 @@ openpyxl==3.1.5
667
opentelemetry-api==1.35.0
668
# via
669
# -c requirements/common.txt
670
+ # -r requirements/test/../common.txt
671
+ # opentelemetry-exporter-otlp-proto-grpc
672
+ # opentelemetry-exporter-otlp-proto-http
673
# opentelemetry-exporter-prometheus
674
# opentelemetry-sdk
675
# opentelemetry-semantic-conventions
676
+opentelemetry-exporter-otlp==1.35.0
677
+ # via
678
+ # -c requirements/common.txt
679
+ # -r requirements/test/../common.txt
680
+opentelemetry-exporter-otlp-proto-common==1.35.0
681
+ # via
682
+ # opentelemetry-exporter-otlp-proto-grpc
683
+ # opentelemetry-exporter-otlp-proto-http
684
+opentelemetry-exporter-otlp-proto-grpc==1.35.0
685
+ # via opentelemetry-exporter-otlp
686
+opentelemetry-exporter-otlp-proto-http==1.35.0
687
+ # via opentelemetry-exporter-otlp
688
opentelemetry-exporter-prometheus==0.56b0
689
# via ray
690
opentelemetry-proto==1.35.0
558
- # via ray
691
+ # via
692
+ # opentelemetry-exporter-otlp-proto-common
693
+ # opentelemetry-exporter-otlp-proto-grpc
694
+ # opentelemetry-exporter-otlp-proto-http
695
+ # ray
696
opentelemetry-sdk==1.35.0
697
# via
698
# -c requirements/common.txt
699
+ # -r requirements/test/../common.txt
700
+ # opentelemetry-exporter-otlp-proto-grpc
701
+ # opentelemetry-exporter-otlp-proto-http
702
# opentelemetry-exporter-prometheus
703
# ray
704
opentelemetry-semantic-conventions==0.56b0
705
# via opentelemetry-sdk
706
+opentelemetry-semantic-conventions-ai==0.4.13
707
+ # via
708
+ # -c requirements/common.txt
709
+ # -r requirements/test/../common.txt
710
optuna==3.6.1
711
# via genai-perf
712
orjson==3.11.5
713
# via genai-perf
714
+outlines-core==0.2.14
715
+ # via
716
+ # -c requirements/common.txt
717
+ # -r requirements/test/../common.txt
718
packaging==24.2
719
# via
720
# accelerate
@@ -578,6 +726,7 @@ packaging==24.2
726
# fastparquet
727
# huggingface-hub
728
# lazy-loader
729
+ # lm-format-enforcer
730
# matplotlib
731
# optuna
732
# peft
@@ -597,6 +746,8 @@ pandas==2.2.3
746
# fastparquet
747
# genai-perf
748
# statsmodels
749
+partial-json-parser==0.2.1.1.post7
750
+ # via -r requirements/test/../common.txt
751
pathspec==0.12.1
752
# via black
753
pathvalidate==3.2.1
@@ -611,6 +762,7 @@ perf-analyzer==0.1.0
762
# via genai-perf
763
pillow==10.4.0
764
# via
765
+ # -r requirements/test/../common.txt
766
# genai-perf
767
# imagehash
768
# imageio
@@ -644,8 +796,14 @@ pqdm==0.2.0
796
prometheus-client==0.22.0
797
# via
798
# -c requirements/common.txt
799
+ # -r requirements/test/../common.txt
800
# opentelemetry-exporter-prometheus
801
+ # prometheus-fastapi-instrumentator
802
# ray
803
+prometheus-fastapi-instrumentator==8.0.2
804
+ # via
805
+ # -c requirements/common.txt
806
+ # -r requirements/test/../common.txt
807
propcache==0.2.0
808
# via
809
# aiohttp
@@ -655,6 +813,7 @@ proto-plus==1.26.1
813
protobuf==6.33.6
814
# via
815
# -c requirements/common.txt
816
+ # -r requirements/test/../common.txt
817
# google-api-core
818
# googleapis-common-protos
819
# grpcio-reflection
@@ -664,11 +823,14 @@ protobuf==6.33.6
823
# tensorizer
824
psutil==6.1.0
825
# via
826
+ # -r requirements/test/../common.txt
827
# accelerate
828
# peft
829
# tensorizer
830
py==1.11.0
831
# via pytest-forked
832
+py-cpuinfo==9.0.0
833
+ # via -r requirements/test/../common.txt
834
py-spy==0.4.0
835
# via ray
836
pyarrow==23.0.0
@@ -681,6 +843,8 @@ pyasn1==0.6.1
843
# rsa
844
pyasn1-modules==0.4.2
845
# via google-auth
846
+pybase64==1.4.3
847
+ # via -r requirements/test/../common.txt
848
pycountry==24.6.1
849
# via pydantic-extra-types
850
pycparser==2.22
@@ -690,26 +854,43 @@ pycryptodomex==3.22.0
854
pydantic==2.12.0
855
# via
856
# -c requirements/common.txt
693
- # -r requirements/test/cuda.in
857
+ # -r requirements/test/../common.txt
858
# albumentations
859
+ # anthropic
860
+ # compressed-tensors
861
# datamodel-code-generator
862
# fastapi
863
+ # fastapi-cloud-cli
864
# gpt-oss
865
+ # lm-format-enforcer
866
+ # mcp
867
# mistral-common
868
+ # model-hosting-container-standards
869
# mteb
870
+ # openai
871
# openai-harmony
872
# pydantic-extra-types
873
+ # pydantic-settings
874
# ray
875
+ # xgrammar
876
pydantic-core==2.41.1
877
# via pydantic
878
pydantic-extra-types==2.10.5
706
- # via mistral-common
879
+ # via
880
+ # fastapi
881
+ # mistral-common
882
+pydantic-settings==2.14.2
883
+ # via
884
+ # fastapi
885
+ # mcp
886
pygments==2.18.0
887
# via
888
# pytest
889
# rich
890
pyjwt==2.11.0
712
- # via msal
891
+ # via
892
+ # mcp
893
+ # msal
894
pyparsing==3.2.0
895
# via matplotlib
896
pyrate-limiter==4.4.0
@@ -751,6 +932,16 @@ python-dateutil==2.9.0.post0
932
# matplotlib
933
# pandas
934
# typepy
935
+python-dotenv==1.2.2
936
+ # via
937
+ # pydantic-settings
938
+ # uvicorn
939
+python-json-logger==4.1.0
940
+ # via -r requirements/test/../common.txt
941
+python-multipart==0.0.32
942
+ # via
943
+ # fastapi
944
+ # mcp
945
python-rapidjson==1.20
946
# via tritonclient
947
pytrec-eval-terrier==0.5.7
@@ -763,12 +954,14 @@ pywavelets==1.9.0
954
# via imagehash
955
pyyaml==6.0.2
956
# via
957
+ # -r requirements/test/../common.txt
958
# accelerate
959
# albumentations
960
# datamodel-code-generator
961
# datasets
962
# genai-perf
963
# huggingface-hub
964
+ # lm-format-enforcer
965
# optuna
966
# peft
967
# ray
@@ -776,7 +969,12 @@ pyyaml==6.0.2
969
# schemathesis
970
# timm
971
# transformers
972
+ # uvicorn
973
# vocos
974
+pyzmq==27.1.0
975
+ # via
976
+ # -c requirements/common.txt
977
+ # -r requirements/test/../common.txt
978
rapidfuzz==3.12.1
979
# via jiwer
980
ray==2.48.0
@@ -789,6 +987,7 @@ referencing==0.35.1
987
# jsonschema-specifications
988
regex==2026.2.28
989
# via
990
+ # -r requirements/test/../common.txt
991
# nltk
992
# open-clip-torch
993
# sacrebleu
@@ -797,6 +996,7 @@ regex==2026.2.28
996
requests==2.32.3
997
# via
998
# -c requirements/common.txt
999
+ # -r requirements/test/../common.txt
1000
# azure-core
1001
# buildkite-test-collector
1002
# datasets
@@ -809,6 +1009,7 @@ requests==2.32.3
1009
# mistral-common
1010
# msal
1011
# mteb
1012
+ # opentelemetry-exporter-otlp-proto-http
1013
# pooch
1014
# ray
1015
# responses
@@ -822,8 +1023,15 @@ rich==13.9.4
1023
# genai-perf
1024
# mteb
1025
# perceptron
1026
+ # rich-toolkit
1027
# schemathesis
1028
# typer
1029
+rich-toolkit==0.20.1
1030
+ # via
1031
+ # fastapi-cli
1032
+ # fastapi-cloud-cli
1033
+rignore==0.7.6
1034
+ # via fastapi-cloud-cli
1035
rouge-score==0.1.2
1036
# via lm-eval
1037
rpds-py==0.20.1
@@ -847,6 +1055,7 @@ sacrebleu==2.4.3
1055
safetensors==0.7.0
1056
# via
1057
# -c requirements/common.txt
1058
+ # -r requirements/test/../common.txt
1059
# accelerate
1060
# open-clip-torch
1061
# peft
@@ -882,9 +1091,17 @@ sentence-transformers==5.2.0
1091
# via
1092
# -r requirements/test/cuda.in
1093
# mteb
1094
+sentencepiece==0.2.1
1095
+ # via -r requirements/test/../common.txt
1096
+sentry-sdk==2.63.0
1097
+ # via fastapi-cloud-cli
1098
+setproctitle==1.3.7
1099
+ # via -r requirements/test/../common.txt
1100
setuptools==77.0.3
1101
# via
1102
# -c requirements/common.txt
1103
+ # -r requirements/test/../common.txt
1104
+ # model-hosting-container-standards
1105
# pytablewriter
1106
# torch
1107
shellingham==1.5.4
@@ -894,6 +1111,7 @@ shellingham==1.5.4
1111
six==1.16.0
1112
# via
1113
# -c requirements/common.txt
1114
+ # -r requirements/test/../common.txt
1115
# junit-xml
1116
# opencensus
1117
# python-dateutil
@@ -902,8 +1120,9 @@ smart-open==7.1.0
1120
# via ray
1121
sniffio==1.3.1
1122
# via
905
- # anyio
1123
+ # anthropic
1124
# httpx
1125
+ # openai
1126
sortedcontainers==2.4.0
1127
# via hypothesis
1128
soundfile==0.12.1
@@ -922,10 +1141,17 @@ sqlalchemy==2.0.41
1141
# optuna
1142
sqlitedict==2.1.0
1143
# via lm-eval
1144
+sse-starlette==3.4.5
1145
+ # via mcp
1146
starlette==1.3.1
1147
# via
1148
# -c requirements/common.txt
1149
+ # -r requirements/test/../common.txt
1150
# fastapi
1151
+ # mcp
1152
+ # model-hosting-container-standards
1153
+ # prometheus-fastapi-instrumentator
1154
+ # sse-starlette
1155
# starlette-testclient
1156
starlette-testclient==0.4.1
1157
# via schemathesis
@@ -933,6 +1159,8 @@ statsmodels==0.14.4
1159
# via genai-perf
1160
structlog==25.4.0
1161
# via gpt-oss
1162
+supervisor==4.3.0
1163
+ # via model-hosting-container-standards
1164
sympy==1.13.3
1165
# via
1166
# einx
@@ -962,6 +1190,7 @@ tifffile==2025.3.30
1190
tiktoken==0.12.0
1191
# via
1192
# -c requirements/common.txt
1193
+ # -r requirements/test/../common.txt
1194
# gpt-oss
1195
# lm-eval
1196
# mistral-common
@@ -973,6 +1202,7 @@ timm==1.0.17
1202
tokenizers==0.22.2
1203
# via
1204
# -c requirements/common.txt
1205
+ # -r requirements/test/../common.txt
1206
# -r requirements/test/cuda.in
1207
# transformers
1208
torch==2.11.0+cu130
@@ -981,6 +1211,7 @@ torch==2.11.0+cu130
1211
# -r requirements/test/cuda.in
1212
# accelerate
1213
# bitsandbytes
1214
+ # compressed-tensors
1215
# encodec
1216
# instanttensor
1217
# mteb
@@ -994,6 +1225,7 @@ torch==2.11.0+cu130
1225
# torchvision
1226
# vector-quantize-pytorch
1227
# vocos
1228
+ # xgrammar
1229
torchaudio==2.11.0+cu130
1230
# via
1231
# -c requirements/cuda.txt
@@ -1009,6 +1241,7 @@ torchvision==0.26.0+cu130
1241
# timm
1242
tqdm==4.67.3
1243
# via
1244
+ # -r requirements/test/../common.txt
1245
# datasets
1246
# evaluate
1247
# huggingface-hub
@@ -1016,6 +1249,7 @@ tqdm==4.67.3
1249
# mteb
1250
# nltk
1251
# open-clip-torch
1252
+ # openai
1253
# optuna
1254
# peft
1255
# pqdm
@@ -1025,15 +1259,20 @@ tqdm==4.67.3
1259
transformers==5.5.3
1260
# via
1261
# -c requirements/common.txt
1262
+ # -r requirements/test/../common.txt
1263
# -r requirements/test/cuda.in
1264
+ # compressed-tensors
1265
# genai-perf
1266
# peft
1267
# sentence-transformers
1268
# transformers-stream-generator
1269
+ # xgrammar
1270
transformers-stream-generator==0.0.5
1271
# via -r requirements/test/cuda.in
1272
triton==3.6.0
1036
- # via torch
1273
+ # via
1274
+ # torch
1275
+ # xgrammar
1276
tritonclient==2.64.0
1277
# via -r requirements/test/cuda.in
1278
typepy==1.3.2
@@ -1041,8 +1280,10 @@ typepy==1.3.2
1280
# dataproperty
1281
# pytablewriter
1282
# tabledata
1044
-typer==0.15.2
1283
+typer==0.26.8
1284
# via
1285
+ # fastapi-cli
1286
+ # fastapi-cloud-cli
1287
# fastsafetensors
1288
# huggingface-hub
1289
# perceptron
@@ -1050,9 +1291,13 @@ typer==0.15.2
1291
typing-extensions==4.15.0
1292
# via
1293
# -c requirements/common.txt
1294
+ # -r requirements/test/../common.txt
1295
# aiosignal
1296
# albumentations
1297
# alembic
1298
+ # anthropic
1299
+ # anyio
1300
+ # apache-tvm-ffi
1301
# azure-core
1302
# azure-identity
1303
# azure-storage-blob
@@ -1062,9 +1307,13 @@ typing-extensions==4.15.0
1307
# huggingface-hub
1308
# librosa
1309
# lm-eval
1310
+ # mcp
1311
# mistral-common
1312
# mteb
1313
+ # openai
1314
# opentelemetry-api
1315
+ # opentelemetry-exporter-otlp-proto-grpc
1316
+ # opentelemetry-exporter-otlp-proto-http
1317
# opentelemetry-sdk
1318
# opentelemetry-semantic-conventions
1319
# pqdm
@@ -1072,17 +1321,20 @@ typing-extensions==4.15.0
1321
# pydantic-core
1322
# pydantic-extra-types
1323
# pytest-asyncio
1324
+ # rich-toolkit
1325
# schemathesis
1326
# sentence-transformers
1327
# sqlalchemy
1328
# starlette
1329
# torch
1080
- # typer
1330
# typing-inspection
1331
+ # xgrammar
1332
typing-inspection==0.4.2
1333
# via
1334
# fastapi
1335
+ # mcp
1336
# pydantic
1337
+ # pydantic-settings
1338
tzdata==2024.2
1339
# via pandas
1340
urllib3==2.2.3
@@ -1092,23 +1344,41 @@ urllib3==2.2.3
1344
# docker
1345
# requests
1346
# responses
1347
+ # sentry-sdk
1348
# tritonclient
1349
uvicorn==0.35.0
1097
- # via gpt-oss
1350
+ # via
1351
+ # fastapi
1352
+ # fastapi-cli
1353
+ # fastapi-cloud-cli
1354
+ # gpt-oss
1355
+ # mcp
1356
+uvloop==0.22.1
1357
+ # via uvicorn
1358
vector-quantize-pytorch==1.21.2
1359
# via -r requirements/test/cuda.in
1360
virtualenv==20.31.2
1361
# via ray
1362
vocos==0.1.0
1363
# via -r requirements/test/cuda.in
1364
+watchfiles==1.2.0
1365
+ # via
1366
+ # -r requirements/test/../common.txt
1367
+ # uvicorn
1368
wcwidth==0.2.13
1369
# via ftfy
1370
+websockets==16.0
1371
+ # via uvicorn
1372
werkzeug==3.1.3
1373
# via schemathesis
1374
word2number==1.1
1375
# via lm-eval
1376
wrapt==1.17.2
1377
# via smart-open
1378
+xgrammar==0.2.3
1379
+ # via
1380
+ # -c requirements/common.txt
1381
+ # -r requirements/test/../common.txt
1382
xxhash==3.5.0
1383
# via
1384
# datasets
requirements/test/rocm.in
-4
@@ -15,7 +15,6 @@ albumentations # required for Nemotron Parse in test_common.py
15
av # required for audio_in_video tests
16
backoff # required for phi4mm test
17
blobfile # required for kimi-vl test
18
-einops # required for MPT, qwen-vl
18
httpx
19
librosa # required for audio tests
20
vector_quantize_pytorch # required for minicpmo_26 test
@@ -33,7 +32,6 @@ matplotlib # required for qwen-vl test
32
mistral_common[image,audio]>=1.11.5 # required for voxtral test
33
num2words # required for smolvlm test
34
open_clip_torch==2.32.0 # Required for nemotron_vl test, Nemotron Parse in test_common.py
36
-opencv-python-headless>=4.13.0 # required for video test
35
datamodel_code_generator # required for minicpm3 test
36
lm-eval[api]>=0.4.12 # required for model evaluation test
37
mteb[bm25s]>=2, <3 # required for mteb test
@@ -54,11 +52,9 @@ grpcio-reflection==1.78.0
52
53
arctic-inference==0.1.1 # Required for suffix decoding test
54
numba==0.65.0 # Required for N-gram speculative decoding
57
-numpy
55
runai-model-streamer[s3,gcs,azure]==0.15.7
56
fastsafetensors>=0.3.2
57
instanttensor>=0.1.5
61
-pydantic>=2.12 # 2.11 leads to error on python 3.13
58
decord==0.6.0
59
60
# Prithvi tests
requirements/test/rocm.txt
-4
@@ -205,7 +205,6 @@ docstring-parser==0.17.0
205
einops==0.8.2
206
# via
207
# -r requirements/test/../common.txt
208
- # -r requirements/test/rocm.in
208
# encodec
209
# vector-quantize-pytorch
210
# vocos
@@ -561,7 +560,6 @@ numba==0.65.0
560
numpy==2.2.6
561
# via
562
# -r requirements/test/../common.txt
564
- # -r requirements/test/rocm.in
563
# accelerate
564
# albumentations
565
# bitsandbytes
@@ -630,7 +628,6 @@ opencv-python-headless==4.13.0.92
628
# via
629
# -c requirements/common.txt
630
# -r requirements/test/../common.txt
633
- # -r requirements/test/rocm.in
631
# albumentations
632
# mistral-common
633
openpyxl==3.1.5
@@ -834,7 +831,6 @@ pydantic==2.12.5
831
# via
832
# -c requirements/common.txt
833
# -r requirements/test/../common.txt
837
- # -r requirements/test/rocm.in
834
# albumentations
835
# anthropic
836
# compressed-tensors
requirements/test/xpu.in
+2
@@ -1,3 +1,5 @@
1
+-r ../common.txt
2
+
3
# --- Test Infrastructure ---
4
tblib
5
pytest
requirements/test/xpu.txt
+316
-4
@@ -11,6 +11,7 @@ aiohappyeyeballs==2.6.1
11
aiohttp==3.13.4
12
# via
13
# -c requirements/common.txt
14
+ # -r requirements/test/../common.txt
15
# fsspec
16
# gpt-oss
17
# lm-eval
@@ -24,12 +25,25 @@ annotated-doc==0.0.4
25
# typer
26
annotated-types==0.7.0
27
# via pydantic
28
+anthropic==0.112.0
29
+ # via
30
+ # -c requirements/common.txt
31
+ # -r requirements/test/../common.txt
32
anyio==4.13.0
33
# via
34
+ # anthropic
35
# httpx
36
+ # mcp
37
+ # openai
38
+ # sse-starlette
39
# starlette
40
+ # watchfiles
41
+apache-tvm-ffi==0.1.12
42
+ # via xgrammar
43
arctic-inference==0.1.1
44
# via -r requirements/test/xpu.in
45
+astor==0.8.1
46
+ # via depyf
47
attrs==26.1.0
48
# via
49
# aiohttp
@@ -39,6 +53,8 @@ audioread==3.0.1
53
# via
54
# -r requirements/test/xpu.in
55
# librosa
56
+blake3==1.0.9
57
+ # via -r requirements/test/../common.txt
58
blobfile==3.0.0
59
# via -r requirements/test/xpu.in
60
bm25s==0.2.13
@@ -47,13 +63,20 @@ bm25s==0.2.13
63
# mteb
64
bounded-pool-executor==0.0.3
65
# via pqdm
66
+cachetools==7.1.4
67
+ # via -r requirements/test/../common.txt
68
+cbor2==6.1.2
69
+ # via -r requirements/test/../common.txt
70
certifi==2026.2.25
71
# via
72
# httpcore
73
# httpx
74
# requests
75
+ # sentry-sdk
76
cffi==2.0.0
56
- # via soundfile
77
+ # via
78
+ # cryptography
79
+ # soundfile
80
chardet==5.2.0
81
# via mbstrdecoder
82
charset-normalizer==3.4.6
@@ -64,13 +87,22 @@ click==8.3.1
87
# via
88
# jiwer
89
# nltk
90
+ # rich-toolkit
91
# schemathesis
92
# typer
93
# uvicorn
94
+cloudpickle==3.1.2
95
+ # via -r requirements/test/../common.txt
96
colorama==0.4.6
97
# via sacrebleu
98
+compressed-tensors==0.17.0
99
+ # via
100
+ # -c requirements/common.txt
101
+ # -r requirements/test/../common.txt
102
coverage==7.13.5
103
# via pytest-cov
104
+cryptography==49.0.0
105
+ # via pyjwt
106
dataproperty==1.1.0
107
# via
108
# pytablewriter
@@ -82,16 +114,35 @@ datasets==4.8.4
114
# mteb
115
decorator==5.2.1
116
# via librosa
117
+depyf==0.20.0
118
+ # via
119
+ # -c requirements/common.txt
120
+ # -r requirements/test/../common.txt
121
+detect-installer==0.1.0
122
+ # via fastapi-cloud-cli
123
dill==0.4.1
124
# via
125
# datasets
126
+ # depyf
127
# evaluate
128
# lm-eval
129
# multiprocess
130
+diskcache==5.6.3
131
+ # via
132
+ # -c requirements/common.txt
133
+ # -r requirements/test/../common.txt
134
+distro==1.9.0
135
+ # via
136
+ # anthropic
137
+ # openai
138
+dnspython==2.8.0
139
+ # via email-validator
140
docker==7.1.0
141
# via gpt-oss
142
docopt==0.6.2
143
# via num2words
144
+docstring-parser==0.18.0
145
+ # via anthropic
146
dpcpp-cpp-rt==2025.3.2
147
# via
148
# onemkl-sycl-blas
@@ -100,15 +151,30 @@ dpcpp-cpp-rt==2025.3.2
151
# onemkl-sycl-rng
152
# onemkl-sycl-sparse
153
# torch
154
+einops==0.8.2
155
+ # via -r requirements/test/../common.txt
156
+email-validator==2.3.0
157
+ # via
158
+ # fastapi
159
+ # pydantic
160
evaluate==0.4.6
161
# via lm-eval
162
fastapi==0.135.2
163
# via
164
# -c requirements/common.txt
165
+ # -r requirements/test/../common.txt
166
# gpt-oss
167
+ # model-hosting-container-standards
168
+fastapi-cli==0.0.27
169
+ # via fastapi
170
+fastapi-cloud-cli==0.21.0
171
+ # via fastapi-cli
172
+fastar==0.11.0
173
+ # via fastapi-cloud-cli
174
filelock==3.25.2
175
# via
176
# -c requirements/common.txt
177
+ # -r requirements/test/../common.txt
178
# blobfile
179
# datasets
180
# huggingface-hub
@@ -124,10 +190,16 @@ fsspec==2026.2.0
190
# evaluate
191
# huggingface-hub
192
# torch
193
+googleapis-common-protos==1.75.0
194
+ # via
195
+ # opentelemetry-exporter-otlp-proto-grpc
196
+ # opentelemetry-exporter-otlp-proto-http
197
gpt-oss==0.0.8
198
# via -r requirements/test/xpu.in
199
graphql-core==3.2.8
200
# via hypothesis-graphql
201
+grpcio==1.81.1
202
+ # via opentelemetry-exporter-otlp-proto-grpc
203
h11==0.16.0
204
# via
205
# httpcore
@@ -140,11 +212,21 @@ html2text==2025.4.15
212
# via gpt-oss
213
httpcore==1.0.9
214
# via httpx
215
+httptools==0.8.0
216
+ # via uvicorn
217
httpx==0.28.1
218
# via
219
+ # anthropic
220
# datasets
221
+ # fastapi
222
+ # fastapi-cloud-cli
223
# huggingface-hub
224
+ # mcp
225
+ # model-hosting-container-standards
226
+ # openai
227
# schemathesis
228
+httpx-sse==0.4.3
229
+ # via mcp
230
huggingface-hub==1.10.2
231
# via
232
# accelerate
@@ -166,9 +248,12 @@ hypothesis-jsonschema==0.23.1
248
idna==3.11
249
# via
250
# anyio
251
+ # email-validator
252
# httpx
253
# requests
254
# yarl
255
+ijson==3.5.0
256
+ # via -r requirements/test/../common.txt
257
imageio==2.37.3
258
# via scikit-image
259
impi-rt==2021.17.2
@@ -212,13 +297,22 @@ intel-sycl-rt==2025.3.2
297
# dpcpp-cpp-rt
298
# oneccl
299
# torch
300
+interegular==0.3.3
301
+ # via lm-format-enforcer
302
jinja2==3.1.6
303
# via
304
# -c requirements/xpu.txt
305
+ # fastapi
306
# lm-eval
307
# torch
308
+jiter==0.15.0
309
+ # via
310
+ # anthropic
311
+ # openai
312
jiwer==4.0.0
313
# via -r requirements/test/xpu.in
314
+jmespath==1.1.0
315
+ # via model-hosting-container-standards
316
joblib==1.5.3
317
# via
318
# librosa
@@ -227,7 +321,9 @@ joblib==1.5.3
321
jsonschema==4.26.0
322
# via
323
# -c requirements/common.txt
324
+ # -r requirements/test/../common.txt
325
# hypothesis-jsonschema
326
+ # mcp
327
# mistral-common
328
# schemathesis
329
jsonschema-rs==0.45.0
@@ -236,16 +332,30 @@ jsonschema-specifications==2025.9.1
332
# via jsonschema
333
junit-xml==1.9
334
# via schemathesis
335
+lark==1.2.2
336
+ # via
337
+ # -c requirements/common.txt
338
+ # -r requirements/test/../common.txt
339
lazy-loader==0.5
340
# via
341
# librosa
342
# scikit-image
343
librosa==0.10.2.post1
344
# via -r requirements/test/xpu.in
345
+llguidance==1.7.6
346
+ # via
347
+ # -c requirements/common.txt
348
+ # -r requirements/test/../common.txt
349
llvmlite==0.47.0
350
# via numba
351
lm-eval==0.4.12
352
# via -r requirements/test/xpu.in
353
+lm-format-enforcer==0.11.3
354
+ # via
355
+ # -c requirements/common.txt
356
+ # -r requirements/test/../common.txt
357
+loguru==0.7.3
358
+ # via compressed-tensors
359
lxml==6.0.2
360
# via
361
# blobfile
@@ -262,11 +372,14 @@ mbstrdecoder==1.1.4
372
# dataproperty
373
# pytablewriter
374
# typepy
375
+mcp==1.28.1
376
+ # via -r requirements/test/../common.txt
377
mdurl==0.1.2
378
# via markdown-it-py
379
mistral-common==1.11.5
380
# via
381
# -c requirements/common.txt
382
+ # -r requirements/test/../common.txt
383
# -r requirements/test/xpu.in
384
mkl==2025.3.1
385
# via
@@ -276,6 +389,10 @@ mkl==2025.3.1
389
# onemkl-sycl-rng
390
# onemkl-sycl-sparse
391
# torch
392
+model-hosting-container-standards==0.1.16
393
+ # via
394
+ # -c requirements/common.txt
395
+ # -r requirements/test/../common.txt
396
modelscope==1.35.3
397
# via -r requirements/test/xpu.in
398
more-itertools==10.8.0
@@ -284,6 +401,8 @@ mpmath==1.3.0
401
# via sympy
402
msgpack==1.1.2
403
# via librosa
404
+msgspec==0.21.1
405
+ # via -r requirements/test/../common.txt
406
mteb==2.12.7
407
# via -r requirements/test/xpu.in
408
multidict==6.7.1
@@ -298,6 +417,8 @@ networkx==3.6.1
417
# via
418
# scikit-image
419
# torch
420
+ninja==1.13.0
421
+ # via -r requirements/test/../common.txt
422
nltk==3.9.4
423
# via rouge-score
424
num2words==0.5.14
@@ -308,6 +429,7 @@ numba==0.65.0
429
# librosa
430
numpy==2.2.6
431
# via
432
+ # -r requirements/test/../common.txt
433
# accelerate
434
# albumentations
435
# bm25s
@@ -333,6 +455,7 @@ numpy==2.2.6
455
# tifffile
456
# torchvision
457
# transformers
458
+ # xgrammar
459
oneccl==2021.17.2
460
# via
461
# oneccl-devel
@@ -356,15 +479,65 @@ onemkl-sycl-rng==2025.3.1
479
# via torch
480
onemkl-sycl-sparse==2025.3.1
481
# via torch
482
+openai==2.44.0
483
+ # via
484
+ # -c requirements/common.txt
485
+ # -r requirements/test/../common.txt
486
openai-harmony==0.0.8
487
# via
488
# -c requirements/common.txt
489
+ # -r requirements/test/../common.txt
490
# gpt-oss
491
opencv-python-headless==4.13.0.92
492
# via
493
# -c requirements/common.txt
494
+ # -r requirements/test/../common.txt
495
# albumentations
496
# mistral-common
497
+opentelemetry-api==1.43.0
498
+ # via
499
+ # -c requirements/common.txt
500
+ # -r requirements/test/../common.txt
501
+ # opentelemetry-exporter-otlp-proto-grpc
502
+ # opentelemetry-exporter-otlp-proto-http
503
+ # opentelemetry-sdk
504
+ # opentelemetry-semantic-conventions
505
+opentelemetry-exporter-otlp==1.43.0
506
+ # via
507
+ # -c requirements/common.txt
508
+ # -r requirements/test/../common.txt
509
+opentelemetry-exporter-otlp-proto-common==1.43.0
510
+ # via
511
+ # opentelemetry-exporter-otlp-proto-grpc
512
+ # opentelemetry-exporter-otlp-proto-http
513
+opentelemetry-exporter-otlp-proto-grpc==1.43.0
514
+ # via opentelemetry-exporter-otlp
515
+opentelemetry-exporter-otlp-proto-http==1.43.0
516
+ # via opentelemetry-exporter-otlp
517
+opentelemetry-proto==1.43.0
518
+ # via
519
+ # opentelemetry-exporter-otlp-proto-common
520
+ # opentelemetry-exporter-otlp-proto-grpc
521
+ # opentelemetry-exporter-otlp-proto-http
522
+opentelemetry-sdk==1.43.0
523
+ # via
524
+ # -c requirements/common.txt
525
+ # -r requirements/test/../common.txt
526
+ # opentelemetry-exporter-otlp-proto-grpc
527
+ # opentelemetry-exporter-otlp-proto-http
528
+ # opentelemetry-semantic-conventions-ai
529
+opentelemetry-semantic-conventions==0.64b0
530
+ # via
531
+ # opentelemetry-sdk
532
+ # opentelemetry-semantic-conventions-ai
533
+opentelemetry-semantic-conventions-ai==0.5.1
534
+ # via
535
+ # -c requirements/common.txt
536
+ # -r requirements/test/../common.txt
537
+outlines-core==0.2.14
538
+ # via
539
+ # -c requirements/common.txt
540
+ # -r requirements/test/../common.txt
541
packaging==26.0
542
# via
543
# -c requirements/xpu.txt
@@ -373,6 +546,7 @@ packaging==26.0
546
# evaluate
547
# huggingface-hub
548
# lazy-loader
549
+ # lm-format-enforcer
550
# modelscope
551
# pooch
552
# pytest
@@ -384,10 +558,13 @@ pandas==3.0.1
558
# via
559
# datasets
560
# evaluate
561
+partial-json-parser==0.2.1.1.post7
562
+ # via -r requirements/test/../common.txt
563
pathvalidate==3.3.1
564
# via pytablewriter
565
pillow==12.1.1
566
# via
567
+ # -r requirements/test/../common.txt
568
# imageio
569
# mistral-common
570
# scikit-image
@@ -410,16 +587,37 @@ portalocker==3.2.0
587
# via sacrebleu
588
pqdm==0.2.0
589
# via -r requirements/test/xpu.in
590
+prometheus-client==0.25.0
591
+ # via
592
+ # -c requirements/common.txt
593
+ # -r requirements/test/../common.txt
594
+ # prometheus-fastapi-instrumentator
595
+prometheus-fastapi-instrumentator==8.0.2
596
+ # via
597
+ # -c requirements/common.txt
598
+ # -r requirements/test/../common.txt
599
propcache==0.4.1
600
# via
601
# aiohttp
602
# yarl
603
+protobuf==7.35.1
604
+ # via
605
+ # -c requirements/common.txt
606
+ # -r requirements/test/../common.txt
607
+ # googleapis-common-protos
608
+ # opentelemetry-proto
609
psutil==7.2.2
418
- # via accelerate
610
+ # via
611
+ # -r requirements/test/../common.txt
612
+ # accelerate
613
py==1.11.0
614
# via pytest-forked
615
+py-cpuinfo==9.0.0
616
+ # via -r requirements/test/../common.txt
617
pyarrow==23.0.1
618
# via datasets
619
+pybase64==1.4.3
620
+ # via -r requirements/test/../common.txt
621
pycountry==26.2.16
622
# via pydantic-extra-types
623
pycparser==3.0
@@ -429,23 +627,41 @@ pycryptodomex==3.23.0
627
pydantic==2.12.5
628
# via
629
# -c requirements/common.txt
630
+ # -r requirements/test/../common.txt
631
# albumentations
632
+ # anthropic
633
+ # compressed-tensors
634
# fastapi
635
+ # fastapi-cloud-cli
636
# gpt-oss
637
+ # lm-format-enforcer
638
+ # mcp
639
# mistral-common
640
+ # model-hosting-container-standards
641
# mteb
642
+ # openai
643
# openai-harmony
644
# pydantic-extra-types
645
+ # pydantic-settings
646
+ # xgrammar
647
pydantic-core==2.41.5
648
# via pydantic
649
pydantic-extra-types==2.11.1
442
- # via mistral-common
650
+ # via
651
+ # fastapi
652
+ # mistral-common
653
+pydantic-settings==2.14.2
654
+ # via
655
+ # fastapi
656
+ # mcp
657
pyelftools==0.32
658
# via triton-xpu
659
pygments==2.20.0
660
# via
661
# pytest
662
# rich
663
+pyjwt==2.13.0
664
+ # via mcp
665
pyrate-limiter==4.1.0
666
# via schemathesis
667
pystemmer==3.0.0
@@ -480,19 +696,36 @@ python-dateutil==2.9.0.post0
696
# via
697
# pandas
698
# typepy
699
+python-dotenv==1.2.2
700
+ # via
701
+ # pydantic-settings
702
+ # uvicorn
703
+python-json-logger==4.1.0
704
+ # via -r requirements/test/../common.txt
705
+python-multipart==0.0.32
706
+ # via
707
+ # fastapi
708
+ # mcp
709
pytrec-eval-terrier==0.5.10
710
# via mteb
711
pytz==2026.1.post1
712
# via typepy
713
pyyaml==6.0.3
714
# via
715
+ # -r requirements/test/../common.txt
716
# accelerate
717
# albumentations
718
# datasets
719
# huggingface-hub
720
+ # lm-format-enforcer
721
# schemathesis
722
# timm
723
# transformers
724
+ # uvicorn
725
+pyzmq==27.1.0
726
+ # via
727
+ # -c requirements/common.txt
728
+ # -r requirements/test/../common.txt
729
rapidfuzz==3.12.1
730
# via
731
# -r requirements/test/xpu.in
@@ -503,6 +736,7 @@ referencing==0.37.0
736
# jsonschema-specifications
737
regex==2026.3.32
738
# via
739
+ # -r requirements/test/../common.txt
740
# nltk
741
# sacrebleu
742
# tiktoken
@@ -510,6 +744,7 @@ regex==2026.3.32
744
requests==2.33.1
745
# via
746
# -c requirements/common.txt
747
+ # -r requirements/test/../common.txt
748
# datasets
749
# docker
750
# evaluate
@@ -518,6 +753,7 @@ requests==2.33.1
753
# mistral-common
754
# modelscope
755
# mteb
756
+ # opentelemetry-exporter-otlp-proto-http
757
# pooch
758
# schemathesis
759
# starlette-testclient
@@ -525,8 +761,15 @@ requests==2.33.1
761
rich==14.3.3
762
# via
763
# mteb
764
+ # rich-toolkit
765
# schemathesis
766
# typer
767
+rich-toolkit==0.20.1
768
+ # via
769
+ # fastapi-cli
770
+ # fastapi-cloud-cli
771
+rignore==0.7.6
772
+ # via fastapi-cloud-cli
773
rouge-score==0.1.2
774
# via lm-eval
775
rpds-py==0.30.0
@@ -538,6 +781,7 @@ sacrebleu==2.6.0
781
safetensors==0.7.0
782
# via
783
# -c requirements/common.txt
784
+ # -r requirements/test/../common.txt
785
# accelerate
786
# timm
787
# transformers
@@ -564,10 +808,18 @@ scipy==1.17.1
808
# sentence-transformers
809
sentence-transformers==5.3.0
810
# via mteb
811
+sentencepiece==0.2.1
812
+ # via -r requirements/test/../common.txt
813
+sentry-sdk==2.63.0
814
+ # via fastapi-cloud-cli
815
+setproctitle==1.3.7
816
+ # via -r requirements/test/../common.txt
817
setuptools==80.10.2
818
# via
819
# -c requirements/common.txt
820
# -c requirements/xpu.txt
821
+ # -r requirements/test/../common.txt
822
+ # model-hosting-container-standards
823
# modelscope
824
# pytablewriter
825
# torch
@@ -576,9 +828,14 @@ shellingham==1.5.4
828
six==1.17.0
829
# via
830
# -c requirements/common.txt
831
+ # -r requirements/test/../common.txt
832
# junit-xml
833
# python-dateutil
834
# rouge-score
835
+sniffio==1.3.1
836
+ # via
837
+ # anthropic
838
+ # openai
839
sortedcontainers==2.4.0
840
# via hypothesis
841
soundfile==0.13.1
@@ -593,15 +850,24 @@ soxr==0.5.0.post1
850
# mistral-common
851
sqlitedict==2.1.0
852
# via lm-eval
853
+sse-starlette==3.4.5
854
+ # via mcp
855
starlette==1.3.1
856
# via
857
# -c requirements/common.txt
858
+ # -r requirements/test/../common.txt
859
# fastapi
860
+ # mcp
861
+ # model-hosting-container-standards
862
+ # prometheus-fastapi-instrumentator
863
+ # sse-starlette
864
# starlette-testclient
865
starlette-testclient==0.4.1
866
# via schemathesis
867
structlog==25.5.0
868
# via gpt-oss
869
+supervisor==4.3.0
870
+ # via model-hosting-container-standards
871
sympy==1.14.0
872
# via torch
873
tabledata==1.3.4
@@ -636,6 +902,7 @@ tifffile==2026.3.3
902
tiktoken==0.12.0
903
# via
904
# -c requirements/common.txt
905
+ # -r requirements/test/../common.txt
906
# gpt-oss
907
# lm-eval
908
# mistral-common
@@ -644,19 +911,23 @@ timm==1.0.17
911
tokenizers==0.22.2
912
# via
913
# -c requirements/common.txt
914
+ # -r requirements/test/../common.txt
915
# transformers
916
torch==2.12.0+xpu
917
# via
918
# -c requirements/xpu.txt
919
# accelerate
920
+ # compressed-tensors
921
# mteb
922
# sentence-transformers
923
# timm
924
# torchvision
925
+ # xgrammar
926
torchvision==0.27.0+xpu
927
# via timm
928
tqdm==4.67.3
929
# via
930
+ # -r requirements/test/../common.txt
931
# datasets
932
# evaluate
933
# huggingface-hub
@@ -664,13 +935,19 @@ tqdm==4.67.3
935
# modelscope
936
# mteb
937
# nltk
938
+ # openai
939
# pqdm
940
# sentence-transformers
941
# transformers
942
transformers==5.5.3
943
# via
944
# -c requirements/common.txt
945
+ # -r requirements/test/../common.txt
946
+ # compressed-tensors
947
# sentence-transformers
948
+ # xgrammar
949
+triton==3.7.1
950
+ # via xgrammar
951
triton-xpu==3.7.1
952
# via torch
953
typepy==1.3.4
@@ -680,36 +957,53 @@ typepy==1.3.4
957
# tabledata
958
typer==0.24.1
959
# via
960
+ # fastapi-cli
961
+ # fastapi-cloud-cli
962
# huggingface-hub
963
# transformers
964
typing-extensions==4.15.0
965
# via
966
# -c requirements/common.txt
967
+ # -r requirements/test/../common.txt
968
# aiosignal
969
# albumentations
970
+ # anthropic
971
# anyio
972
+ # apache-tvm-ffi
973
# chz
974
# fastapi
975
+ # grpcio
976
# huggingface-hub
977
# librosa
978
# lm-eval
979
+ # mcp
980
# mistral-common
981
# mteb
982
+ # openai
983
+ # opentelemetry-api
984
+ # opentelemetry-exporter-otlp-proto-grpc
985
+ # opentelemetry-exporter-otlp-proto-http
986
+ # opentelemetry-sdk
987
+ # opentelemetry-semantic-conventions
988
# pqdm
989
# pydantic
990
# pydantic-core
991
# pydantic-extra-types
992
# pytest-asyncio
993
# referencing
994
+ # rich-toolkit
995
# schemathesis
996
# sentence-transformers
997
# starlette
998
# torch
999
# typing-inspection
1000
+ # xgrammar
1001
typing-inspection==0.4.2
1002
# via
1003
# fastapi
1004
+ # mcp
1005
# pydantic
1006
+ # pydantic-settings
1007
umf==1.0.3
1008
# via
1009
# intel-cmplr-lib-ur
@@ -720,12 +1014,30 @@ urllib3==2.6.3
1014
# docker
1015
# modelscope
1016
# requests
1017
+ # sentry-sdk
1018
uvicorn==0.42.0
724
- # via gpt-oss
1019
+ # via
1020
+ # fastapi
1021
+ # fastapi-cli
1022
+ # fastapi-cloud-cli
1023
+ # gpt-oss
1024
+ # mcp
1025
+uvloop==0.22.1
1026
+ # via uvicorn
1027
+watchfiles==1.2.0
1028
+ # via
1029
+ # -r requirements/test/../common.txt
1030
+ # uvicorn
1031
+websockets==16.0
1032
+ # via uvicorn
1033
werkzeug==3.1.7
1034
# via schemathesis
1035
word2number==1.1
1036
# via lm-eval
1037
+xgrammar==0.2.3
1038
+ # via
1039
+ # -c requirements/common.txt
1040
+ # -r requirements/test/../common.txt
1041
xxhash==3.6.0
1042
# via
1043
# datasets
tests/tool_parsers/test_structural_tag_registry.py
+29
-38
@@ -102,45 +102,36 @@ def test_get_model_structural_tag_supports_vllm_hermes(
102
)
103
104
assert isinstance(tag, StructuralTag)
105
- assert tag.model_dump() == {
106
- "type": "structural_tag",
107
- "format": {
108
- "type": "tags_with_separator",
109
- "tags": [
110
- {
111
- "type": "tag",
112
- "begin": '<tool_call>\n{"name": "get_weather", "arguments": ',
113
- "content": {
114
- "type": "json_schema",
115
- "json_schema": {
116
- "type": "object",
117
- "properties": {"city": {"type": "string"}},
118
- "required": ["city"],
119
- },
120
- "style": "json",
121
- },
122
- "end": "}\n</tool_call>",
123
- },
124
- {
125
- "type": "tag",
126
- "begin": '<tool_call>{"name": "get_weather", "arguments": ',
127
- "content": {
128
- "type": "json_schema",
129
- "json_schema": {
130
- "type": "object",
131
- "properties": {"city": {"type": "string"}},
132
- "required": ["city"],
133
- },
134
- "style": "json",
135
- },
136
- "end": "}</tool_call>",
137
- },
138
- ],
139
- "separator": "",
140
- "at_least_one": True,
141
- "stop_after_first": False,
142
- },
105
+
106
+ # Assert the semantically meaningful structure rather than the full
107
+ # model_dump(), which gains version-specific keys across xgrammar releases
108
+ # (e.g. "any_order" was added to json_schema content in 0.2.3).
109
+ dump = tag.model_dump()
110
+ assert dump["type"] == "structural_tag"
111
+
112
+ fmt = dump["format"]
113
+ assert fmt["type"] == "tags_with_separator"
114
+ assert fmt["separator"] == ""
115
+ assert fmt["at_least_one"] is True
116
+ assert fmt["stop_after_first"] is False
117
+
118
+ expected_schema = {
119
+ "type": "object",
120
+ "properties": {"city": {"type": "string"}},
121
+ "required": ["city"],
122
}
123
+ expected_tags = [
124
+ ('<tool_call>\n{"name": "get_weather", "arguments": ', "}\n</tool_call>"),
125
+ ('<tool_call>{"name": "get_weather", "arguments": ', "}</tool_call>"),
126
+ ]
127
+ assert len(fmt["tags"]) == len(expected_tags)
128
+ for tag_dump, (begin, end) in zip(fmt["tags"], expected_tags):
129
+ assert tag_dump["type"] == "tag"
130
+ assert tag_dump["begin"] == begin
131
+ assert tag_dump["end"] == end
132
+ content = tag_dump["content"]
133
+ assert content["type"] == "json_schema"
134
+ assert content["json_schema"] == expected_schema
135
136
137
def test_hermes_required_tool_calls_use_empty_separator():