class_docstr: A client for debugpy.
class_docstr_tok: ["A","client","for","debugpy","."]
code: def _send_request(self, msg):
      if self.routing_id is None:
          self.routing_id = self.debugpy_stream.socket.getsockopt(
              ROUTING_ID
          )
      content = jsonapi.dumps(
          msg,
          default=json_default,
          ensure_ascii=False,
          allow_nan=False,
      )
      content_length = str(len(content))
      buf = (
          DebugpyMessageQueue.HEADER
          + content_length
          + DebugpyMessageQueue.SEPARATOR
      ).encode("ascii")
      buf += content
      self.log.debug("DEBUGPYCLIENT:")
      self.log.debug(self.routing_id)
      self.log.debug(buf)
      self.debugpy_stream.send_multipart((self.routing_id, buf))
  
imports: import os
  import re
  import sys
  import typing
  from pathlib import Path
  import zmq
  from IPython.core.getipython import get_ipython
  from IPython.core.inputtransformer2 import leading_empty_lines
  from tornado.locks import Event
  from tornado.queues import Queue
  from zmq.utils import jsonapi
  from .compiler import get_file_name, get_tmp_directory, get_tmp_hash_seed
label_desc: Use image node_id 4 for calling the DebugpyClient obj's underlying member method code with example usage: obj._send_request(msg) without return types