44def get_lines_from_file (file_path : Path ):
55 with open (file_path , "r" , encoding = "utf-8" ) as f :
66 lines = f .readlines ()
7- return [ file_path , set (line .strip () for line in lines )]
7+ return ( file_path , set (line .strip () for line in lines ))
88
99
10- def req_is_subset (req1 , req2 ):
10+ def req_is_subset (req1 : tuple [Path , set [str ]], req2 : tuple [Path , set [str ]], additional : set [str ] = set ()):
11+ if not additional .issubset (req1 [1 ]):
12+ print (f"Additional is not a subset of '{ req1 [0 ].name } '" )
13+ missing = additional - req1 [1 ]
14+ print (f"Missing lines in '{ req1 [0 ].name } ':" )
15+ for req in missing :
16+ print (f" { req } " )
17+ raise SystemExit (1 )
18+ req1 = (req1 [0 ], req1 [1 ] - additional )
19+
1120 if req1 [1 ].issubset (req2 [1 ]):
1221 print (f"Requirement '{ req1 [0 ].name } ' is subset of '{ req2 [0 ].name } '" )
1322 else :
@@ -26,6 +35,18 @@ def requirements_check():
2635 QNN_LLM_lines = get_lines_from_file (requirements_folder / "requirements-QNN_LLM.txt" )
2736 req_is_subset (WCR_INIT_lines , WCR_lines )
2837 req_is_subset (QNN_LLM_lines , WCR_lines )
38+ WCR_CUDA_lines = get_lines_from_file (requirements_folder / "requirements-WCR_CUDA.txt" )
39+ req_is_subset (
40+ WCR_CUDA_lines ,
41+ WCR_lines ,
42+ additional = {
43+ "--extra-index-url https://download.pytorch.org/whl/cu128" ,
44+ "# torch==2.7.0+cu128" ,
45+ "torch==2.7.0+cu128" ,
46+ "# torchvision==0.22.0+cu128" ,
47+ "torchvision==0.22.0+cu128" ,
48+ },
49+ )
2950
3051
3152if __name__ == "__main__" :
0 commit comments