ó
Û¤[c           @   s‰   d  Z  d d l m Z m Z m Z d d l m Z d d l m Z d d l	 m
 Z
 d d l m Z d e f d	 „  ƒ  YZ e j e ƒ d
 S(   s(   A kernel manager for in-process kernels.iÿÿÿÿ(   t   Instancet   DottedObjectNamet   default(   t   KernelManagerABC(   t   KernelManager(   t   Sessioni   (   t   INPROCESS_KEYt   InProcessKernelManagerc           B   s°   e  Z d  Z e d d e ƒZ e d ƒ Z e d ƒ d „  ƒ Z	 e d ƒ d „  ƒ Z
 d „  Z d	 „  Z e d
 „ Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s*  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.
    s,   ipykernel.inprocess.ipkernel.InProcessKernelt
   allow_nones1   ipykernel.inprocess.BlockingInProcessKernelClientt   blocking_classc         C   s   d d l  m } | S(   Ni   (   t   BlockingInProcessKernelClient(   t   blockingR
   (   t   selfR
   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   _default_blocking_class   s    t   sessionc         C   s   t  d t d |  ƒ S(   Nt   keyt   parent(   R   R   (   R   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   _default_session#   s    c         K   s/   d d l  m } | d |  d |  j ƒ |  _ d  S(   Niÿÿÿÿ(   t   InProcessKernelR   R   (   t   ipykernel.inprocess.ipkernelR   R   t   kernel(   R   t   kwdsR   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   start_kernel,   s    c         C   s   |  j  j j ƒ  |  j ƒ  d  S(   N(   R   t   iopub_threadt   stopt   _kill_kernel(   R   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   shutdown_kernel0   s    c         K   s   |  j  ƒ  |  j |   d  S(   N(   R   R   (   R   t   nowR   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   restart_kernel4   s    
c         C   s   |  j  d  k	 S(   N(   R   t   None(   R   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt
   has_kernel8   s    c         C   s   d  |  _ d  S(   N(   R   R   (   R   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyR   <   s    c         C   s   t  d ƒ ‚ d  S(   Ns#   Cannot interrupt in-process kernel.(   t   NotImplementedError(   R   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   interrupt_kernel?   s    c         C   s   t  d ƒ ‚ d  S(   Ns    Cannot signal in-process kernel.(   R   (   R   t   signum(    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   signal_kernelB   s    c         C   s   |  j  d  k	 S(   N(   R   R   (   R   (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   is_aliveE   s    c         K   s#   |  j  | d <t t |  ƒ j |   S(   NR   (   R   t   superR   t   client(   R   t   kwargs(    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyR%   H   s    (   t   __name__t
   __module__t   __doc__R    t   TrueR   R   t   client_classR   R   R   R   R   t   FalseR   t   propertyR   R   R    R"   R#   R%   (    (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyR      s   									N(   R)   t	   traitletsR    R   R   t   jupyter_client.managerabcR   t   jupyter_client.managerR   t   jupyter_client.sessionR   t	   constantsR   R   t   register(    (    (    s:   lib/python2.7/site-packages/ipykernel/inprocess/manager.pyt   <module>   s   C