B
    U[                 @   s   d Z ddlZede ddlmZ ddlmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZmZ G d	d
 d
eZdd ZdS )z/Publishing native (typically pickled) objects.
    NzDipykernel.datapub is deprecated. It has moved to ipyparallel.datapub)Configurable)InstanceDictCBytesAny)
json_clean)serialize_object)Sessionextract_headerc               @   sF   e Zd Zed ZZeeddZeddZ	e
i Zdd Zdd ZdS )	ZMQDataPublishers   datapubT)Z
allow_nonec             C   s   t || _dS )z%Set the parent for outbound messages.N)r
   parent_header)selfparent r   0lib/python3.7/site-packages/ipykernel/datapub.py
set_parent   s    zZMQDataPublisher.set_parentc             C   sN   | j }t||j|jd}ttt| d}|j| j	d|| j
|| jd dS )zpublish a data_message on the IOPub channel

        Parameters
        ----------

        data : dict
            The data to be published. Think of it as a namespace.
        )buffer_thresholditem_threshold)keysZdata_message)contentr   buffersZidentN)sessionr   r   r   r   dictlistr   send
pub_socketr   topic)r   datar   r   r   r   r   r   publish_data   s    	
zZMQDataPublisher.publish_dataN)__name__
__module____qualname__r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r      s   
r   c             C   s,   t dt ddlm} | j|  dS )zpublish a data_message on the IOPub channel

    Parameters
    ----------

    data : dict
        The data to be published. Think of it as a namespace.
    zDipykernel.datapub is deprecated. It has moved to ipyparallel.datapubr   )ZMQInteractiveShellN)warningswarnDeprecationWarningZipykernel.zmqshellr"   instanceZdata_pubr   )r   r"   r   r   r   r   2   s    	r   )__doc__r#   r$   r%   Ztraitlets.configr   Z	traitletsr   r   r   r   Zipykernel.jsonutilr   Zipykernel.serializer   Zjupyter_client.sessionr	   r
   r   r   r   r   r   r   <module>   s   !