o
    iP                     @  s   d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ d ddZ	d ddZ
d ddZd ddZd ddZd!ddZdZd"ddZd#ddZdS )$z
Wheel command-line utility.
    )annotationsN)ArgumentTypeError   )
WheelErrorargsargparse.NamespacereturnNonec                 C  s   ddl m } || j| j d S )N   )unpack)r   	wheelfiledest)r   r    r   N/home/ubuntu/vllm_env/lib/python3.10/site-packages/wheel/_commands/__init__.pyunpack_f      r   c                 C  "   ddl m } || j| j| j d S )Nr
   )pack)r   	directorydest_dirbuild_number)r   r   r   r   r   pack_f      r   c                 C  r   )Nr
   )convert)r   filesr   verbose)r   r   r   r   r   	convert_f   r   r   c                   s8   ddl m   fdd jD }|D ]}t| qd S )Nr
   )tagsc                 3  s,    | ]}| j  j j j jV  qd S N)
python_tagabi_tagplatform_tagbuildremove).0wheelr   r   r   r   	<genexpr>$   s    	
ztags_f.<locals>.<genexpr>)r   r%   print)r   namesnamer   r&   r   tags_f!   s   	
r+   c                 C  s   ddl m} td|  d S )Nr   )__version__zwheel ) r,   r(   )r   r,   r   r   r   	version_f4   r   r.   	build_tagstrc                 C  s,   | r| d   stdd| v rtd| S )Nr   z!build tag must begin with a digit-z$invalid character ('-') in build tag)isdigitr   )r/   r   r   r   parse_build_tag:   s
   r3   ay  Make a new wheel with given tags. Any tags unspecified will remain the same.
Starting the tags with a "+" will append to the existing tags. Starting with a
"-" will remove a tag (use --option=-TAG syntax). Multiple tags can be
separated by ".". The original file will remain unless --remove is given.  The
output filename(s) will be displayed on stdout for further processing.
argparse.ArgumentParserc                    s  t    jdd} | jddd}|jddddd	 |jd
dd |jtd | jddd}|jddd |jddtjj	dd |jddd |jt
d | jddd}|jdddd |jddtjj	dd |jdddd  |jtd | jd!d"td#}|jd$dd%d |jd&dd'd( |jd)d*d+d, |jd-d*d.d, |jd/d*d0d, |jd1td2d3d4 |jtd | jd5d6d}|jtd | jd7d8d}|j fd9d:d  S );Ncommands)helpr   zUnpack wheelz--destz-dzDestination directory.)r6   defaultr   z
Wheel file)funcr   zRepack wheelr   z$Root directory of the unpacked wheelz
--dest-dirz2Directory to store the wheel (default %(default)s))r8   r6   z--build-numberz"Build tag to use in the wheel namer   zConvert egg or wininst to wheelr   *zFiles to convert)nargsr6   z/Directory to store wheels (default %(default)s)z	--verbosez-v
store_true)actionr   z"Add or replace the tags on a wheel)r6   descriptionr%   zExisting wheel(s) to retagz--removez8Remove the original files, keeping only the renamed ones)r=   r6   z--python-tagTAGzSpecify an interpreter tag(s))metavarr6   z	--abi-tagzSpecify an ABI tag(s)z--platform-tagzSpecify a platform tag(s)z--buildBUILDzSpecify a build tag)typer@   r6   versionzPrint version and exitr6   zShow this helpc                   s      S r   )
print_help)r   pr   r   <lambda>   s    zparser.<locals>.<lambda>)argparseArgumentParseradd_subparsers
add_parseradd_argumentset_defaultsr   ospathcurdirr   r   	TAGS_HELPr3   r+   r.   )sunpack_parserrepack_parserconvert_parsertags_parserversion_parserhelp_parserr   rE   r   parserL   sn   rY   intc               
   C  sj   t  } |  }t|ds|   dS z|| W dS  ty4 } zt|tjd W Y d }~dS d }~ww )Nr9   r   )filer
   )	rY   
parse_argshasattrrD   r9   r   r(   sysstderr)rF   r   er   r   r   main   s   

ra   )r   r   r   r	   )r/   r0   r   r0   )r   r4   )r   rZ   )__doc__
__future__r   rH   rN   r^   r   r   r   r   r   r   r+   r.   r3   rQ   rY   ra   r   r   r   r   <module>   s     





	
	A