
    Mh                         d 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
 ddlmZ  G d d	e          Z ej        e           d
S )z(A kernel manager for in-process kernels.    )KernelManager)KernelManagerABC)Session)DottedObjectNameInstancedefault   )INPROCESS_KEYc                        e Zd ZdZ edd          Z ed          Z ed          d             Z	 ed          d	             Z
d
 Zd ZddZed             Zd Zd Zd Zd Z fdZ xZS )InProcessKernelManagera*  A manager for an in-process kernel.

    This class implements the interface of
    `jupyter_client.kernelmanagerabc.KernelManagerABC` and allows
    (asynchronous) frontends to be used seamlessly with an in-process kernel.

    See `jupyter_client.kernelmanager.KernelManager` for docstrings.
    z,ipykernel.inprocess.ipkernel.InProcessKernelT)
allow_nonez1ipykernel.inprocess.BlockingInProcessKernelClientblocking_classc                     ddl m} |S )Nr	   )BlockingInProcessKernelClient)blockingr   )selfr   s     [/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ipykernel/inprocess/manager.py_default_blocking_classz.InProcessKernelManager._default_blocking_class   s    ;;;;;;,,    sessionc                 .    t          t          |           S )N)keyparent)r   r
   r   s    r   _default_sessionz'InProcessKernelManager._default_session#   s     =6666r   c                 @    ddl m}  || | j                  | _        dS )zStart the kernel.r   )InProcessKernel)r   r   N)ipykernel.inprocess.ipkernelr   r   kernel)r   kwdsr   s      r   start_kernelz#InProcessKernelManager.start_kernel,   s0    @@@@@@%oT4<HHHr   c                 |    | j         r4| j         j                                         |                                  dS dS )zShutdown the kernel.N)r   iopub_threadstop_kill_kernelr   s    r   shutdown_kernelz&InProcessKernelManager.shutdown_kernel2   sE    ; 	 K$))+++	  	 r   Fc                 H    |                                    | j        di | dS )zRestart the kernel.N )r&   r!   )r   nowr    s      r   restart_kernelz%InProcessKernelManager.restart_kernel8   s3    !!D!!!!!r   c                     | j         d uS Nr   r   s    r   
has_kernelz!InProcessKernelManager.has_kernel=       {$&&r   c                     d | _         d S r,   r-   r   s    r   r%   z#InProcessKernelManager._kill_kernelA   s    r   c                 $    d}t          |          )zInterrupt the kernel.z#Cannot interrupt in-process kernel.NotImplementedError)r   msgs     r   interrupt_kernelz'InProcessKernelManager.interrupt_kernelD   s    3!#&&&r   c                 $    d}t          |          )zSend a signal to the kernel.z Cannot signal in-process kernel.r2   )r   signumr4   s      r   signal_kernelz$InProcessKernelManager.signal_kernelI   s    0!#&&&r   c                     | j         duS )zTest if the kernel is alive.Nr-   r   s    r   is_alivezInProcessKernelManager.is_aliveN   r/   r   c                 J    | j         |d<    t                      j        di |S )zGet a client for the kernel.r   r(   )r   superclient)r   kwargs	__class__s     r   r=   zInProcessKernelManager.clientR   s+    ;xuww~'''''r   )F)__name__
__module____qualname____doc__r   r   r   client_classr   r   r   r!   r&   r*   propertyr.   r%   r5   r8   r:   r=   __classcell__)r?   s   @r   r   r      sB         XDQUVVVF##$WXXLW- - -
 WY7 7 7I I I     " " " "
 ' ' X'  ' ' '
' ' '
' ' '( ( ( ( ( ( ( ( (r   r   N)rC   jupyter_client.managerr   jupyter_client.managerabcr   jupyter_client.sessionr   	traitletsr   r   r   	constantsr
   r   registerr(   r   r   <module>rM      s    . .
 1 0 0 0 0 0 6 6 6 6 6 6 * * * * * * 9 9 9 9 9 9 9 9 9 9 $ $ $ $ $ $G( G( G( G( G(] G( G( G(\   0 1 1 1 1 1r   