Ë
    ÞXËhî  ã                   ó†   — 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«       y
)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     úO/var/www/html/myenv/lib/python3.12/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Ð6r   c                 óB   — ddl m}  || | j                  ¬«      | _        y)zStart the kernel.r   )ÚInProcessKernel)r   r   N)Úipykernel.inprocess.ipkernelr   r   Úkernel)r   Úkwdsr   s      r   Ústart_kernelz#InProcessKernelManager.start_kernel,   s   € å@á%¨T¸4¿<¹<ÔHˆr   c                 ó†   — | j                   r5| j                   j                  j                  «        | j                  «        yy)zShutdown the kernel.N)r   Úiopub_threadÚstopÚ_kill_kernelr   s    r   Úshutdown_kernelz&InProcessKernelManager.shutdown_kernel2   s0   € à;Š;ØK‰K×$Ñ$×)Ñ)Ô+Ø×ÑÕð r   c                 óH   — | j                  «         | j                  di |¤Ž y)zRestart the kernel.N© )r&   r!   )r   Únowr    s      r   Úrestart_kernelz%InProcessKernelManager.restart_kernel8   s!   € à×ÑÔØˆ×ÑÑ!˜DÓ!r   c                 ó   — | j                   d uS ©N©r   r   s    r   Ú
has_kernelz!InProcessKernelManager.has_kernel=   ó   € à{‰{ $Ð&Ð&r   c                 ó   — d | _         y 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                   |d<   t        ‰|   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ÑÜ‰w‰~Ñ' Ñ'Ð'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      s–   ø„ ññ ÐDÐQUÔV€Fá#Ð$WÓX€LáÐÓñ-ó ð-ñ
 ˆYÓñ7ó ð7òIò ó"ð
 ñ'ó ð'òò'ò
'ò
'÷(ð (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Ý 6Ý *ß 9Ñ 9å $ôG(˜]ô G(ð\ Ð × Ñ Ð0Õ 1r   