
    Xh                         d Z ddl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 ddlmZmZ  ej$                  ded	
        G d de      Zd Zy# e$ r	 ddlmZ Y 9w xY w)z/Publishing native (typically pickled) objects.
    N)AnyCBytesDictInstance)Configurable)
json_clean)serialize_object)Sessionextract_headerDipykernel.datapub is deprecated. It has moved to ipyparallel.datapub   
stacklevelc                   f    e Zd ZdZ ed      xZZ eed      Z e	d      Z
 ei       Zd Zd Zy)ZMQDataPublisherzA zmq data publisher.s   datapubT)
allow_nonec                 $    t        |      | _        y)z%Set the parent for outbound messages.N)r   parent_header)selfparents     E/var/www/html/myenv/lib/python3.12/site-packages/ipykernel/datapub.py
set_parentzZMQDataPublisher.set_parent&   s    +F3    c                 *   | j                   }|J t        ||j                  |j                        }t	        t        t        |j                                           }|j                  | j                  d|| j                  || j                         y)zpublish a data_message on the IOPub channel

        Parameters
        ----------
        data : dict
            The data to be published. Think of it as a namespace.
        N)buffer_thresholditem_threshold)keysdata_message)contentr   buffersident)sessionr	   r   r   r   dictlistr   send
pub_socketr   topic)r   datar"   r    r   s        r   publish_datazZMQDataPublisher.publish_data*   s     ,,""""$55"11

 TtDIIK'89:OO%%** 	 	
r   N)__name__
__module____qualname____doc__r   r'   r   r
   r"   r   r&   r   r   r   r)    r   r   r   r      s=    :&&EEw40G%JHM4
r   r   c                     t        j                  dt        d       ddlm} |j                         j                  j                  |        y)zpublish a data_message on the IOPub channel

    Parameters
    ----------
    data : dict
        The data to be published. Think of it as a namespace.
    r   r   r   r   )ZMQInteractiveShellN)warningswarnDeprecationWarningipykernel.zmqshellr0   instancedata_pubr)   )r(   r0   s     r   r)   r)   D   s;     MMN 7  "++88>r   )r-   r1   	traitletsr   r   r   r   traitlets.configr   ipykernel.jsonutilr   ipyparallel.serializer	   ImportErroripykernel.serializejupyter_client.sessionr
   r   r2   r3   r   r)   r.   r   r   <module>r>      sf     1 1 ) )56
 ; J#
| #
L?g  545s   A A A 