11#!/usr/bin/env python3 
22
3- import  argparse 
43import  os 
54import  sys 
65from  pathlib  import  Path 
@@ -20,26 +19,24 @@ def _run() -> None:
2019    uv  =  os .fsdecode (uv_path )
2120    env  =  os .environ .copy ()
2221
23-     # TODO @aignas 2025-03-11: this does not work when we try to pass extra args via bazel run 
24-     # The best way is to do a template expansion. 
22+     params   =   Path ( sys . argv [ 1 ]) 
23+     sys_args   =   sys . argv [ 2 :] 
2524
26-     params  =  Path (f"{ sys .argv [0 ]}  .params.txt" )
27-     assert  params .exists (), f"{ params }   does not exist" 
28-     sys_args  =  params .read_text ().strip ().split ("\n " )
25+     uv_args  =  params .read_text ().strip ().split ("\n " )
2926
3027    # Let `uv` know that it was spawned by this Python interpreter 
3128    env ["UV_INTERNAL__PARENT_INTERPRETER" ] =  sys .executable 
3229    args  =  []
33-     src_out  =  sys_args [1 ] if  sys_args [0 ] ==  "--src-out"  else  None 
30+     src_out  =  uv_args [1 ] if  uv_args [0 ] ==  "--src-out"  else  None 
3431    if  src_out :
35-         sys_args  =  sys_args [2 :]
32+         uv_args  =  uv_args [2 :]
3633
37-     if  sys_args [0 ] !=  "--output-file" :
34+     if  uv_args [0 ] !=  "--output-file" :
3835        raise  ValueError (
39-             f"The first arg should be to declare the output file, got:\n { sys_args }  " 
36+             f"The first arg should be to declare the output file, got:\n { uv_args }  " 
4037        )
4138    else :
42-         out  =  sys_args [1 ]
39+         out  =  uv_args [1 ]
4340
4441    # this is set under bazel run 
4542    workspace  =  env .get ("BUILD_WORKSPACE_DIRECTORY" )
@@ -51,9 +48,11 @@ def _run() -> None:
5148        import  shutil 
5249
5350        shutil .copy (src , dst )
54-     sys_args [1 ] =  str (dst )
51+     uv_args [1 ] =  str (dst )
5552
56-     uv_args  =  ["pip" , "compile" ] +  args  +  sys_args  +  uv_args 
53+     args  +=  uv_args  +  sys_args 
54+     uv_args  =  ["pip" , "compile" ] +  args 
55+     print ("Running 'uv pip compile' with args:\n \t {}" .format ("\n \t " .join (args )))
5756
5857    if  sys .platform  ==  "win32" :
5958        import  subprocess 
0 commit comments