o
    ;i                     @   s  d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ d dl	Z
d dlmZ d dlmZ ddlmZ ddlmZ dd	lmZ d
dlmZmZmZ edddddZdddedededeeef dee ddfddZejddd					 	!			"d0d#ed$ed%ee d&ed'ed(ee d)ee d*ee defd+dZ ejd,d-d				.				"d1d#ed$ed%ee d'ed&ed)ee d*ee defd/d,Z!dS )2    N)Path)AnyOptional)Markdown)Typer   )_CliUserExecutionError)OutputManager)run_app   )	ImportRef_get_runnable_appimport_file_or_modulelaunchTmarkdownzA
    [Experimental] Open a serverless app instance on Modal.
    )nameno_args_is_helprich_markup_modehelp)descriptionr   filenamedetachargsr   returnc                C   s  t  tjjtd|  ddd t|t	j
d< tttjd | }d|  }tt|dd	|d
}|j}t|}	|	|rB|n| |jj}
t|
}t|	|d, z|r_t|
  n|
  W n tyw } ztt|
|d }~ww W d    d S 1 sw   Y  d S )Nu   ⚠️  `modal launch z3` is **experimental** and may change in the future.yellow)border_styleMODAL_LAUNCH_ARGSprogramszmodal launch F)use_module_mode)base_cmd)r   )r	   getprintrichpanelPanelr   jsondumpsosenvironstrr   __file__parentr   r   mainr   set_descriptioninforaw_finspectiscoroutinefunctionr
   asynciorun	Exceptionr   getsourcefile)r   r   r   r   r   program_pathr   module
entrypointappfuncisasyncexc r=   D/home/ubuntu/.local/lib/python3.10/site-packages/modal/cli/launch.py_launch_program   s6   

"r?   jupyterzStart Jupyter Lab on Modal.)r   r           ubuntu:22.043.11Fcpumemorygputimeoutimage
add_pythonmountvolumec	           
   	   C   sD   t  jtjdddd | |||||||d}	tdd||	 d S )Nz[link=https://modal.com/notebooks]Try Modal Notebooks! modal.com/notebooks[/link]
Notebooks have a new UI, saved content, real-time collaboration and more.Fz	bold cyan)	highlightstyle)rF   rG   rH   rI   rJ   rK   rL   rM   r@   zrun_jupyter.py)r	   r    r!   r"   r#   r$   r?   )
rF   rG   rH   rI   rJ   rK   rL   rM   r   r   r=   r=   r>   r@   =   s"   
vscodez"Start Visual Studio Code on Modal.	debian:12c           	      C   s&   | ||||||d}t dd|| d S )N)rF   rG   rH   rJ   rI   rL   rM   rP   z	vscode.py)r?   )	rF   rG   rH   rJ   rI   rL   rM   r   r   r=   r=   r>   rP   a   s   	)	rA   rB   NrC   rD   rE   NNF)rA   rB   NrQ   rC   NNF)"r2   r0   r%   r'   pathlibr   typingr   r   
rich.panelr"   rich.markdownr   typerr   	exceptionr   outputr	   runnerr
   import_refsr   r   r   
launch_clir)   booldictr?   commandintr@   rP   r=   r=   r=   r>   <module>   s   

!	#